做一个Android的通讯录,联系人分组的时候用的是系统数据库中的"sort_key"这个字段,出现问题。


再做一个Android的通讯录,联系人分组的时候用的是系统数据库中的"sort_key"这个字段,但是通过调试发现并不是像网上介绍的这个字段显示的是拼音+汉字,通过logcat显示出来的都是汉字,难道是数据库有了改变?我是用AlphabetIndexer来实现分组的,其中会用到"sort_key"这个字段,有没有其他办法可以实现?

Android app 数据库

airutii 10 years ago

各个机型这个字段填的不一样。。。

人工ZZ爱酱 answered 10 years ago

不知你用的是什么设备调试的,我用魅族手机调试就是和你一样的状况,用genymotion或小米手机4就可以正常分组.

原生安卓对于这个字段有日语(罗马音)和汉语(拼音)的注音补完(不知道原生用的啥语言优先级,有些汉字是罗马音,有些汉子是拼音).
miui对于这个字段只有拼音补完,十分方便.

貌似一般都用pinyin4j-2.5.0.jar来做汉字分组排序.

用里面的PinyinHelper.toHanyuPinyinStringArray(char c, format);

白玉楼的游魂 answered 10 years ago

Your Answer