android踩坑日记1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android踩坑日记1相关的知识,希望对你有一定的参考价值。

android四大组件-活动、服务、广播、碎片

情况一

应用场景:定时从服务器获取数据,然后活动或者碎片中根据最新获得的数据,更新UI。

思考: 首先定时,想到定时器,推荐使用系统自带的AlertManager,而它需要启动一个pendingIntent,所以想到将它放在一个服务中,然后定时启动服务,其次,要从服务器获取数据,不可以在主线程中进行,所以需要异步加载,想到AsynTask,再接着考虑,活动或者碎片要根据最新的数据进行UI更新,那么如何进行更新呐?这里想到广播,前边通过定时器固定时间启动服务,那么在启动服务的时候,我们可以发送一条广播,推荐本地广播,然后新建一个类,对广播进行监听,当并且这个类需要实现一个接口,当监听到广播时,调用这个方法,最后在活动或者碎片中,启动服务,绑定广播,并实现前边接口的方法。

总结:Service、BroadcastReceiver、AlertManager、IListener

完善:运行后会出现俩个问题,一个是因为AlertManager是属于系统的,所以会出现,当我们解除广播绑定,并停止服务后,在固定的时间内,AlertManager再次启动服务,为了解决这个问题,可以新建一个单例类,Alert用于管理AlertManager需要的pendingIntent实例和AlertManager实例,然后在停止服务的地方,掉用AlertManager的cancel方法停止定时任务。

以上是关于android踩坑日记1的主要内容,如果未能解决你的问题,请参考以下文章

Android踩坑日记:android7.0动态相机权限

Android踩坑日记:android7.0动态相机权限

Android踩坑日记:FloatingActionButton的设置大小问题

Android踩坑日记:FloatingActionButton的设置大小问题

Android踩坑日记:自定义水平和圆形ProgressBar样式

Android踩坑日记:Android字体属性及测量(FontMetrics)