Android拨号盘 支持T9搜索和号码搜索等拨号盘案例

gc_123456789

gc_123456789

2016-02-19 11:19

下面请跟着图老师小编一起来了解下Android拨号盘 支持T9搜索和号码搜索等拨号盘案例,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

之前做通讯录软件,其中在做拨号盘的时候一直为怎么实现T9输入烦恼,上网找了很多帖子,都没有满意的答案。
不过最后终于是实现了,看社区内好像也有不少朋友需要,在此分享一下。
这个是在我项目中提取出来的拨号盘案例,功能上完全实现了目前其他通讯录中拨号盘的功能,但在加载效率上还有不足,请各位大侠指教。

有图有真相:

   

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

 目前我用1g单核cpu的索爱mt15i的测试机,1500多的联系人,加载时间大概在8秒左右,当然,一般用户不会有这么多联系人的。
由于我做的程序不是在一开始的界面就是拨号盘,所以我在程序已开始就在后台异步加载联系人,
等到拨号盘的界面,联系人加载也差不多完成了。
不过我觉得每次在程序开始都读取联系人的数据,把他们整理成t9搜索需要的数据有些慢,
最好还是自己建张表来存放,然后监听联系人表的变化动态更新t9数据。

如果大家有更好更快的想法,希望能分享一下!

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

部分代码:
代码如下:

public class ToPinYin {

/**
* 将传递的汉字list转换成拼音List
* @param list
*/
public static ListString getPinyinList(ListString list){
ListString pinyinList = new ArrayListString();
for(IteratorString i=list.iterator(); i.hasNext();) {
String str = (String)i.next();
try {
String pinyin = getPinYin(str);
pinyinList.add(pinyin);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return pinyinList;
}

/**
* 将中文转换成拼音
* @param 拼音-汉字
* @return
*/
public static String getPinYin(String zhongwen)
throws BadHanyuPinyinOutputFormatCombination {

String zhongWenPinYin = "";
char[] chars = zhongwen.toCharArray();

for (int i = 0; i chars.length; i++) {
String[] pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i], getDefaultOutputFormat());
// 当转换不是中文字符时,返回null
if (pinYin != null) {
zhongWenPinYin += pinYin[0];
} else {
zhongWenPinYin += chars[i];
}
}
return zhongWenPinYin;
}

/**
* 输出格式
*
* @return
*/
private static HanyuPinyinOutputFormat getDefaultOutputFormat() {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);// 大写
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 没有音调数字
format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);// u显示
return format;
}

展开更多 50%)
分享

猜你喜欢

Android拨号盘 支持T9搜索和号码搜索等拨号盘案例

编程语言 网络编程
Android拨号盘 支持T9搜索和号码搜索等拨号盘案例

易信安卓版2.1国际漫游电话增拨号盘

手机软件 应用软件
易信安卓版2.1国际漫游电话增拨号盘

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

115网盘资源怎么搜索资源 115网盘资源搜索教程

软件教程
115网盘资源怎么搜索资源 115网盘资源搜索教程

115网盘资源怎么搜索

电脑网络
115网盘资源怎么搜索

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

360云盘怎么搜索资源

电脑网络
360云盘怎么搜索资源

360云盘怎么搜索资源?

电脑网络
360云盘怎么搜索资源?

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何为PE添加输入法

如何为PE添加输入法

通过修改注册表项让Win7系统宽带网络加速

通过修改注册表项让Win7系统宽带网络加速
下拉加载更多内容 ↓