【问题标题】:Is it possible to create a live folder with out a sql connection? (android api)是否可以在没有 sql 连接的情况下创建活动文件夹? (安卓API)
【发布时间】:2011-09-13 17:30:20
【问题描述】:

我一直在阅读http://developer.android.com/resources/articles/live-folders.htmlhttp://developer.android.com/reference/android/provider/LiveFolders.htmlhttps://android.googlesource.com/platform/packages/apps/Contacts/+/donut-release/src/com/android/contacts/ContactsLiveFolders.java

但我想将我的应用程序(这是一个列表视图)扩展到一个活动文件夹。这将是一个不错的选择。如何使用我的 listadapter 作为光标?这可能吗?除此之外,我如何设置我的 Listadapter 提供的类似 getView?是我的 listadapter 继承的 Baseadapter,能够成为 livefolder 需要的游标吗?

【问题讨论】:

  • 如果您想得到帮助,请考虑接受人们给您的一些答案。
  • 好的,我回去接受了。我不知道你必须这样做。
  • 没有 sql ?嗯,你在哪里存储数据?
  • 数据当前存储在内存中

标签: android android-livefolders


【解决方案1】:

是的,这是可能的。但是你需要一个 ContentProvider。虽然 ContentProvider 通常由一些 sql 数据库支持,但这不是必需的。您可以从任何来源获取 ContentProvider 的 query() 方法中的数据,只要将其作为光标返回即可。如果您没有数据库游标,则可以将数据包装在 MatrixCursor 中并返回 MatrixCursor。 我有这样一个 query() 方法的实现,它通过返回一个 MatrixCursor 来工作。

ContentProvider 需要由数据库查询备份是一个常见的误解。 最好将 ContentProvider 理解为一个契约,它指定了 4 种不同的 (CRUD) 方法,它们接受某些类型的参数并返回某些类型。

此外,您可以在这 4 种方法中进行不同的查询,并根据 Uri 进行切换。

只要您遵守 ContentProvider 类指定的约定,ContentProviders 就可以使用任何数据源并对该数据源执行任何操作。这使得它们非常强大。

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 2018-09-22
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    相关资源
    最近更新 更多