Android提供了汉字转拼音的类。但是这个类是在联系人app下的。具体目录是packages/providers/ContactsProvider/src/com/android/providers/contacts的HanziToPinyin.java文件。如果想要这个工具类,可以直接拷贝来用。


获取一段汉字全拼方法:


    public String getFullPinYin(String source){        if (!Arrays.asList(Collator.getAvailableLocales()).contains(Locale.CHINA)) {            return source;        }         ArrayList<Token> tokens = HanziToPinyin.getInstance().get(source);        if (tokens == null || tokens.size() == 0) {        return source;        }        StringBuffer result = new StringBuffer();        for (Token token : tokens) {if (token.type == Token.PINYIN) {result.append(token.target);} else {result.append(token.source);}}        return result.toString();    }

获取一段汉字简拼的方法:

    public String getFirstPinYin(String source){        if (!Arrays.asList(Collator.getAvailableLocales()).contains(Locale.CHINA)) {            return source;        }         ArrayList<Token> tokens = HanziToPinyin.getInstance().get(source);        if (tokens == null || tokens.size() == 0) {        return source;        }        StringBuffer result = new StringBuffer();        for (Token token : tokens) {if (token.type == Token.PINYIN) {result.append(token.target.charAt(0));} else {result.append("#");}}        return result.toString();    }

举例:

String str = "我是中国人";getFullPinYin(str);    //返回的是 WOSHIZHONGGUORENgetFirstPinYin(str);    //返回的是WSZGR



更多相关文章

  1. Android(安卓)关闭/打开多点触控 (Android中设置不能同时点击2个v
  2. Android(安卓)自定义TextView去除paddingTop和paddingBottom
  3. Activity去除标题栏和状态栏
  4. Android命令行获取WiFi列表以及参数
  5. Android基础--Fragment
  6. android 获取路径目录方法以及判断目录是否存在,创建目录
  7. Activity 与 ActivityManagerService 的启动过程
  8. Android系列之网络(二)----获取HTTP请求头与响应头
  9. Android_SDK_NDK_JNI

随机推荐

  1. Android 滑动效果入门篇(二)—— Gallery
  2. Service详解(一):什么是Service
  3. 有关String类的笔试常考题
  4. Android(安卓)AppBarLayout控件
  5. 获取apk签名信息
  6. android动态加载apk
  7. Android(安卓)Bitmap图片缩放优化,用canva
  8. Android ApiDemos示例解析(21):App->Devic
  9. android下拉刷新 & 强制刷新notifyDataSe
  10. [Android]开源性能测试工具antool