[AS005] Android 成语辞典查询小助手
先看效果:
原理:成语辞典,csv文件作为数据源->读取数据源转为实体类List->以实体类属性一作为判断依据,依次判断是否满足输入的查询条件->removeall不满足条件的List成员->展示List
部分代码片段:
protected void prepDic() { InputStreamReader is = null; try { is = new InputStreamReader(getAssets().open("dic3.csv")); BufferedReader reader = new BufferedReader(is); String line; while ((line = reader.readLine()) != null) { String[] row = line.split(","); dicitem item = new dicitem(); item.setno(row[0].toString()); item.setname(row[1].toString()); item.setpinyin(row[2].toString()); item.setshiyi(row[3].toString()); item.setchuchu(row[4].toString()); item.setliju(row[5].toString()); resultList.add(item); } } catch (IOException e) { e.printStackTrace(); } }
if(para1_str.trim().isEmpty()==false){ requiredmatchpoint.set(requiredmatchpoint.get() + 1);//要求匹配点 if(String.valueOf(e.name.charAt(0)).toString().trim().equals(para1_str.trim())){ //item保留 realmatchpoint.set(realmatchpoint.get() + 1);//实际匹配点 }else{ //不匹配,添加进toberomove List,将排除 } }
resultList.removeAll(toberomove); StringBuilder sb = new StringBuilder(); sb.append("(共"+resultList.size()+"个成语)"); for(dicitem e:resultList) { sb.append("\n-----------------\n 成语:"+e.name+" "+e.pinyin + "\n 释义:"+e.shiyi + "\n 出处:"+ e.chuchu + "\n 例句:" +e.liju ); res.setText(sb.toString()); }