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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

LovooGod   2021-03-28 我要评论
想了解Android开发之拼音转换工具类PinyinUtils示例的相关内容吗,LovooGod在本文为您仔细讲解Android拼音转换工具类PinyinUtils的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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.softyun.net/aideddesign/zh_paixu

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

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

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

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们