Android开发之拼音转换工具类PinyinUtils示例

时间:2019-04-08
本文章向大家介绍Android开发之拼音转换工具类PinyinUtils示例,主要包括Android开发之拼音转换工具类PinyinUtils示例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文实例讲述了Android开发之拼音转换工具类PinyinUtils。分享给大家供大家参考,具体如下:

1.首先下载pinyin4j-2.5.0.jar,拷贝到工程的lib目录里

官网下载地址:https://sourceforge.net/projects/pinyin4j/

或者点击此处本站下载

2.创建工具类:PinyinUtils

/**
 * 拼音转换工具
 *
 * @描述 TODO
 * @项目名称 App_imooc
 * @包名 com.android.imooc.quickIndex
 * @类名 PinyinUtils
 * @author chenlin
 * @version 1.0
 */
public class PinyinUtils {
  /**
   * 根据传入的字符串(包含汉字),得到拼音
   *
   * @param str
   *      字符串
   * @return
   */
  public static String getPinyin(String str) {
    HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
    format.setCaseType(HanyuPinyinCaseType.UPPERCASE);
    format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
    StringBuilder sb = new StringBuilder();
    char[] charArray = str.toCharArray();
    for (int i = 0; i < charArray.length; i++) {
      char c = charArray[i];
      // 如果是空格, 跳过
      if (Character.isWhitespace(c)) {
        continue;
      }
      if (c >= -127 && c < 128) {
        // 肯定不是汉字
        sb.append(c);
      } else {
        String s = "";
        try {
          // 通过char得到拼音集合. 单 -> dan, shan
          s = PinyinHelper.toHanyuPinyinStringArray(c, format)[0];
          sb.append(s);
        } catch (BadHanyuPinyinOutputFormatCombination e) {
          e.printStackTrace();
          sb.append(s);
        }
      }
    }
    return sb.toString();
  }
}

PS:这里再为大家提供几款本站拼音与字母相关工具供大家参考:

在线中英文根据首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu

在线汉字转换成拼音工具:
http://tools.jb51.net/transcoding/pinyin

在线中文汉字转拼音工具:
http://tools.jb51.net/transcoding/hanzi2pinyin

在线中文汉字拼音对照转换工具:
http://tools.jb51.net/transcoding/zh_pinyin

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作json格式数据技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。