LoaderManager使用详解(四)---实例:AppListLoader

本文转自


实例:AppListLoader

这篇文章将是我的第四篇,也就是最后一篇该系列的文章。请在评论里面告诉我他们是否有用。前面几篇文章的链接如下:

三: 实现Loaders
四:实例:AppListLoader

应大众的要求,我已经写了一个示例应用演示如何正确的实现一个自定义Loader。应用名称为:AppListLoader,它是一个演示应用,可以查询并列出你的Android设备上所有已安装的应用程序。应用已经修改,重新构建(没有bug)了API Demos里面提供的LoaderCustom.java例子。该应用使用AppListLoader(AsyncTaskLoader的子类)来查询数据,使用LoaderManager来管理Activity/Fragment声明周期中Loader的内容。


AppListLoader注册了两个BroadcastReceiver用来监听系统范围内的会影响底层数据源的广播(译者注:应用的安装和卸载都会发送广播,而这两个操作都会影响我们需要监听的数据源,所以这句话是这个意思,翻译起来好麻烦)。新安装、更新、移除应用由InstalledAppObserver来负责监听。本地化改变(locale changed)由SystemLocaleObserver负责监听。例如,当用户将语言从英语改为西班牙语,SystemLocaleObserver就会检测到,并通知AppListLoader重新查询数据,这样程序就能够显示每个应用的西班牙语名称了(如果每个应用都提供了对应的西班牙语名称)。点击“Change language”按钮,然后观察Loader的对于该事件的无缝响应(很酷,不是吗!!)。

当Loader/LoaderManager有关的事件发生时,Log信息会在Logcat中显示出来。所以当分析Logcat时,记得确保程序正在运行。希望它对你更好的了解Loader和LoaderManager协同工作关系,并且理解Activity/Fragment生命周期对它们的影响。可以使用应用名称“com.adp.loadercustom”来过滤,以得到更好的结果。



可以通过点击下面的链接从Google Play下载该应用:


源代码在GitHub上面可用。下载,导入到Eclipse里面去,做任何你想做的修改。

如果这一系列文章有用,请在下面留下你的评论让我知道。一如既往的,请自由提问。

译者注:
两天零碎的时间翻译了四篇文章,收获很大,同时感觉Loader和LoaderManager并不是想象的那么难。文章的质量很高,如果有朋友知道更好的Android有关的文章,请一定要让我知道,独乐乐不如众乐乐。

APICloud AppLoader APICloud AppLoaderv1.2.18更新日志 模块新增: 1.waterBallProgress 概述:水球波浪加载指示器模块(来自个人模块开发者) 2.duibaSales 概述:兑吧商城模块(来自个人模块开发者) 3.yunnex 概述:掌贝POS硬件调用对接SDK(来自个人模块开发者) 4.sunmiPrinter 概述:商米打印模块,支持商米主推的智能商用硬件V1(来自个人模块开发者) 5.toBackground 概述:可用于Android App一键进入后台运行模块(来自个人模块开发者) 6.realNetwork 概述:检测手机是否能真正上网,避免手机接入“伪链接”(来自个人模块开发者) 模块优化: 1.UIMultiSelector 模块open接口添加 maskClose 参数,自定义点击遮罩层是否关闭选择器功能,回调函数内 添加clickMask事件(用户点击遮罩层事件) 2.UIMultiSelector模块开源源码更新:地址:https://github.com/apicloudcom/UIMultiSelector 3.ble 模块开源源码更新,地址:https://github.com/apicloudcom/ble 4.ble模块添加getPeripheralRssi接口,获取指定设备的rssi值 5.UIPullRefreshMotive、UIPullRefreshFlash、pullRefreshLoop、UIPullRefresh、UIPullRefreshDrop下拉刷新模块在iOS平台更新与页面弹动冲突问题 6.aMap模块在iOS平台上更新原生SDK 为当前最新版本,getLocation接口回调里添加 altitude参数,支持返回海拔信息 7.aMap模块开源源码更新:地址:https://github.com/apicloudcom/aMap 8.aMapLBS 模块在 iOS 平台上更新原生 SDK 为高德当前发布最新版本,支持返回海拔信息 9.aMapReportLocation 模块在 iOS 平台上更新原生 SDK 为高德当前发布最新版本,支持返回海拔信息 10.aMapNavigation模块在 iOS 平台上跟新原生 SDK 为高德当前发布最新版本 11.miniQuPai 模块修复在iOS 平台上横屏时录制界面布局异常问题 12.polyvVideo 在iOS平台上添加setPlayerFrame接口,用于设置播放器的frame值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值