我正在编写一个书签管理应用程序,当我尝试使用书签(contentProvider默认浏览器使用的书签)时,我有点卡住了。
我知道我可以查询浏览器contentProvider并随意使用数据(.TITLE +“ASC”、.VISITS +“DESC”等),但这只会对我的应用程序上显示的书签列表进行排序,而不会排序显示在Android浏览器上的实际书签。
市场上有几个应用程序这样做(对浏览器书签进行排序),比如“书签排序和备份”,所以我知道这是可能的。
有谁能告诉我这怎么可能的?一行代码,一篇教程?一切都会被感激的!
谢谢你,Lior
更新-可选解决方案:
Android根据书签数据库中的特定列对书签进行排序。该数据库位于"Data -> Data -> com.android.browser -> -> browser.db“中。您可以使用亚行或应用程序如根资源管理器。
Android2.2根据“访问”栏对书签进行排序,因此访问次数最多的书签将放在第一位,以此类推。
如果要更改排序顺序,则必须更新每个书签的“访问”列。例如:如果要按字母顺序对书签进行排序,则需要更新“访问”列,使以字母"A“开头的书签具有”访问“的最高值。Android.com书签将获得1000次访问,BestBuy.com书签将获得900次访问,等等。
需要考虑的事情:
在以前的Android版本中,排序是按“创建”列排序的。例如,参见这里:http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java
我希望这对任何人都有帮助;)
如果你有不同的想法/解决方案,请分享!
发布于 2010-09-27 16:13:59
好的,我可能找到了解决这个问题的方法。这不是一个解决方案,但更多的是一个黑客,但您可以检索当前书签数据,排序,删除所有书签,并插入新排序的顺序。
另一个选项是更新创建日期/时间。例如,参见这里:http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java
而且,在Android2.2上的默认浏览器似乎会对大多数访问过的书签进行排序,因此您必须更改本专栏。
我希望这能帮到任何人..。
如果您有不同的想法/解决方案,请分享:)
更新:
这在Android3.0和更高版本之后发生了变化。bookmakrs数据库现在有一个“位置”列,您可以修改该列来对书签进行排序。
https://stackoverflow.com/questions/3804578
复制相似问题