近期在項目開發(fā)過程中遇到過一個給你一個中文名字扁耐,然后將姓與名字拆分翻譯成中文的需求,樣例見圖一:
圖1
需求中有兩個關(guān)鍵點:如何進行姓氏與名字拆分,和如何將漢字翻譯成拼音
由于開發(fā)經(jīng)驗較少,本著學習的態(tài)度朵逝,于是先在網(wǎng)上查找各位前輩有什么解決辦法,轉(zhuǎn)拼音倒是
挺簡單的乡范,網(wǎng)上有開源的pinyin4j拿著用就行了配名。難點在于姓氏與名字拆分,畢竟名字可能復姓晋辆,乃至于更稀奇的姓氏渠脉。
經(jīng)查找資料倒是挺少的,最后決定采用下面這個作者的思路https://blog.csdn.net/qq136490497/article/details/79698014
但是由于這個作者只提供了思路瓶佳,關(guān)鍵方法并沒有提供芋膘,于是稍微自己進行完善,并利用他的姓氏表:
現(xiàn)將代碼直接貼出霸饲,具體可見注釋:
首先倒入依賴包:
implementation'com.github.open-android:pinyin4j:2.5.0'
//Gson
implementation'com.google.code.gson:gson:2.8.5'
創(chuàng)建實體類:NameInfo
class NameInfo {
private Stringsurname;
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
然后進入主體代碼編寫:
public class MainActivityextends AppCompatActivityimplements View.OnClickListener {
private Buttonbutton1;
private Buttonbutton2;
private Stringtext;
private EditTextcontent;
private
static Stringjson
="{\"RECORDS\":[{\"surname\":\"李\"},{\"surname\":\"納蘭\"},{\"surname\":\"王\"},{\"surname\":\"張\"},{\"surname\":\"劉\"},{\"surname\":\"陳\"},{\"surname\":\"楊\"},{\"surname\":\"趙\"},{\"surname\":\"黃\"},{\"surname\":\"周\"},{\"surname\":\"吳\"},{\"surname\":\"徐\"},{\"surname\":\"孫\"},{\"surname\":\"胡\"},{\"surname\":\"朱\"},{\"surname\":\"高\"},{\"surname\":\"林\"},{\"surname\":\"何\"},{\"surname\":\"郭\"},{\"surname\":\"夏侯\"},{\"surname\":\"馬\"},{\"surname\":\"羅\"},{\"surname\":\"梁\"},{\"surname\":\"宋\"},{\"surname\":\"鄭\"},{\"surname\":\"謝\"},{\"surname\":\"韓\"},{\"surname\":\"唐\"},{\"surname\":\"馮\"},{\"surname\":\"于\"},{\"surname\":\"董\"},{\"surname\":\"蕭\"},{\"surname\":\"程\"},{\"surname\":\"曹\"},{\"surname\":\"袁\"},{\"surname\":\"鄧\"},{\"surname\":\"許\"},{\"surname\":\"傅\"},{\"surname\":\"沈\"},{\"surname\":\"曾\"},{\"surname\":\"彭\"},{\"surname\":\"呂\"},{\"surname\":\"蘇\"},{\"surname\":\"盧\"},{\"surname\":\"蔣\"},{\"surname\":\"蔡\"},{\"surname\":\"魏\"},{\"surname\":\"賈\"},{\"surname\":\"丁\"},{\"surname\":\"薛\"},{\"surname\":\"葉\"},{\"surname\":\"閻\"},{\"surname\":\"余\"},{\"surname\":\"潘\"},{\"surname\":\"杜\"},{\"surname\":\"戴\"},{\"surname\":\"夏\"},{\"surname\":\"鐘\"},{\"surname\":\"汪\"},{\"surname\":\"田\"},{\"surname\":\"任\"},{\"surname\":\"姜\"},{\"surname\":\"范\"},{\"surname\":\"方\"},{\"surname\":\"石\"},{\"surname\":\"姚\"},{\"surname\":\"譚\"},{\"surname\":\"廖\"},{\"surname\":\"鄒\"},{\"surname\":\"熊\"},{\"surname\":\"金\"},{\"surname\":\"陸\"},{\"surname\":\"郝\"},{\"surname\":\"孔\"},{\"surname\":\"白\"},{\"surname\":\"崔\"},{\"surname\":\"康\"},{\"surname\":\"毛\"},{\"surname\":\"邱\"},{\"surname\":\"秦\"},{\"surname\":\"江\"},{\"surname\":\"史\"},{\"surname\":\"顧\"},{\"surname\":\"侯\"},{\"surname\":\"邵\"},{\"surname\":\"孟\"},{\"surname\":\"龍\"},{\"surname\":\"萬\"},{\"surname\":\"段\"},{\"surname\":\"雷\"},{\"surname\":\"錢\"},{\"surname\":\"湯\"},{\"surname\":\"尹\"},{\"surname\":\"易\"},{\"surname\":\"黎\"},{\"surname\":\"常\"},{\"surname\":\"武\"},{\"surname\":\"喬\"},{\"surname\":\"賀\"},{\"surname\":\"賴\"},{\"surname\":\"龔\"},{\"surname\":\"文\"},{\"surname\":\"歐陽\"},{\"surname\":\"愛新覺羅\"},{\"surname\":\"褚\"},{\"surname\":\"衛(wèi)\"},{\"surname\":\"尤\"},{\"surname\":\"施\"},{\"surname\":\"嚴\"},{\"surname\":\"華\"},{\"surname\":\"戚\"},{\"surname\":\"喻\"},{\"surname\":\"柏\"},{\"surname\":\"水\"},{\"surname\":\"竇\"},{\"surname\":\"章\"},{\"surname\":\"云\"},{\"surname\":\"葛\"},{\"surname\":\"奚\"},{\"surname\":\"郎\"},{\"surname\":\"魯\"},{\"surname\":\"韋\"},{\"surname\":\"昌\"},{\"surname\":\"苗\"},{\"surname\":\"鳳\"},{\"surname\":\"花\"},{\"surname\":\"俞\"},{\"surname\":\"柳\"},{\"surname\":\"酆\"},{\"surname\":\"鮑\"},{\"surname\":\"費\"},{\"surname\":\"廉\"},{\"surname\":\"岑\"},{\"surname\":\"倪\"},{\"surname\":\"滕\"},{\"surname\":\"殷\"},{\"surname\":\"畢\"},{\"surname\":\"鄔\"},{\"surname\":\"安\"},{\"surname\":\"樂\"},{\"surname\":\"時\"},{\"surname\":\"皮\"},{\"surname\":\"卞\"},{\"surname\":\"齊\"},{\"surname\":\"伍\"},{\"surname\":\"元\"},{\"surname\":\"卜\"},{\"surname\":\"平\"},{\"surname\":\"和\"},{\"surname\":\"穆\"},{\"surname\":\"湛\"},{\"surname\":\"祁\"},{\"surname\":\"禹\"},{\"surname\":\"狄\"},{\"surname\":\"米\"},{\"surname\":\"貝\"},{\"surname\":\"明\"},{\"surname\":\"臧\"},{\"surname\":\"計\"},{\"surname\":\"伏\"},{\"surname\":\"成\"},{\"surname\":\"談\"},{\"surname\":\"茅\"},{\"surname\":\"龐\"},{\"surname\":\"紀\"},{\"surname\":\"舒\"},{\"surname\":\"屈\"},{\"surname\":\"項\"},{\"surname\":\"祝\"},{\"surname\":\"阮\"},{\"surname\":\"藍\"},{\"surname\":\"閔\"},{\"surname\":\"席\"},{\"surname\":\"季\"},{\"surname\":\"麻\"},{\"surname\":\"強\"},{\"surname\":\"路\"},{\"surname\":\"婁\"},{\"surname\":\"危\"},{\"surname\":\"童\"},{\"surname\":\"顏\"},{\"surname\":\"梅\"},{\"surname\":\"盛\"},{\"surname\":\"刁\"},{\"surname\":\"鍾\"},{\"surname\":\"宣\"},{\"surname\":\"賁\"},{\"surname\":\"郁\"},{\"surname\":\"單\"},{\"surname\":\"杭\"},{\"surname\":\"洪\"},{\"surname\":\"包\"},{\"surname\":\"諸\"},{\"surname\":\"左\"},{\"surname\":\"吉\"},{\"surname\":\"鈕\"},{\"surname\":\"嵇\"},{\"surname\":\"邢\"},{\"surname\":\"滑\"},{\"surname\":\"裴\"},{\"surname\":\"榮\"},{\"surname\":\"翁\"},{\"surname\":\"荀\"},{\"surname\":\"羊\"},{\"surname\":\"於\"},{\"surname\":\"惠\"},{\"surname\":\"甄\"},{\"surname\":\"麴\"},{\"surname\":\"家\"},{\"surname\":\"封\"},{\"surname\":\"芮\"},{\"surname\":\"羿\"},{\"surname\":\"儲\"},{\"surname\":\"靳\"},{\"surname\":\"汲\"},{\"surname\":\"邴\"},{\"surname\":\"糜\"},{\"surname\":\"松\"},{\"surname\":\"井\"},{\"surname\":\"富\"},{\"surname\":\"巫\"},{\"surname\":\"烏\"},{\"surname\":\"焦\"},{\"surname\":\"巴\"},{\"surname\":\"弓\"},{\"surname\":\"牧\"},{\"surname\":\"隗\"},{\"surname\":\"山\"},{\"surname\":\"谷\"},{\"surname\":\"車\"},{\"surname\":\"宓\"},{\"surname\":\"蓬\"},{\"surname\":\"全\"},{\"surname\":\"郗\"},{\"surname\":\"班\"},{\"surname\":\"仰\"},{\"surname\":\"秋\"},{\"surname\":\"仲\"},{\"surname\":\"伊\"},{\"surname\":\"宮\"},{\"surname\":\"寧\"},{\"surname\":\"仇\"},{\"surname\":\"欒\"},{\"surname\":\"暴\"},{\"surname\":\"甘\"},{\"surname\":\"鈄\"},{\"surname\":\"歷\"},{\"surname\":\"戎\"},{\"surname\":\"祖\"},{\"surname\":\"符\"},{\"surname\":\"景\"},{\"surname\":\"詹\"},{\"surname\":\"束\"},{\"surname\":\"幸\"},{\"surname\":\"司\"},{\"surname\":\"韶\"},{\"surname\":\"郜\"},{\"surname\":\"薊\"},{\"surname\":\"溥\"},{\"surname\":\"印\"},{\"surname\":\"宿\"},{\"surname\":\"懷\"},{\"surname\":\"蒲\"},{\"surname\":\"邰\"},{\"surname\":\"從\"},{\"surname\":\"鄂\"},{\"surname\":\"索\"},{\"surname\":\"咸\"},{\"surname\":\"籍\"},{\"surname\":\"卓\"},{\"surname\":\"藺\"},{\"surname\":\"屠\"},{\"surname\":\"蒙\"},{\"surname\":\"池\"},{\"surname\":\"陽\"},{\"surname\":\"胥\"},{\"surname\":\"能\"},{\"surname\":\"蒼\"},{\"surname\":\"雙\"},{\"surname\":\"聞\"},{\"surname\":\"莘\"},{\"surname\":\"黨\"},{\"surname\":\"貢\"},{\"surname\":\"勞\"},{\"surname\":\"逄\"},{\"surname\":\"姬\"},{\"surname\":\"申\"},{\"surname\":\"扶\"},{\"surname\":\"堵\"},{\"surname\":\"冉\"},{\"surname\":\"宰\"},{\"surname\":\"酈\"},{\"surname\":\"雍\"},{\"surname\":\"卻\"},{\"surname\":\"璩\"},{\"surname\":\"桑\"},{\"surname\":\"桂\"},{\"surname\":\"濮\"},{\"surname\":\"牛\"},{\"surname\":\"壽\"},{\"surname\":\"通\"},{\"surname\":\"邊\"},{\"surname\":\"扈\"},{\"surname\":\"燕\"},{\"surname\":\"冀\"},{\"surname\":\"僪\"},{\"surname\":\"浦\"},{\"surname\":\"尚\(zhòng)"},{\"surname\":\"農(nóng)\"},{\"surname\":\"溫\"},{\"surname\":\"別\"},{\"surname\":\"莊\"},{\"surname\":\"晏\"},{\"surname\":\"柴\"},{\"surname\":\"充\"},{\"surname\":\"慕\"},{\"surname\":\"連\"},{\"surname\":\"茹\"},{\"surname\":\"習\"},{\"surname\":\"宦\"},{\"surname\":\"艾\"},{\"surname\":\"魚\"},{\"surname\":\"容\"},{\"surname\":\"向\"},{\"surname\":\"古\"},{\"surname\":\"慎\"},{\"surname\":\"戈\"},{\"surname\":\"庾\"},{\"surname\":\"終\"},{\"surname\":\"暨\"},{\"surname\":\"居\"},{\"surname\":\"衡\"},{\"surname\":\"步\"},{\"surname\":\"都\"},{\"surname\":\"耿\"},{\"surname\":\"滿\"},{\"surname\":\"弘\"},{\"surname\":\"匡\"},{\"surname\":\"國\"},{\"surname\":\"寇\"},{\"surname\":\"廣\"},{\"surname\":\"祿\"},{\"surname\":\"闕\"},{\"surname\":\"東\"},{\"surname\":\"歐\"},{\"surname\":\"殳\"},{\"surname\":\"沃\"},{\"surname\":\"利\"},{\"surname\":\"蔚\"},{\"surname\":\"越\"},{\"surname\":\"夔\"},{\"surname\":\"隆\"},{\"surname\":\"師\"},{\"surname\":\"鞏\"},{\"surname\":\"厙\"},{\"surname\":\"聶\"},{\"surname\":\"晁\"},{\"surname\":\"勾\"},{\"surname\":\"敖\"},{\"surname\":\"融\"},{\"surname\":\"冷\"},{\"surname\":\"訾\"},{\"surname\":\"辛\"},{\"surname\":\"闞\"},{\"surname\":\"那\"},{\"surname\":\"簡\"},{\"surname\":\"饒\"},{\"surname\":\"空\"},{\"surname\":\"毋\"},{\"surname\":\"沙\"},{\"surname\":\"乜\"},{\"surname\":\"桓\"},{\"surname\":\"公\"},{\"surname\":\"萬俟\"},{\"surname\":\"司馬\"},{\"surname\":\"上官\"},{\"surname\":\"諸葛\"},{\"surname\":\"聞人\"},{\"surname\":\"東方\"},{\"surname\":\"赫連\"},{\"surname\":\"皇甫\"},{\"surname\":\"尉遲\"},{\"surname\":\"公羊\"},{\"surname\":\"澹臺\"},{\"surname\":\"公冶\"},{\"surname\":\"宗政\"},{\"surname\":\"濮陽\"},{\"surname\":\"淳于\"},{\"surname\":\"單于\"},{\"surname\":\"太叔\"},{\"surname\":\"申屠\"},{\"surname\":\"公孫\"},{\"surname\":\"仲孫\"},{\"surname\":\"軒轅\"},{\"surname\":\"令狐\"},{\"surname\":\"鐘離\"},{\"surname\":\"宇文\"},{\"surname\":\"長孫\"},{\"surname\":\"慕容\"},{\"surname\":\"司徒\"},{\"surname\":\"司空\"},{\"surname\":\"召\"},{\"surname\":\"有\(zhòng)"},{\"surname\":\"舜\"},{\"surname\":\"葉赫那拉\"},{\"surname\":\"叢\"},{\"surname\":\"岳\"},{\"surname\":\"寸\"},{\"surname\":\"貳\"},{\"surname\":\"皇\"},{\"surname\":\"僑\"},{\"surname\":\"彤\"},{\"surname\":\"竭\"},{\"surname\":\"端\"},{\"surname\":\"赫\"},{\"surname\":\"實\"},{\"surname\":\"甫\"},{\"surname\":\"集\"},{\"surname\":\"象\"},{\"surname\":\"翠\"},{\"surname\":\"狂\"},{\"surname\":\"辟\"},{\"surname\":\"典\"},{\"surname\":\"良\"},{\"surname\":\"函\"},{\"surname\":\"芒\"},{\"surname\":\"苦\"},{\"surname\":\"其\"},{\"surname\":\"京\"},{\"surname\":\"中\(zhòng)"},{\"surname\":\"夕\"},{\"surname\":\"之\"},{\"surname\":\"章佳\"},{\"surname\":\"那拉\"},{\"surname\":\"冠\"},{\"surname\":\"賓\"},{\"surname\":\"香\"},{\"surname\":\"果\"},{\"surname\":\"依爾根覺羅\"},{\"surname\":\"依爾覺羅\"},{\"surname\":\"薩嘛喇\"},{\"surname\":\"赫舍里\"},{\"surname\":\"額爾德特\"},{\"surname\":\"薩克達\"},{\"surname\":\"鈕祜祿\"},{\"surname\":\"他塔喇\"},{\"surname\":\"喜塔臘\"},{\"surname\":\"訥殷富察\"},{\"surname\":\"葉赫那蘭\"},{\"surname\":\"庫雅喇\"},{\"surname\":\"瓜爾佳\"},{\"surname\":\"舒穆祿\"},{\"surname\":\"索綽絡(luò)\"},{\"surname\":\"納喇\"},{\"surname\":\"烏雅\"},{\"surname\":\"范姜\"},{\"surname\":\"碧魯\"},{\"surname\":\"張廖\"},{\"surname\":\"張簡\"},{\"surname\":\"圖門\"},{\"surname\":\"太史\"},{\"surname\":\"公叔\"},{\"surname\":\"烏孫\"},{\"surname\":\"完顏\"},{\"surname\":\"馬佳\"},{\"surname\":\"佟佳\"},{\"surname\":\"富察\"},{\"surname\":\"費莫\"},{\"surname\":\"蹇\"},{\"surname\":\"稱\"},{\"surname\":\"諾\"},{\"surname\":\"來\"},{\"surname\":\"多\"},{\"surname\":\"繁\"},{\"surname\":\"戊\"},{\"surname\":\"樸\"},{\"surname\":\"回\"},{\"surname\":\"毓\"},{\"surname\":\"稅\"},{\"surname\":\"葷\"},{\"surname\":\"靖\"},{\"surname\":\"緒\"},{\"surname\":\"愈\"},{\"surname\":\"碩\"},{\"surname\":\"牢\"},{\"surname\":\"買\"},{\"surname\":\"但\"},{\"surname\":\"巧\"},{\"surname\":\"枚\"},{\"surname\":\"撒\"},{\"surname\":\"泰\"},{\"surname\":\"秘\"},{\"surname\":\"亥\"},{\"surname\":\"紹\"},{\"surname\":\"以\"},{\"surname\":\"壬\"},{\"surname\":\"森\"},{\"surname\":\"齋\"},{\"surname\":\"釋\"},{\"surname\":\"奕\"},{\"surname\":\"姒\"},{\"surname\":\"朋\"},{\"surname\":\"求\"},{\"surname\":\"羽\"},{\"surname\":\"用\"},{\"surname\":\"占\"},{\"surname\":\"真\"},{\"surname\":\"穰\"},{\"surname\":\"翦\"},{\"surname\":\"閭\"},{\"surname\":\"漆\"},{\"surname\":\"貴\"},{\"surname\":\"代\"},{\"surname\":\"貫\"},{\"surname\":\"旁\"},{\"surname\":\"崇\"},{\"surname\":\"棟\"},{\"surname\":\"告\"},{\"surname\":\"休\"},{\"surname\":\"褒\"},{\"surname\":\"諫\"},{\"surname\":\"銳\"},{\"surname\":\"皋\"},{\"surname\":\"閎\"},{\"surname\":\"在\"},{\"surname\":\"歧\"},{\"surname\":\"禾\"},{\"surname\":\"示\"},{\"surname\":\"是\"},{\"surname\":\"委\"},{\"surname\":\"釗\"},{\"surname\":\"頻\"},{\"surname\":\"嬴\"},{\"surname\":\"呼\"},{\"surname\":\"大\"},{\"surname\":\"威\"},{\"surname\":\"昂\"},{\"surname\":\"律\"},{\"surname\":\"冒\"},{\"surname\":\"保\"},{\"surname\":\"系\"},{\"surname\":\"不\"},{\"surname\":\"戶\"},{\"surname\":\"閉\"},{\"surname\":\"才\"},{\"surname\":\"無\"},{\"surname\":\"書\"},{\"surname\":\"學\"},{\"surname\":\"愚\"},{\"surname\":\"本\"},{\"surname\":\"性\"},{\"surname\":\"雪\"},{\"surname\":\"霜\"},{\"surname\":\"煙\"},{\"surname\":\"寒\"},{\"surname\":\"少\"},{\"surname\":\"字\"},{\"surname\":\"橋\"},{\"surname\":\"板\"},{\"surname\":\"斐\"},{\"surname\":\"獨\"},{\"surname\":\"千\"},{\"surname\":\"詩\"},{\"surname\":\"嘉\"},{\"surname\":\"揚\"},{\"surname\":\"善\"},{\"surname\":\"揭\"},{\"surname\":\"祈\"},{\"surname\":\"析\"},{\"surname\":\"赤\"},{\"surname\":\"紫\"},{\"surname\":\"青\"},{\"surname\":\"柔\"},{\"surname\":\"剛\"},{\"surname\":\"奇\"},{\"surname\":\"拜\"},{\"surname\":\"佛\"},{\"surname\":\"陀\"},{\"surname\":\"彌\"},{\"surname\":\"阿\"},{\"surname\":\"素\"},{\"surname\":\"長\"},{\"surname\":\"僧\"},{\"surname\":\"隱\"},{\"surname\":\"仙\"},{\"surname\":\"雋\"},{\"surname\":\"宇\"},{\"surname\":\"祭\"},{\"surname\":\"酒\"},{\"surname\":\"淡\"},{\"surname\":\"塔\"},{\"surname\":\"琦\"},{\"surname\":\"閃\"},{\"surname\":\"始\"},{\"surname\":\"星\"},{\"surname\":\"南\"},{\"surname\":\"天\"},{\"surname\":\"接\"},{\"surname\":\"波\"},{\"surname\":\"碧\"},{\"surname\":\"速\"},{\"surname\":\"禚\"},{\"surname\":\"騰\"},{\"surname\":\"潮\"},{\"surname\":\"鏡\"},{\"surname\":\"似\"},{\"surname\":\"澄\"},{\"surname\":\"潭\"},{\"surname\":\"謇\"},{\"surname\":\"縱\"},{\"surname\":\"渠\"},{\"surname\":\"奈\"},{\"surname\":\"風\"},{\"surname\":\"春\"},{\"surname\":\"濯\"},{\"surname\":\"沐\"},{\"surname\":\"茂\"},{\"surname\":\"英\"},{\"surname\":\"蘭\"},{\"surname\":\"檀\"},{\"surname\":\"藤\"},{\"surname\":\"枝\"},{\"surname\":\"檢\"},{\"surname\":\"生\"},{\"surname\":\"折\"},{\"surname\":\"登\"},{\"surname\":\"駒\"},{\"surname\":\"騎\"},{\"surname\":\"貊\"},{\"surname\":\"虎\"},{\"surname\":\"肥\"},{\"surname\":\"鹿\"},{\"surname\":\"雀\"},{\"surname\":\"野\"},{\"surname\":\"禽\"},{\"surname\":\"飛\"},{\"surname\":\"節(jié)\"},{\"surname\":\"宜\"},{\"surname\":\"鮮\"},{\"surname\":\"粟\"},{\"surname\":\"栗\"},{\"surname\":\"豆\"},{\"surname\":\"帛\"},{\"surname\":\"官\"},{\"surname\":\"布\"},{\"surname\":\"衣\"},{\"surname\":\"藏\"},{\"surname\":\"寶\"},{\"surname\":\"鈔\"},{\"surname\":\"銀\"},{\"surname\":\"門\"},{\"surname\":\"盈\"},{\"surname\":\"慶\"},{\"surname\":\"喜\"},{\"surname\":\"及\"},{\"surname\":\"普\"},{\"surname\":\"建\"},{\"surname\":\"曲\"},{\"surname\":\"竹\"},{\"surname\":\"百\"},{\"surname\":\"福\"},{\"surname\":\"言\"},{\"surname\":\"第五\"},{\"surname\":\"佟\"},{\"surname\":\"愛\"},{\"surname\":\"年\"},{\"surname\":\"笪\"},{\"surname\":\"譙\"},{\"surname\":\"哈\"},{\"surname\":\"墨\"},{\"surname\":\"南宮\"},{\"surname\":\"賞\"},{\"surname\":\"伯\"},{\"surname\":\"佴\"},{\"surname\":\"佘\"},{\"surname\":\"牟\"},{\"surname\":\"商\"},{\"surname\":\"西門\"},{\"surname\":\"東門\"},{\"surname\":\"左丘\"},{\"surname\":\"梁丘\"},{\"surname\":\"琴\"},{\"surname\":\"況\"},{\"surname\":\"亢\"},{\"surname\":\"緱\"},{\"surname\":\"帥\"},{\"surname\":\"微生\"},{\"surname\":\"羊舌\"},{\"surname\":\"海\"},{\"surname\":\"歸\"},{\"surname\":\"呼延\"},{\"surname\":\"南門\"},{\"surname\":\"東郭\"},{\"surname\":\"百里\"},{\"surname\":\"欽\"},{\"surname\":\"鄢\"},{\"surname\":\"汝\"},{\"surname\":\"法\"},{\"surname\":\"閆\"},{\"surname\":\"楚\"},{\"surname\":\"晉\"},{\"surname\":\"谷梁\"},{\"surname\":\"宰父\"},{\"surname\":\"夾谷\"},{\"surname\":\"拓跋\"},{\"surname\":\"壤駟\"},{\"surname\":\"樂正\"},{\"surname\":\"漆雕\"},{\"surname\":\"公西\"},{\"surname\":\"巫馬\"},{\"surname\":\"端木\"},{\"surname\":\"顓孫\"},{\"surname\":\"子車\"},{\"surname\":\"督\"},{\"surname\":\"仉\"},{\"surname\":\"司寇\"},{\"surname\":\"亓官\"},{\"surname\":\"湯 \"},{\"surname\":\"龐 \"},{\"surname\":\"牙\"},{\"surname\":\"翟
\"},{\"surname\":\"瞿 \"},{\"surname\":\"嫣\"},{\"surname\":\"陶\"}]}";
private NameInfoinfo;
private ListinfoList;
//裝匹配到的姓氏
? ? private ListjsonName;
@Override
? ? protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setListener();
runOnUiThread(new Runnable() {
@Override
? ? ? ? ? ? public void run() {
}
});
//? ? ? ? getDatasync();
? ? }
public void getDatasync(){
new Thread(new Runnable() {
@Override
? ? ? ? ? ? public void run() {
try {
OkHttpClient client =new OkHttpClient();//創(chuàng)建OkHttpClient對象
? ? ? ? ? ? ? ? ? ? Request request =new Request.Builder()
.url("http://www.baidu.com")//請求接口为朋。如果需要傳參拼接到接口后面。
? ? ? ? ? ? ? ? ? ? ? ? ? ? .build();//創(chuàng)建Request 對象
? ? ? ? ? ? ? ? ? ? Response response =null;
response = client.newCall(request).execute();//得到Response 對象
? ? ? ? ? ? ? ? ? ? if (response.isSuccessful()) {
Log.d("kwwl","response.code()=="+response.code());
Log.d("kwwl","response.message()=="+response.message());
Log.d("kwwl","res=="+response.body().string());
//此時的代碼執(zhí)行在子線程厚脉,修改UI的操作請使用handler跳轉(zhuǎn)到UI線程习寸。
? ? ? ? ? ? ? ? ? ? }
}catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
private void initView() {
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
content = findViewById(R.id.et_content);
}
private void setListener() {
button1.setOnClickListener(this);
button2.setOnClickListener(this);
}
//將漢語轉(zhuǎn)換成拼音
? ? public String changePinyin(String a) {
String pinyin ="";
char[] chars = a.toCharArray();
List list = list =new ArrayList<>();
for (int i =0; i < chars.length; i++) {
//-------------------指定格式轉(zhuǎn)換----------------------------
? ? ? ? ? ? HanyuPinyinOutputFormat format =new HanyuPinyinOutputFormat();
//輸出小寫
? ? ? ? ? ? format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
//無音標
? ? ? ? ? ? format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
// WITH_V:用v表示ü? (nv)
? ? ? ? ? ? format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
try {
if (a.isEmpty()) {
Toast.makeText(MainActivity.this,"數(shù)據(jù)不能為空", Toast.LENGTH_SHORT).show();
}else {
//存儲一個字的所有發(fā)音
? ? ? ? ? ? ? ? ? ? String[] all = PinyinHelper.toHanyuPinyinStringArray(chars[i], format);
//多音字時默認取第一個發(fā)音
? ? ? ? ? ? ? ? ? ? String text1 = all[0];
list.add(text1);
}
}catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) {
badHanyuPinyinOutputFormatCombination.printStackTrace();
}
}
for (int i =0; i < chars.length; i++) {
pinyin += list.get(i);
}
return pinyin;
}
//姓氏拼音
? ? public String xingPinyin(String a) {
char[] b = a.toCharArray();
return changePinyin(String.valueOf(b[0]));
}
//名字拼音
? ? public String mingPinyin(String a) {
String b = a.substring(1, a.length());
return changePinyin(b);
}
//姓氏與名字的拆分
? ? private String getFirstName(String str, String json) {
infoList =new ArrayList();
jsonName =new ArrayList();
Gson gson =new Gson();
//姓氏存在于姓氏表與否
? ? ? ? String surname ="";
JsonParser parser =new JsonParser();
JsonObject object = parser.parse(json).getAsJsonObject();
JsonArray array = object.get("RECORDS").getAsJsonArray();
for (JsonElement element : array) {
// 遍歷取出數(shù)組里的每個element, 此處就跟把一個把簡單json字符串轉(zhuǎn)成對象一樣了
? ? ? ? ? ? info = gson.fromJson(element, NameInfo.class);
infoList.add(info);
}
for (int i =0; i
if (str.contains(infoList.get(i).getSurname())) {
char[] name = str.toCharArray();
String firtFont = String.valueOf(name[0]);
if (infoList.get(i).getSurname().contains(firtFont)) {
jsonName.add(infoList.get(i).getSurname());
surname =jsonName.get(0);
Log.i("jsonName",surname);
return surname;
}else {
surname ="";
}
}
}
//? ? ? ? for (int i = 0; i < jsonName.size(); i++) {
//? ? ? ? ? ? System.out.println(str + " 的姓氏為: " + jsonName.get(i));
//? ? ? ? }
? ? ? ? System.out.println(str +" 的姓氏為: " + surname);
return surname;
}
@Override
? ? public void onClick(View view) {
if (view.getId() == R.id.button1) {
text = String.valueOf(content.getText());
if (text.isEmpty()) {
Toast.makeText(MainActivity.this,"數(shù)據(jù)不能為空", Toast.LENGTH_SHORT).show();
}else {
//? ? ? ? ? ? ? ? String b=text.substring(0,1);
//? ? ? ? ? ? ? ? String tr1=text.replaceAll(" ","");
//判斷姓氏是否存在于姓氏表,沒有即默認第一個漢字為姓
? ? ? ? ? ? ? ? if (!getFirstName(text,json).isEmpty()) {
Log.i("key2", getFirstName(text,json));
button1.setText(changePinyin(getFirstName(text,json)));
}else {
String b =text.substring(0,1);
System.out.println(getFirstName(text,json));
button1.setText(changePinyin(b));
}
}
}
if (view.getId() == R.id.button2) {
text = String.valueOf(content.getText());
if (text.isEmpty()) {
Toast.makeText(MainActivity.this,"數(shù)據(jù)不能少于兩個字", Toast.LENGTH_SHORT).show();
}else {
String a = getFirstName(text,json);
if (!a.isEmpty()) {
char[] chars = a.toCharArray();
//? ? ? ? ? ? ? ? String tr1=text.replaceAll(" ","");
? ? ? ? ? ? ? ? ? ? String b =text.substring(chars.length,text.length());
Log.i("key3", b);
button2.setText(changePinyin(b));
}else {
String b =text.substring(1,text.length());
button2.setText(changePinyin(b));
}
}
}
}
}
另提供布局文件:
<?xml version="1.0" encoding="utf-8"?>
? ? xmlns:app="http://schemas.android.com/apk/res-auto"
? ? xmlns:tools="http://schemas.android.com/tools"
? ? android:layout_width="match_parent"
? ? android:layout_height="match_parent"
? ? android:orientation="vertical"
? ? tools:context=".MainActivity">
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/et_content"
? ? ? ? app:layout_constraintBottom_toBottomOf="parent"
? ? ? ? app:layout_constraintLeft_toLeftOf="parent"
? ? ? ? app:layout_constraintRight_toRightOf="parent"
? ? ? ? app:layout_constraintTop_toTopOf="parent" />
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/button1"
? ? ? ? android:textAllCaps="false"/>
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:id="@+id/button2"
? ? ? ? android:textAllCaps="false" />
由于無法確定多音字的讀音傻工,還有些姓氏表不完整霞溪,姓氏表沒有的話,取第一個字為姓中捆,復姓也有可能檢索出來比第一個字慢出現(xiàn)鸯匹,就可能取第一個字為姓氏了,方法只能盡量保證翻譯的準確泄伪,不能保證百分百殴蓬,請大家見諒。
由于是第一次寫簡書臂容,寫作布局弄的好難看,大家見諒根蟹。當然最關(guān)鍵的是我要下班了脓杉,哈哈,隨便弄弄的