zoukankan      html  css  js  c++  java
  • LoaderManager使用详解(四)---实例:AppListLoader

    实例:AppListLoader

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

    四:实例: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有关的文章,请一定要让我知道,独乐乐不如众乐乐。
  • 相关阅读:
    HashCode的作用
    为什么重写equals一定要重写hashcode?
    java timer 定时器原理
    java内部类作用
    jeesite添加多数据源
    Eclipse之安装Jadclipse插件直接查看class文件
    NIO和IO的主要区别
    sql 语句
    HTTP Error 500.0
    基于.NetCore3.1系列 ——认证授权方案之Swagger加锁
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4378916.html
Copyright © 2011-2022 走看看