Demo运行界面:
项目结构:
有时候需要将汉字转换为对应的拼音,比如通讯录查找功能,就需要输入拼音的首字母查询出对应的联系人,本Demo功能为输入汉字,输出对应汉字的拼音,需要用的第三方jar包:pinyin4j.jar
首先介绍一下这个jar包的使用,一般使用到的就两个类,HanyuPinyinOutputFormat,PinYinHelper.
第一个类主要用来对输出的拼音格式做一些设置:
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);//输出大小写 format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);//输出声调样式 format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);//设置特殊拼音的V的显示格式
第二个类用来对汉字转换为对应到的拼音,输出结果为一个字符串数组:
String[] strings = PinyinHelper.toHanyuPinyinStringArray(chars[i], format);
核心代码:
private void HanZi2PinYin(String src) { char[] chars = src.toCharArray(); HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); StringBuffer sb = new StringBuffer(); format.setCaseType(HanyuPinyinCaseType.LOWERCASE); format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK); format.setVCharType(HanyuPinyinVCharType.WITH_V); for (int i = 0; i < chars.length; i++) { try { String[] strings = PinyinHelper.toHanyuPinyinStringArray(chars[i], format); if (strings != null) { for (int j = 0; j < strings.length; j++) { sb.append(strings[j]); if (j != strings.length-1) sb.append(","); } sb.append("\r\n"); } } catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) { badHanyuPinyinOutputFormatCombination.printStackTrace(); } } textView.setText(sb); } }
</pre><pre class="java" name="code">
</pre><a target=_blank target="_blank" href="http://download.csdn.net/detail/qq379454816/9193299"><strong><span style="font-size:32px">Demo下载</span></strong></a>
扫描关注我的微信公众号: