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

所属分类: 软件编程 / Android 阅读数: 59
收藏 0 赞 0 分享

本文实例讲述了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程序设计有所帮助。

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多