android汉字转拼音
❶ android中怎么将汉字转化为拼音的代码
没有什么好办法``因为汉字在系统中的存储与它对应的拼音没有什么关系,所以只能通过一个汉字和拼音的对照库来进行.
你的采纳是我前进的动力,
记得好评和采纳,答题不易,互相帮助,
手机提问的朋友在客户端右上角评价点(满意)即可.
如果你认可我的回答,请及时点击(采纳为满意回答)按钮!!
❷ android怎么获取输入汉字的拼音
static final int GB_SP_DIFF = 160;
// 存放国标一级汉字不同读音的起始区位码
static final int[] secPosValueList = { 1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787, 3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086, 4390, 4558, 4684, 4925,
5249, 5600 };
// 存放国标一级汉字不同读音的起始区位码对应读音
static final char[] firstLetter = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'w', 'x', 'y', 'z' };
// 获取一个字符串的拼音码
public static String getFirstLetter(String oriStr) {
String str = oriStr.toLowerCase();
StringBuffer buffer = new StringBuffer();
char ch;
char[] temp;
for (int i = 0; i < str.length(); i++) { // 依次处理str中每个字符
ch = str.charAt(i);
temp = new char[] { ch };
byte[] uniCode = new String(temp).getBytes();
if (uniCode[0] < 128 && uniCode[0] > 0) { // 非汉字
buffer.append(temp);
} else {
buffer.append(convert(uniCode));
}
}
return buffer.toString();
}
// 获取一个汉字的拼音码
public static Character getFirstLetter(char ch) {
byte[] uniCode = null;
try {
uniCode = String.valueOf(ch).getBytes("GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
if (uniCode[0] &0xff< 128 && uniCode[0]&0xff > 0) { // 非汉字
return null;
} else {
return convert(uniCode);
}
}
/**
* 获取一个汉字的拼音首字母。 GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码
* 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43
* 0x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’
*/
static char convert(byte[] bytes) {
char result = '-';
int secPosValue = 0;
int i;
for (i = 0; i < bytes.length; i++) {
bytes[i] -= GB_SP_DIFF;
}
secPosValue = bytes[0] * 100 + bytes[1];
for (i = 0; i < 23; i++) {
if (secPosValue >= secPosValueList[i] && secPosValue < secPosValueList[i + 1]) {
result = firstLetter[i];
break;
}
}
return result;
}
❸ 轻巧的汉字转拼音库 TinyPinyin 在Android上的使用
原文: https://blog.csdn.net/uyy203/article/details/54632495
最近发现一个相当轻巧,运行速度很快的汉字转拼音库——TinyPinyin,这个汉字转拼音库比上一篇讲述列表按照A-Z的规则排序的文章所使用的汉字转拼音库运行速度还要快10倍以上。
主要特性
生成的拼音不包含声调和方言,均为大写;
支持自定义词典;
执行效率很高(Pinyin4J 的 4~16 倍);
很低的内存占用(不添加词典时小于 30KB)。
主导入Gradle
使用方法
词典API
github: https://github.com/Cedric-Xuan/Sort
❹ android里如何将汉字转换成拼音字母
这个问题跟android没有关系,最好是改成java里如何将汉字转换成拼音字母
有一个类库:pinyin4j
还有例子http://hi..com/ogezkwhalp/item/eb325bc8d1d4d46bf7c95dbf
❺ android 如何输入首字母进行地址城市模糊检索
Android中ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,一般对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表可以直接从数据库中获取它的汉字拼音,而对于一般的数据,实现A-Z的排序,基实只需要将汉字转换成拼音就行了。
以下为步骤:
SortModel 一个实体类,里面一个是ListView的name,另一个就是显示的name拼音的首字母。
2.SideBar类就是ListView右侧的字母索引View,需要使用setTextView(TextView mTextDialog)来设置用来显示当前按下的字母的TextView,以及使用方法来设置回调接口,在回调方法onTouchingLetterChanged(String s)中来处理不同的操作。
3.CharacterParser这个类是将汉字转换成拼音的类,该拼音没有声调的,该类是单例类,其中定义了三个方法,在这个demo中用到的是getSelling(String chs)方法,将词组转换成拼音。
4.ClearEditText类是自定义的一个在右侧有删除图片的EditText,当然也可以用Android原生的EditText,这里就不贴上代码了Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框。
5.SortAdapter 数据的适配器类,该类需要实现SectionIndexer接口,该接口是用来控制ListView分组的。
6.最后运行效果