LoaderManager使用详解(四)---实例:AppListLoader
2015-10-31 13:44
183 查看
实例:AppListLoader
这篇文章将是我的第四篇,也就是最后一篇该系列的文章。请在评论里面告诉我他们是否有用。前面几篇文章的链接如下:
一:Loaders之前世界
二:了解LoaderManager
三:实现Loaders
四:实例:AppListLoader
应大众的要求,我已经写了一个示例应用演示如何正确的实现一个自定义Loader。应用名称为:AppListLoader,它是一个演示应用,可以查询并列出你的Android设备上所有已安装的应用程序。应用已经修改,重新构建(没有bug)了API Demos里面提供的LoaderCustom.java例子。该应用使用AppListLoader(AsyncTaskLoader的子类)来查询数据,使用LoaderManager来管理Activity/Fragment声明周期中Loader的内容。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201510/f71588919188d8879c55ecef013e042b.png)
AppListLoader注册了两个BroadcastReceiver用来监听系统范围内的会影响底层数据源的广播(译者注:应用的安装和卸载都会发送广播,而这两个操作都会影响我们需要监听的数据源,所以这句话是这个意思,翻译起来好麻烦)。新安装、更新、移除应用由InstalledAppObserver来负责监听。本地化改变(locale changed)由SystemLocaleObserver负责监听。例如,当用户将语言从英语改为西班牙语,SystemLocaleObserver就会检测到,并通知AppListLoader重新查询数据,这样程序就能够显示每个应用的西班牙语名称了(如果每个应用都提供了对应的西班牙语名称)。点击“Change language”按钮,然后观察Loader的对于该事件的无缝响应(很酷,不是吗!!)。
当Loader/LoaderManager有关的事件发生时,Log信息会在Logcat中显示出来。所以当分析Logcat时,记得确保程序正在运行。希望它对你更好的了解Loader和LoaderManager协同工作关系,并且理解Activity/Fragment生命周期对它们的影响。可以使用应用名称“com.adp.loadercustom”来过滤,以得到更好的结果。
![](http://img.my.csdn.net/uploads/201406/27/1403863201_2734.png)
可以通过点击下面的链接从Google Play下载该应用:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201510/2ba3ca6a55d850b44378ba577eb98321.png)
源代码在GitHub上面可用。下载,导入到Eclipse里面去,做任何你想做的修改。
转载:http://blog.csdn.net/murphykwu/article/details/35288753
这篇文章将是我的第四篇,也就是最后一篇该系列的文章。请在评论里面告诉我他们是否有用。前面几篇文章的链接如下:
一:Loaders之前世界
二:了解LoaderManager
三:实现Loaders
四:实例:AppListLoader
应大众的要求,我已经写了一个示例应用演示如何正确的实现一个自定义Loader。应用名称为:AppListLoader,它是一个演示应用,可以查询并列出你的Android设备上所有已安装的应用程序。应用已经修改,重新构建(没有bug)了API Demos里面提供的LoaderCustom.java例子。该应用使用AppListLoader(AsyncTaskLoader的子类)来查询数据,使用LoaderManager来管理Activity/Fragment声明周期中Loader的内容。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201510/f71588919188d8879c55ecef013e042b.png)
AppListLoader注册了两个BroadcastReceiver用来监听系统范围内的会影响底层数据源的广播(译者注:应用的安装和卸载都会发送广播,而这两个操作都会影响我们需要监听的数据源,所以这句话是这个意思,翻译起来好麻烦)。新安装、更新、移除应用由InstalledAppObserver来负责监听。本地化改变(locale changed)由SystemLocaleObserver负责监听。例如,当用户将语言从英语改为西班牙语,SystemLocaleObserver就会检测到,并通知AppListLoader重新查询数据,这样程序就能够显示每个应用的西班牙语名称了(如果每个应用都提供了对应的西班牙语名称)。点击“Change language”按钮,然后观察Loader的对于该事件的无缝响应(很酷,不是吗!!)。
当Loader/LoaderManager有关的事件发生时,Log信息会在Logcat中显示出来。所以当分析Logcat时,记得确保程序正在运行。希望它对你更好的了解Loader和LoaderManager协同工作关系,并且理解Activity/Fragment生命周期对它们的影响。可以使用应用名称“com.adp.loadercustom”来过滤,以得到更好的结果。
![](http://img.my.csdn.net/uploads/201406/27/1403863201_2734.png)
可以通过点击下面的链接从Google Play下载该应用:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201510/2ba3ca6a55d850b44378ba577eb98321.png)
源代码在GitHub上面可用。下载,导入到Eclipse里面去,做任何你想做的修改。
转载:http://blog.csdn.net/murphykwu/article/details/35288753
相关文章推荐
- Android中listview条目中按钮点击事件的实现
- Android中的适配器
- android-historian
- Android仿微信通通讯录
- unity3d 获取系统硬件信息
- cocos2dx 苹果5分辨率 适配错误
- Android大牛博客地址集合
- cocos2d-x-3.4 无法打开包含文件extensions/ExtensionExport.h
- Android的webview加载本地html、本apk内html和远程URL
- @*android 引用
- android--(动画2_属性动画)
- 错误记录 1
- Android编程学习之抽象类AbsListView用法实例分析
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- 学习Android Studio里的Gradle
- Android 亮度调节
- [置顶] vs 2015 编译cocos2dx 报错
- Android触摸事件分发机制
- Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库
- Android 性能优化