制作一个Android应用程序,其中用户将获得一个ID,然后单击“提交”。使用该ID,它将搜索文本文件,如果找到它将在单独的文本视图中显示内容。
txt文件看起来像这样,每个内容用逗号分隔(“,”)
541,BoB,05-18-2014
483,Phil,01-19-1992
971,Komarov,10-30-1858
文本文件位于res / raw / players.txt
中为按钮设置onClick处理程序。我不确定应该使用什么类型的阅读器以及如何搜索其内容。到目前为止,我有,
try {
Resources res = getResources();
InputStream ins = res.openRawResource(R.raw.players);
byte[] b = new byte[ins.available()];
ins.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.print("error, cant read");
}
答案 0 :(得分:0)
上述文本格式通常称为CSV格式,因为它们是以逗号分隔的值。
您可以通过多种方式执行此操作,具体取决于您的偏好。我在文本文件中进行了精确搜索,但是在计算机上使用Java而不是在Android中。基本区别在于如何在设备上定义文件的位置。你可以像StackOverflow post一样。请记住,您需要在字符串上使用split方法,并使用“,”分隔符。示例 - String [] out = line.split(“,”);
前面提到的链接使用双维数组,您可以通过循环索引搜索特定“ID”的行。找到后,可以在嵌套循环中访问该行的其余数据,然后将其放入相应的TextView。
<强>附录强> 在将每一行拆分为组件时,可以避免无用的处理和内存使用。相反,只需将每一行存储在String数组中并比较前几个字符。成功匹配后,为每个数据项拆分该行。
如果您要处理非常大的文本文件,可能需要查看搜索和其他搜索优化。
祝你好运!