Android中将汉字转换成拼音

在Java中显示汉字拼音。

以Android为例,首先我们需要导入一个外部jar包,也就是将获得汉字拼音的工具包。通过调用jar包中提供的方法即可获得汉字的拼音了。

 

 

写一个工具类,初始化jar包中的HanyuPinyinOutputFormat类,在对该对象进行一下设置,具体设置有什么用就不详细说明了。最后的文件下载后里面有相关的api文档。之后只需要调用PinyinHelper.toHanyuPinyinStringArray(hanzi, hanyuPinyin);方法,将汉字和刚才初始化的汉语拼音输出格式对象以参数的形式传入就可以获得该汉字的拼音了。

汉字转拼音工具类:

 

public class HanZiToPinYin {
	/**
	 * 返回一个字的拼音
	 * @param hanzi
	 * @return
	 */
	public static String toPinYin(char hanzi){
		HanyuPinyinOutputFormat hanyuPinyin = new HanyuPinyinOutputFormat();
	    hanyuPinyin.setCaseType(HanyuPinyinCaseType.LOWERCASE);
	    hanyuPinyin.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
	    hanyuPinyin.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
	    String[] pinyinArray=null;
	    try {
	    	//是否在汉字范围内
	    	if(hanzi>=0x4e00 && hanzi<=0x9fa5){
	    		pinyinArray = PinyinHelper.toHanyuPinyinStringArray(hanzi, hanyuPinyin);
	    	}
	    } catch (BadHanyuPinyinOutputFormatCombination e) {
	    	e.printStackTrace();
	    }
	    //将获取到的拼音返回
		return pinyinArray[0];
	}
}

  

Android中调用代码如下:
public class TestActivity extends Activity {
    /** Called when the activity is first created. */
	TextView tView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        tView=new TextView(this);
        tView.setTextSize(24);
        tView.setTextColor(Color.WHITE);
        String hanziString="你";
        String pinyinString= HanZiToPinYin.toPinYin(hanziString.charAt(0));
        tView.setText("拼音:"+pinyinString+"\n"+"汉字:"+hanziString);
        setContentView(tView);
    }
}

  

显示结果如下:

 
 
汉字转拼音的工具包的下载地址:http://download.csdn.net/detail/liuzg129/4178303
posted @ 2012-03-27 23:37  小小Coder  阅读(5272)  评论(0编辑  收藏  举报