Android 端03:小程序自定义启动加载页| 学习笔记

简介: 快速学习 Android 端03:小程序自定义启动加载页。

开发者学堂课程【mPaaS 小程序开发实战 - 教你如何独立运行小程序 :Android 端03:小程序自定义启动加载页】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/741/detail/13129


Android 端03:小程序自定义启动加载页

 

小程序启动加载页,小程序是将远端的小程序包下载到本地,在下载过程中,会有一个 loading 的交互动画,目前官方提供了默认的动画,但是它是支持由开发者自定义的。

1、实现自定义加载页

对于 Android 小程序,mPaaS 支持开发者自定义加载页内容,可按照以下步骤进行配置:

实现 MPTinyBaseIntermediateLoadingView 类,该类实现的 View 会被插入到加载页所在的 Activity 中,接入方只需处理页面展示即可。

从官方 Demo 中拷贝 MPTinyBaseIntermediateLoadingView 类,准备一个空的小程序 Demo,

可以看到是继承 MPTinyBaseIntermediateLoadingView 类,其中有两个回调可以自己处理,一个是 update,从远端拉到小程序包的时候,可以对页面进行一些设置,当然也可以不设置,这里把 textview 设置了小程序的名字;

第二是 onError 的时候,要对页面进行设置,缺少一个 layout 信息,把 layout 拷贝过来,可以看到 layout 里其实就是一个 AUTitleBar,一个 View 里面会有 TextView 和 ProgressBar,

MPTinyBaseIntermediateLoadingView 类就生成好了。

image.png

2.在小程序启动前,例如应用初始化时,开启自定义配置,代码示例如下:

MPTinyHelper.getInstance().setLoadingViewClass(TinyStartupLoadingView.class);

需要将 MPTinyBaseIntermediateLoadingView 类设置给小程序,在 onPostInit 中设置,现在已经设置了自定义页面了,添加一下参数 Bundle,这样让 APP 每次都远端拉包,方便查看我们设置的内容。例如:

Bundle bundle = new Bundle();

//注意∶该参数会强制请求远端小程序最新版本,会有一个等待过程,这个等待过程就是自定义启动页

Bundle.putString( "nbupdate", "synctry") ;

加上这些参数,每次都会从远端拉包,bundle 放到启动参数后,进行编译,当点击启动一个小程序时,就会有自定义的页面,这样就加载小程序了。这就是自定义的小程序加载页。

3.如果在自定义加载页中需要对其宿主的 Activity 操作

例如中断加载过程返回至上一页,可以通过基类方法 getLoadingActivity() 获取宿主 Activity。需注意进行判空处理。

相关文章
|
23天前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
51 1
|
1月前
|
JSON 小程序 数据格式
【微信小程序】-- 自定义组件总结 (四十)
【微信小程序】-- 自定义组件总结 (四十)
|
1月前
|
小程序 JavaScript
【微信小程序】-- 自定义组件 - behaviors(三十九)
【微信小程序】-- 自定义组件 - behaviors(三十九)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
|
1月前
|
小程序
【微信小程序】-- 自定义组件 - 纯数据字段 & 组件的生命周期(三十六)
【微信小程序】-- 自定义组件 - 纯数据字段 & 组件的生命周期(三十六)
|
17天前
|
小程序 JavaScript
【微信小程序】之自定义三宫格一行展示row-grid(简单数据看板)
【微信小程序】之自定义三宫格一行展示row-grid(简单数据看板)
|
2天前
|
移动开发 Java Unix
Android系统 自动加载自定义JAR文件
Android系统 自动加载自定义JAR文件
19 1
|
2天前
|
Shell Android开发 开发者
Android系统 自定义动态修改init.custom.rc
Android系统 自定义动态修改init.custom.rc
20 0
|
2天前
|
存储 安全 Android开发
Android系统 自定义系统和应用权限
Android系统 自定义系统和应用权限
16 0
|
3天前
|
Android开发
Android Mediatek NVRAM 加载 MAC 地址并禁用 MAC 地址更新
Android Mediatek NVRAM 加载 MAC 地址并禁用 MAC 地址更新
6 0

热门文章

最新文章