android中文首字母排序,Android上汉字按拼音排序如何实现?
具體的代碼在
packages\providers\contactsprovider\src\com\android\providers\contacts\ContactL
ocaleUtils.java中的ChineseContactUtils.getSortKey()方法中。
參考一下通訊錄的數(shù)據(jù)庫(kù)文件中的sort_key字段,一目了然。
具體的做法就是調(diào)用com.android.internal.util.HanziToPinyin工具,將名字轉(zhuǎn)換為拼
音,然后根據(jù)各種組合和首字母組合生成sort_key。
比如“水木”,生成的可能有"S?M"?"SHUI?M"?"SHUI?MU"?"M?S"?"MU?S"等等。
其實(shí)轉(zhuǎn)換為拼音除了Android提供的
frameworks\base\core\java\com\android\internal\util\HanziToPinyin.java以外,
Android中還提供了一個(gè)IBM提供的國(guó)際語言處理的庫(kù)ICU。這個(gè)庫(kù)更加強(qiáng)大。
【?在?chenmervyn?(神)?的大作中提到:?】
:?就像Contact(通訊錄)中的,姓名按拼音排序,并知道是什么拼音,進(jìn)而分組,是如何
:?實(shí)現(xiàn)的?
:?PS:找了Contact源碼,太多,目前未果。求指點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的android中文首字母排序,Android上汉字按拼音排序如何实现?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言N*N的二维数组,c语言高手帮个忙
- 下一篇: android组件什么时候加载到r文件,