Android--漢字轉全拼

來源:互聯網
上載者:User

標籤:android   api   

上一節介紹了天氣預報小DEMO的製作,有些人就覺得打拚音不符合使用者的習慣,怎麼改成打漢字並且可以實現功能呢?這裡就要用到漢字轉全拼,這時我們就要引入jar包:

http://download.csdn.net/detail/yayun0516/8706403

將jar包解壓後匯入我們的工程:(匯入方法自行百度)

然後我們編寫我們的布局檔案:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <EditText        android:id="@+id/edit"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="南京" />    <Button        android:id="@+id/transfomer"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="轉換" />    <TextView        android:id="@+id/show"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="" /></LinearLayout>

編寫工具類:

package com.lzg.hanzitopinyin;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;public class HanZiToPinYin {/** * 返回一個字的拼音 * @param hanzi * @return */public static String toPinYin(char hanzi){HanyuPinyinOutputFormat hanyuPinyin = new HanyuPinyinOutputFormat();    hanyuPinyin.setCaseType(HanyuPinyinCaseType.LOWERCASE);    hanyuPinyin.setToneType(HanyuPinyinToneType.WITHOUT_TONE);//沒有聲調    hanyuPinyin.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);    String[] pinyinArray=null;    try {    //是否在漢字範圍內    if(hanzi>=0x4e00 && hanzi<=0x9fa5){    //pinyinArray = PinyinHelper.toHanyuPinyinStringArray(hanzi, hanyuPinyin);    pinyinArray = PinyinHelper.toHanyuPinyinStringArray(hanzi, hanyuPinyin);    }    } catch (BadHanyuPinyinOutputFormatCombination e) {    e.printStackTrace();    }    //將漢字返回return pinyinArray[0];}}



編寫activity:

package com.lzg.hanzitopinyin;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class TestActivity extends Activity {/** Called when the activity is first created. */EditText editText;TextView tView;Button trbButton;String pinyin;String hanziString;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);editText = (EditText) findViewById(R.id.edit);tView = (TextView) findViewById(R.id.show);trbButton = (Button) findViewById(R.id.transfomer);trbButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {hanziString = editText.getText().toString();pinyin = getPinyin(hanziString);tView.setText("拼音:" + pinyin + "\n" + "漢字:" + hanziString);}});}private String getPinyin(String hanzi) {String pinyin = "";for (int i = 0; i < hanzi.length(); i++) {pinyin += HanZiToPinYin.toPinYin(hanzi.charAt(i));}return pinyin;}}


 

運行執行個體如下:

最後:

我的應用程式:                      http://openbox.mobilem.360.cn/index/d/sid/2966005

                                       http://android.myapp.com/myapp/detail.htm?apkName=com.yayun.gitlearning

歡迎下載,有問題多交流,討論謝謝!

 

Android--漢字轉全拼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.