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。需注意进行判空处理。

相关文章
|
5月前
|
Java Android开发
Android面试题经典之Glide取消加载以及线程池优化
Glide通过生命周期管理在`onStop`时暂停请求,`onDestroy`时取消请求,减少资源浪费。在`EngineJob`和`DecodeJob`中使用`cancel`方法标记任务并中断数据获取。当网络请求被取消时,`HttpUrlFetcher`的`cancel`方法设置标志,之后的数据获取会返回`null`,中断加载流程。Glide还使用定制的线程池,如AnimationExecutor、diskCacheExecutor、sourceExecutor和newUnlimitedSourceExecutor,其中某些禁止网络访问,并根据CPU核心数动态调整线程数。
146 2
|
2月前
|
Android开发 UED
Android 中加载 Gif 动画
【10月更文挑战第20天】加载 Gif 动画是 Android 开发中的一项重要技能。通过使用第三方库或自定义实现,可以方便地在应用中展示生动的 Gif 动画。在实际应用中,需要根据具体情况进行合理选择和优化,以确保用户体验和性能的平衡。可以通过不断的实践和探索,进一步掌握在 Android 中加载 Gif 动画的技巧和方法,为开发高质量的 Android 应用提供支持。
|
2月前
|
小程序
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
474 1
|
2月前
|
小程序 搜索推荐 API
微信小程序:自定义关注公众号组件样式
尽管关注公众号组件的样式固定且不可修改,但产品经理的需求却需要个性化的定制。在这种情况下,我们需要寻找解决方案,以满足这些特殊需求,尽管这可能有点棘手。
65 0
微信小程序:自定义关注公众号组件样式
|
5月前
|
小程序 开发者
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)
59 0
|
2月前
|
缓存 小程序 UED
如何利用小程序的生命周期函数实现数据的加载和更新?
如何利用小程序的生命周期函数实现数据的加载和更新?
70 4
|
4月前
|
小程序 开发者
Taro@3.x+Vue@3.x+TS开发微信小程序,使用自定义tabBar
本文介绍了如何在Taro项目中实现自定义tabBar。首先,在`app.config.ts`中设置`custom: true`并配置`tabBar`。
139 0
Taro@3.x+Vue@3.x+TS开发微信小程序,使用自定义tabBar
|
4月前
|
监控 小程序 数据处理
揭秘支付宝小程序性能优化秘籍:从加载到运行,每一步都快人一步!
【8月更文挑战第27天】本文深入探讨了支付宝小程序性能优化的关键技术和策略,包括减少网络请求、利用CDN加速、代码按需加载、图片压缩、懒加载以及性能监控等多方面内容,并提供了实用的示例代码,帮助开发者显著提升小程序的加载速度与运行效率,创造更佳用户体验。
83 1
|
4月前
|
存储 缓存 Java
Android项目架构设计问题之优化业务接口数据的加载效率如何解决
Android项目架构设计问题之优化业务接口数据的加载效率如何解决
47 0
|
4月前
|
Java Android开发 Kotlin
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
38 0