组件化封装思想实战Android App总结八首页MineFragment开发与测试

241 篇文章 5 订阅

一、前期准备

1、主要完成的功能

①点击登录跳转到视频登录界面

②点击视频设置,跳转到视频设置界面

③分享功能

④生成二维码

⑤版本更新

2、思路点拨

①如何实现用户信息管理?

一种是将用户信息存在application里面,但其实这种方式并不好,因为application是需要初始化很多东西的,尤其是很多第三方组件,在application创建的时候就回去初始化很多第三方sdk,如果再把用户信息也堆进去,那么这个类就复杂了,所以不应该将用户信息保存到application中。那么用户信息应该放在哪里呢?application对象就是一个全局单例对象,那么我们能不能自己创建一个用户信息管理的单例对象?用这个对象保存用户信息以及删除用户信息等等。这样是可以的。

②如何将信息生成二维码?

前面讲解了通过zxing去扫描二维码,同时zxing也可以生成二维码,只需要调用zxing相应的方法就可以。

③版本更新原理是什么?

版本更新的原理就是文件的下载,而下载的这个文件就是对应的apk。下载完以后调用Android的安装程序,将apk安装到手机上,替换当前的版本即可。

 

3、相关知识

 

①局部广播LocalBroadcast是在api14以后提出来的一个类,它放在support包中,主要用来替代应用内的全局广播的使用。

②sharedpreference:整个应用的配置文件

 

二、视频播放设置流程

1、

2、创建设置类并初始化相应的组件

3、sharedpreference封装

①单例模式获取实例

 

这里的application用的是ImoocApplication.getInstance()而不是具体的activity。实际开发中,能用application作为context的绝不用具体的activity或者service等等,这样可以极大地减少内存泄漏的风险。

 

②提供get、set方法

 

三、视频播放设置功能开发

初始化对应控件,点击按钮后,保存到sharedpreference,修改CheckBox的状态更新界面

 

四、自动更新

1、

 

2、

 

 

3、更新组件

 

service执行完onCreate()方法后会执行onStartCommand()方法,在onStartCommand()方法中会启动下载器startDownload()

 

 

notification中使用的NotificationCompat这个兼容包,它会根据不同版本自动完成适配

 

下载完成后,完成安装

 

在下载的时候主要将下载的url和下载的地址封装到request中,请求就是一个runnable,并将请求添加到线程池中。就是一个下载为什么要添加到线程池中呢?这里主要使用线程池对线程生命周期管理的优势。用线程会减少僵尸线程的出现。

 

五、登录及用户信息管理开发流程

1、

 

2、

创建activity并初始化控件

 

设置点击事件

 

发送登录请求成功后拿到用户信息,然后保存

 

 

发送登录广播

 

 

注:局部广播

其实就是一个普通的广播,和基本的广播使用方式类似

 

 

3、接收广播,处理登录成功的请求

 

 

六、创建二维码

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值