Android浏览器中书签的文件夹层次结构

时间:2012-10-23 11:07:39

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

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

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

2 个答案:

答案 0 :(得分:2)

  

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

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

enter image description here 但是当我在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

希望这会有所帮助。

答案 1 :(得分:0)

你是什么意思“但是文件夹层次结构对于android来说是不可见的”?您的层次结构在库存或Chrome浏览器中不可见?好吧,当然不是。他们根本不支持分层信息,因为他们使用浏览器内容提供商。

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

我可以想象这种应用程序是有道理的 - 特别是在人们倾向于冲浪(并因此书签)的平板电脑上。尽管Google可能会在以后的版本中向浏览器内容提供商添加层次结构。我认为他们最终必须这样做。