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”button,然后观察Loader的对于该事件的无缝响应(非常酷,不是吗。!

    )。


    当Loader/LoaderManager有关的事件发生时,Log信息会在Logcat中显示出来。所以当分析Logcat时,记得确保程序正在执行。

    希望它对你更好的了解Loader和LoaderManager协同工作关系,而且理解Activity/Fragment生命周期对它们的影响。

    能够使用应用名称“com.adp.loadercustom”来过滤,以得到更好的结果。




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


    源码在GitHub上面可用。下载。导入到Eclipse里面去。做不论什么你想做的改动。


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

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

  • 相关阅读:
    【SignalR学习系列】3. SignalR实时高刷新率程序
    【SignalR学习系列】4. SignalR广播程序
    【SignalR学习系列】5. SignalR WPF程序
    python gb2312 转换为 utf-8
    爬虫 需要什么样的 CPU,内存 和带宽
    TypeError: sequence item 0: expected string, Tag found
    MySQL 数据的 截取,数据清洗
    MySQL (1366, "Incorrect string value: '\xF0\x9F\x8E\xAC\xE5\x89...' for column 'description' at row 1")
    微博爬虫 ----- 微博发布时间清洗
    ReferenceError: weakly-referenced object no longer exists Python kafka
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7183285.html
Copyright © 2011-2022 走看看