android 原生汉字转拼音用的是HanziToPinyin.java ,但是有些中文字符会转换错误,所以我将HanziToPinyin.java修改了下,改用pinyin4j进行转码,但是碰到一个很奇怪的问题
private static HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
static {
outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
outputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
outputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
} public static String hanYuPinYin(String key) {
String ss = "";
try{
ss = PinyinHelper.toHanyuPinyinString(key, outputFormat, "");
}catch(Exception e){
Log.w("HanziToPinyin","[hanYuPinYin]pinyin convert key:" + key + " failed !");
}
Log.d("HanziToPinyin","key:"+key+",ss:"+ss);
return String.valueOf(ss.trim());
}
以上是我的代码,单独在java工程里使用上段代码,转换是正常的,输入"呵"输出 "HE"但是我将上述代码移植到 contactsprovider 包下 HanziToPinyin.java中时,当我插入一个名字为"呵呵"的联系人,转换后仍是中文,有人在android碰到这个奇怪的问题不以下是android的log截图
androidpingyin4j androidpinyin4j汉字转拼音
private static HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
static {
outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
outputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
outputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
} public static String hanYuPinYin(String key) {
String ss = "";
try{
ss = PinyinHelper.toHanyuPinyinString(key, outputFormat, "");
}catch(Exception e){
Log.w("HanziToPinyin","[hanYuPinYin]pinyin convert key:" + key + " failed !");
}
Log.d("HanziToPinyin","key:"+key+",ss:"+ss);
return String.valueOf(ss.trim());
}
以上是我的代码,单独在java工程里使用上段代码,转换是正常的,输入"呵"输出 "HE"但是我将上述代码移植到 contactsprovider 包下 HanziToPinyin.java中时,当我插入一个名字为"呵呵"的联系人,转换后仍是中文,有人在android碰到这个奇怪的问题不以下是android的log截图
androidpingyin4j androidpinyin4j汉字转拼音
解决方案 »
- 用android单元测试即junit,测试新浪微博API问题。。
- 小菜求助 关于listview的问题
- 要做android上的推送,时androidpn / mqtt 这类开源方案好还是第三方推送服务好?
- Thead发送信息让handler来处理的问题
- android 实现循环呼叫的功能
- android自动更新程序该如何做?
- android 标签 字体大小
- 如何在ANDROID中编写一个键盘记录..?
- 刚接触android,麻烦看看为什么这布局会报错!
- 求教:帮忙看看 android-serialport-api 要怎么下载源码下来
- [android] Fragment嵌套与返回键问题
- apk反编译的问题,反编译出来的东西不知道怎么改。求救
{
try
{
final String resourceName = "/pinyindb/unicode_to_hanyu_pinyin.txt"; setUnicodeToHanyuPinyinTable(new Properties());
getUnicodeToHanyuPinyinTable().load(ResourceHelper.getResourceInputStream(resourceName)); } catch (FileNotFoundException ex)
{
ex.printStackTrace();
} catch (IOException ex)
{
ex.printStackTrace();
}
}
那这个jar包我还怎么用,都没法读取jar包执行时,都无法读取文件。。求指教啊