国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android撥號盤 支持T9搜索和號碼搜索等撥號盤案例

2020-04-11 12:38:42
字體:
來源:轉載
供稿:網友

之前做通訊錄軟件,其中在做撥號盤的時候一直為怎么實現T9輸入煩惱,上網找了很多帖子,都沒有滿意的答案。
不過最后終于是實現了,看社區內好像也有不少朋友需要,在此分享一下。
這個是在我項目中提取出來的撥號盤案例,功能上完全實現了目前其他通訊錄中撥號盤的功能,但在加載效率上還有不足,請各位大俠指教。

有圖有真相:

   

 目前我用1g單核cpu的索愛mt15i的測試機,1500多的聯系人,加載時間大概在8秒左右,當然,一般用戶不會有這么多聯系人的。
由于我做的程序不是在一開始的界面就是撥號盤,所以我在程序已開始就在后臺異步加載聯系人,
等到撥號盤的界面,聯系人加載也差不多完成了。
不過我覺得每次在程序開始都讀取聯系人的數據,把他們整理成t9搜索需要的數據有些慢,
最好還是自己建張表來存放,然后監聽聯系人表的變化動態更新t9數據。

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

部分代碼:

復制代碼 代碼如下:

public class ToPinYin {

/**
* 將傳遞的漢字list轉換成拼音List
* @param list
*/
public static List<String> getPinyinList(List<String> list){
List<String> pinyinList = new ArrayList<String>();
for(Iterator<String> 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;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中牟县| 三门县| 华容县| 南平市| 特克斯县| 长子县| 门源| 墨脱县| 台南县| 万宁市| 宝清县| 陇川县| 安福县| 陵川县| 泰和县| 义马市| 枣强县| 冷水江市| 宁蒗| 辽宁省| 百色市| 漠河县| 延长县| 界首市| 大同县| 乌拉特中旗| 平乐县| 门头沟区| 江口县| 靖江市| 青田县| 明溪县| 光泽县| 西乌珠穆沁旗| 鄯善县| 太湖县| 盐亭县| 托克逊县| 武陟县| 乳源| 交口县|