首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变Android浏览器以编程方式对书签排序的方式

改变Android浏览器以编程方式对书签排序的方式
EN

Stack Overflow用户
提问于 2010-09-27 14:04:25
回答 1查看 2.3K关注 0票数 2

我正在编写一个书签管理应用程序,当我尝试使用书签(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次访问,等等。

需要考虑的事情:

  • :书签总数(这样你就可以确定最高的“访问量”值,给第一个书签,并为第二个书签减去至少一次访问次数)。安卓浏览器
  • 继续增加每次用户进入该网站时的“访问次数”。因为您无法预测用户单击某个书签的次数,并且为了维护用户在应用程序上选择的排序顺序,所以您必须确保“访问”值Bookmark 1的大小远远大于“访问”值Bookmark 2(我建议至少有1000个不同)。

在以前的Android版本中,排序是按“创建”列排序的。例如,参见这里:http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java

我希望这对任何人都有帮助;)

如果你有不同的想法/解决方案,请分享!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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数据库现在有一个“位置”列,您可以修改该列来对书签进行排序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3804578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档