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

2016-02-19 11:19 12 1 收藏

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

【 tulaoshi.com - 编程语言 】

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

有图有真相:

   

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

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

(本文来源于图老师网站,更多请访问http://www.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;
}

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

来源:http://www.tulaoshi.com/n/20160219/1597084.html

延伸阅读
标签: windows系统
Windows8更改搜索设置来清除搜索记录禁用网络搜索等   更改搜索设置的操作方法 1.从屏幕右边缘向中间轻扫,点击设置,然后点击更改电脑设置。或者搜索设置或power 等关键字,选择对应的搜索结果。 (如果使用的是鼠标,则指向屏幕右下角,然后将鼠标指针向上移动,单击设置,然后单击更改电脑设置。) 2.点击或单击搜...
触宝拨号如何开启手势拨号?   触宝拨号如何开启手势拨号?触宝拨号是目前最流行的快速拨号及通讯录管理工具,它便捷实用,触宝拨号还可以开启手势拨号哦,只要你开启了手势拨号,在拨号区范围添加手势便可以快速打电话给好友了。今天小编就教小编触宝拨号如何开启手势拨号,希望能帮助到大家。 1)首先打开触宝拨号,在界面点击,...
钉钉搜索框支持关键字搜索吗?   支持,可以通过拼音、关键字进行搜索;
KuaiDial T9键盘失效怎么解决?   KuaiDial是一款非常流行的T9快速拨号和来电归属地插件。但是自从升级到7.x以来,很多同学发现,他的T9键盘经常无故失效。经过一翻摸索,发现这事除了等作者更新,还可以使用临时解决。 1、购买后台管理插件后,进入设置选择Each app 2、选择电话并设定为Force强制后台运行 3、...
用拨号连接拨号的RasAPI函数为RasDial,其函数原型为: function RasDial(pRasDialExtensions : LPRASDIALEXTENSIONS;//在WIN9X下无用,可 设置为NIL lpszPhonebook : PChar;//电话本名称,在Win9X下无作用,可为空字符串 lpRasDialParams : LPRASDIALPARAMS;//拨号参数 dwNotifierType : DWord;//消息通知方式 handle : ...

经验教程

987

收藏

17
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部