我正在编写一个书签管理器应用程序,当我尝试使用书签(默认浏览器使用contentProvider时使用的书签)时,我有点卡住了。
我知道我可以查询浏览器contentProvider并随意使用数据(.TITLE +“ASC”,。VISITS +“DESC”等),但这只会对我的应用程序上显示的书签列表进行排序,而不是Android浏览器上显示的实际书签。
市场上有几个应用程序(对浏览器书签进行排序),例如“书签排序和备份”,所以我知道这是可能的。
任何人都可以就这怎么可能给我一点指示?一行代码,一个教程?任何事情都会受到赞赏!
谢谢你, 利奥尔
更新 - 可选解决方案:
Android通过书签数据库中的特定列对其书签进行排序。 该数据库位于“Data - > Data - > com.android.browser - > databases - > browser.db”中。您可以使用ADB到达那里或Root Explorer等应用程序。
Android 2.2根据“访问次数”栏对其书签进行排序,因此访问次数最多的书签将首先放置,依此类推。
如果要更改排序顺序,则必须更新每个书签的“访问次数”列。 例如:如果要按字母顺序对书签进行排序,则需要更新“访问”列,以便以字母“A”开头的书签具有最高的“访问次数”。 Android.com Bookmark将获得1000次访问,BestBuy.com Bookmark将获得900次访问等等。
需要考虑的事项:
在以前的Android版本中,排序按“已创建”列排序。请参阅此处:http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java
我希望这可以帮助任何人;)
如果您有不同的想法/解决方案,请分享!
答案 0 :(得分:1)
好的我可能已经找到了解决方法。 它不是一个解决方案,而是更多的Hack,但您可以检索当前的书签数据,对其进行排序,删除所有书签并以新排序的顺序插入它们。
另一种选择是更新创建日期/时间。请参阅此处:http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java
此外,Android 2.2上的默认浏览器似乎按访问次数排序书签,因此您必须更改此列。
我希望这有助于任何人...
如果您有不同的想法/解决方案,请分享:)
更新
自Android 3.0及更高版本以来,这已发生变化。 bookmakrs数据库现在有一个“位置”列,您可以更改该列以对书签进行排序。