【发布时间】:2010-09-27 14:04:25
【问题描述】:
我正在编写一个书签管理器应用程序,但在尝试使用书签(默认浏览器与 contentProvider 使用的书签)时,我有点卡住了。
我知道我可以查询浏览器 contentProvider 并随意使用数据(.TITLE + “ASC”、.VISITS + “DESC”等),但这只会对我的应用程序上显示的书签列表进行排序,而不是Android 浏览器上显示的实际书签。
市场上有几个应用程序可以做到这一点(对浏览器书签进行排序),例如“书签排序和备份”,所以我知道这是可能的。
任何人都可以给我一些指导吗?一行代码,一个教程?任何事情都会不胜感激!
谢谢, 利奥
更新 - 可选解决方案:
Android 按书签数据库中的特定列对其书签进行排序。 数据库位于“数据 -> 数据 -> com.android.browser -> 数据库 -> browser.db”。您可以使用 ADB 或 Root Explorer 之类的应用程序到达那里。
Android 2.2 根据“访问次数”列对书签进行排序,因此访问次数最多的书签会排在最前面,以此类推。
如果您想更改排序顺序,则必须更新每个书签的“访问次数”列。 例如:如果要按字母顺序对书签进行排序,则需要更新“visits”列,使以字母“A”开头的书签将具有最高的“visits”值。 Android.com 书签将获得 1000 次访问,BestBuy.com 书签将获得 900 次访问等等。
需要考虑的事项:
- 书签总数(因此您可以确定最高的“访问次数”值,将其分配给第一个书签,并从中减去至少 1 次访问作为第二个书签)。
- 每次用户进入网站时,Android 浏览器都会继续增加“访问”次数。因为您无法预测用户点击某个书签的次数,并且为了保持用户在您的应用中选择的排序顺序 - 您必须确保书签编号 1 的“访问次数”值远大于“访问”值书签编号 2 有(我建议至少 1000 差异)。
在以前的 Android 版本中,排序按“已创建”列排序。例如见这里:http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java
我希望这对任何人都有帮助;)
如果您有不同的想法/解决方案,请分享!
【问题讨论】:
标签: android