汉字转拼音库 TinyPinyin¶
项目地址: https://github.com/promeG/TinyPinyin
这里我们使用2.0.3版本。最新(2020-4-16)是3.0.0版本。
多音字¶
这个库里并没有囊括所有的多音字词。我们可以添加自定义的多音字数据。
使用PinyinMapDict¶
关于自定义多音词典的使用
Pinyin.init(Pinyin.newConfig()
.with(new PinyinMapDict() {
@Override
public Map<String, String[]> mapping() {
HashMap<String, String[]> map = new HashMap<String, String[]>();
map.put("重庆", new String[]{"CHONG", "QING"});
return map;
}
}));
添加assets里的多音字文件¶
首先准备好多音字文本文件。内容格式如下
keng'sheng 吭声
hui'he 会合
kuai'ji 会计
cai'kuai 财会
定义资源类,继承AndroidAssetDict
public class CnCityFullDict extends AndroidAssetDict {
public CnCityFullDict(Context context) {
super(context);
}
@Override
protected String assetFileName() {
return "cncity_fulllist.txt";
}
}
assetFileName
方法返回assets目录下的资源文件名。同理我们可以创建多个资源类。
在init
方法中进行配置。使用资源文件。使用多个资源文件时注意
Pinyin.init(Pinyin.newConfig()
.with(new CnCityFullDict(getApplicationContext()))
.with(new PinyinDuoYin(getApplicationContext())));
注意,要使自定义的词库生效,需要使用toPinyin
方法,否则不会起效
public String toPinyin(String str, String separator)