android踩坑日记1
Android四大組件-活動、服務、廣播、碎片
情況一
應用場景:定時從服務器獲取數據,然后活動或者碎片中根據最新獲得的數據,更新UI。
思考: 首先定時,想到定時器,推薦使用系統自帶的AlertManager,而它需要啟動一個pendingIntent,所以想到將它放在一個服務中,然后定時啟動服務,其次,要從服務器獲取數據,不可以在主線程中進行,所以需要異步加載,想到AsynTask,再接著考慮,活動或者碎片要根據最新的數據進行UI更新,那么如何進行更新吶?這里想到廣播,前邊通過定時器固定時間啟動服務,那么在啟動服務的時候,我們可以發送一條廣播,推薦本地廣播,然后新建一個類,對廣播進行監聽,當并且這個類需要實現一個接口,當監聽到廣播時,調用這個方法,最后在活動或者碎片中,啟動服務,綁定廣播,并實現前邊接口的方法。
總結:Service、BroadcastReceiver、AlertManager、IListener
完善:運行后會出現倆個問題,一個是因為AlertManager是屬于系統的,所以會出現,當我們解除廣播綁定,并停止服務后,在固定的時間內,AlertManager再次啟動服務,為了解決這個問題,可以新建一個單例類,Alert用于管理AlertManager需要的pendingIntent實例和AlertManager實例,然后在停止服務的地方,掉用AlertManager的cancel方法停止定時任務。
轉載于:https://www.cnblogs.com/DaiLeGeMeng/p/7429353.html
總結
以上是生活随笔為你收集整理的android踩坑日记1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hive优化策略
- 下一篇: HashMap之扰动函数和低位掩码