汉字转拼音android实现(HanziToPinyin类)

这篇博客介绍了如何在Android系统中实现汉字转拼音的功能,引用了com.android.internal.util.HanziToPinyin.java源码,并提到了在4.x版本上的代码变更。提供了在2.x和4.x上测试通过的代码下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        对Contacts了解就会知道(不了解可以了解下),每个联系人都有一个sort_key字段,如果查询中没有设置sortOrder,默认就会以 sort_key字段为排序依据。名字的检索其实也是根据sort_key来做的(比如拨号盘的模糊匹配:数字转成字母,再到拼音,最后得到汉字)。sort_key是根据名字生成的:如果联系人名字中包含字母,sort_key和name保持一致;如果名字是汉字,生成的sort_key,拼音-汉字-拼音-汉字。。。其中拼音全大写,中间以空格分割,如:”张三“-----sort_key:"ZHANG 张 SAN 三"。

       当名字发生变化Sort_key是在packages/providers/ContactsProvider/src/com/android /providers/contacts/ContactsProvider2.java中生成的。具体调用如下:
if (displayNameStyle == FullNameStyle.CHINESE ||
                    displayNameStyle == FullNameStyle.CJK) {
                sortKeyPrimary = sortKeyAlternative =
                        ContactLocaleUtils.getIntance().getSortKey(
                                displayNamePrimary, displayNameStyle)
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值