【问题标题】:Folder hierarchy of bookmarks in Android BrowserAndroid浏览器中书签的文件夹层次结构
【发布时间】:2012-10-13 07:22:05
【问题描述】:

我正在开发一个书签管理应用程序。目前,我正在显示listview 中的所有书签。如果书签的数量很少,这种方法效果很好。但是如果有大量的书签,那么列表就会变得太长并且很难找到特定的书签。所以,我希望用户能够创建文件夹并将相应的书签移动到文件夹中。由于Android书签数据库中没有文件夹列,我无法存储哪些书签属于哪个文件夹的信息。

我可以创建自己的数据库并维护这些信息,但是文件夹层次结构对 Android 不可见。如何创建此文件夹层次结构并存储此信息?

【问题讨论】:

  • 我已经更新了问题......

标签: android database android-contentprovider bookmarks android-browser


【解决方案1】:

由于 Android 书签数据库中没有文件夹列,我 无法存储书签属于哪个书签的信息 文件夹。

但是有。从运行4.0的模拟器中取出浏览器的数据库,它有一个文件夹字段

但是当我签入 2.3 时,它没有这样的字段,我认为您在评论中提到的应用程序(书签排序和备份)仅在 4.0 及更高版本中提供此功能。如果您对将文件夹添加到 db 的部分感到好奇,也可以查看源代码。

  values.put(BrowserContract.Bookmarks.PARENT, mCurrentFolder);

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.1.1_r1/com/android/browser/AddBookmarkPage.java#AddBookmarkPage

希望这会有所帮助。

【讨论】:

  • 我在 4.0 和 2.3 中观察到了相同的行为,但没有检查数据库。并且清晰可见4.0及以上版本的书签数据库中有一个文件夹列。无论如何感谢您的回答。它会解决我的问题。
  • 你能改变文件夹中的值吗?我试图改变它,但它只是不允许我改变它(我可以改变其他的)
【解决方案2】:

“但是文件夹层次结构对 android 不可见”是什么意思?您的层次结构在股票或 chrome 浏览器中不可见?好吧,当然不是。它们根本不支持分层信息,因为它们使用浏览器内容提供程序。

但您的应用可能仍会使用它们。您必须通过添加内容观察器并在您的应用重新启动时重新同步(例如,在重新启动后或被 Android 销毁以释放资源后),使您的数据库与内容提供者保持同步。

我可以想象这种应用是有意义的——尤其是在人们更倾向于上网(并因此添加书签)的平板电脑上。尽管 Google 可能会在未来的版本中向浏览器内容提供程序添加层次结构,但请做好准备。我认为他们最终必须这样做。

【讨论】:

  • 看我的印象是你的文件夹层次结构永远不会对 android 可见,因此我创建了自己的书签数据库,它与 android 的书签数据库同步。但是后来我看到了一个应用程序(书签排序和备份),您可以在其中创建文件夹并将书签保存在那里,当您从 android 的默认浏览器访问这些书签时,书签会以相同的顺序显示。所以,我认为这是可能的。我尝试在 android 的文档中查找一些提示,但找不到任何提示。
  • 有趣。稍后我会看看浏览器提供程序。
猜你喜欢
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多