Android 中文联系人拼音排序及检索补丁3.5版 for Android 2.1/eclair (测试版)

下载地址:

http://sunner.cn/pinyin-patch-eclair-beta.zip

由于本人没有装eclair,所以不能测试。有谁在用,就帮忙测试看看吧。

Android 中文联系人拼音排序及检索补丁3.5版 for Android 2.1/eclair (测试版)》有24个想法

    1. 这位朋友,可以试试蛋总做的补丁,http://kugou.me/2.1/,我用在king aosp2.1的1.8.1下检索还不行,但排序可以了,所以也不用刷包了,提取出libicudata.so,push进去。

  1. 我只用了里边的libicudata.so。很好,联系人拼音首字母分组正确。但是拖动的时候定位有点奇怪。比如拖动时显示的字母变成G的时候,屏幕上显示的第三个才是G开头的,前面两个是F开头的。
    至于拨号键盘的拼音智能搜索,据说是eclair里的数据库结构变了。我不清楚,我刷的是BeAsia 1.0,里边已经有拨号键盘拼音智能搜索的解决方案了。

    1. 数据库结构和检索的索引生成方式都完全变了。现在官方代码里,日文的检索貌似已经可用了(不懂日文,没法测试),顺着这个接口就可以做中文的了。也许中文支持也不远了

  2. Nexus One,刷过CM。
    排序效果不好,而且出了通讯录之外,软件名称也排序了,原来中文名的软件都在最后的现状按拼音排正确了。
    但是通讯录里仍旧看不出变化……不知道是不是跟怎么填写通讯录有关,我只填了FN和LN,有的只填了FN,请教按照API排序正确填法如何?
    简单列下当前通讯录排序(只列姓FN):先排的是纯字母(B/E/F/J),丁、何、俞、冯、邢、刘、卓

  3. 我看了一下日文排序实现的代码,发现整个类是自动化完成的,程序会检索这个顺序表,然后返回顺序值。只要改了这张表,就能实现联系人的拼音排序。不过我对unicode没有什么研究,研究了网上的几种方案以后也没找到完美的解答 (转gb2312只能检索6k字,用pinyin4j又怕社区不接受)。。。。望指教
    日文排序的字符顺序表是这样子的:
    static private final String[] sSections = {
    ” “, // Sections of SectionIndexer should start with ” ” (some components assume it).
    “\u3042”, “\u304B”, “\u3055”, “\u305F”, “\u306A”, // a, ka, sa, ta, na
    “\u306F”, “\u307E”, “\u3084”, “\u3089”, “\u308F”, // ha, ma, ya, ra, wa
    “\uFF21”, “\uFF22”, “\uFF23”, “\uFF24”, “\uFF25”, // full-width ABCDE
    “\uFF26”, “\uFF27”, “\uFF28”, “\uFF29”, “\uFF2A”, // full-width FGHIJ
    “\uFF2B”, “\uFF2C”, “\uFF2D”, “\uFF2E”, “\uFF2F”, // full-width KLMNO
    “\uFF30”, “\uFF31”, “\uFF32”, “\uFF33”, “\uFF34”, // full-width PQRST
    “\uFF35”, “\uFF36”, “\uFF37”, “\uFF38”, “\uFF39”, // full-width UVWXY
    “\uFF40”, // full-width Z
    “\u6570”, “\u8A18” // alphabets, numbers, symbols
    };

    1. 这段代码看上去好像是用来在contacts.apk中分段显示联系人的。排序在android中还是依赖于icu4c的库。在最新的代码中已经有针对中文排序进行编译的icu4c了。不太容易解决的是直接输入拼音检索。对日文有一些叫normalization的处理,看上去好像是解决用英文字母检索日文的,但又不确定。

  4. nexus one CM的补丁不知道什么时候能做个?网络上提供的一些排序补丁会让有些使用日语的程序出问题。

      1. 请问”Android中文联系人排序及检索补丁的原理(090819更新)” 里提到的 icu4c 及其中提及的数据库 在2.1中是否已有大变化?如非,我想参照你的方法尝试修改一下, thx!
        ps:还未看源码。希望完成手头工作后再开始,故偷懒直接问 sunner兄

  5. 相关的排序代码可以开源么?我知道Android是开源系统,但是只是想要修改一下排序应该不需要去熟悉那么大的系统,只需要编译出几个so就好了吧。。。猜想中

  6. CyanogenMod 5.0.7 (Eclair) 已经可以在 G1/G2 上用了,性能甚至比 Donut 还好,3D Gallery 也比 KiNgxKxlicK ASOP 流畅很多,推荐升级。然后,请更新这个补丁吧……

  7. Pingback: Quora

发表评论

电子邮件地址不会被公开。 必填项已用*标注