android平台 pinyin4j 汉字转换中文问题
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 android pinyin4j 汉字转拼音 --------------------编程问答-------------------- 找到问题了,是因为ChineseToPinyinResource.java这个文件初始化读取 文件时失败
private void initializeResource()
{
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包执行时,都无法读取文件。。求指教啊
补充:移动开发 , Android