代码之家  ›  专栏  ›  技术社区  ›  Lior Iluz

改变Android浏览器的书签排序方式

  •  2
  • Lior Iluz  · 技术社区  · 14 年前

    我知道我可以查询浏览器contentProvider并根据自己的喜好使用数据(.TITLE+“ASC”、.vists+“DESC”等),但这只会对我的应用程序上显示的书签列表进行排序,而不会对Android浏览器上显示的实际书签进行排序。

    市场上有几个应用程序可以做到这一点(排序浏览器书签),例如“书签排序和备份”,所以我知道这是可能的。

    谁能给我一个小的方向,这是怎么可能的?一行代码,一个教程?一切都会很感激的!

    谢谢您, 利奥尔

    更新-可选解决方案:

    Android根据书签数据库中的特定列对其书签进行排序。 数据库位于“数据->数据->com.android.browser浏览器->数据库->浏览器.db". 你可以使用ADB或者像Root Explorer这样的应用程序。

    android2.2根据“访问量”列对书签进行排序,因此访问量最大的书签将放在第一位,以此类推。

    如果要更改排序顺序,则必须更新每个书签的“访问”列。

    需要考虑的事项:

    • 书签的总量(因此您可以确定最高的“访问量”值,将其赋给第一个书签,并从中减去至少一个访问量作为第二个书签)。
    • Android浏览器在用户每次进入网站时都会继续增加“访问”次数。因为你无法预测用户点击某个书签的次数,为了保持用户在你的应用程序上选择的排序顺序,你必须确保Bookmark 1的“访问”值比Bookmark 2的“访问”值大得多(我建议至少相差1000)。

    http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   Lior Iluz    12 年前

    好吧,我可能已经找到了解决办法。

    另一个选项是更新创建日期/时间。参见此处示例: http://www.netmite.com/android/mydroid/packages/apps/Browser/src/com/android/browser/BrowserBookmarksAdapter.java

    另外,android2.2上的默认浏览器似乎会按访问量最大的人对书签进行排序,因此您必须更改此列。

    如果您有不同的想法/解决方案,请分享:)