我正在从事一个项目以进入 android 开发,在我考虑从文本文件中读取数据之前了解一些 java 知识,该文本文件将被格式化为这样;
Type: House
Image link: www.bit.ly/image1
Name: Black
Download Link: www.bit.ly/image1download
----------
Type: Car
Image link: www.bit.ly/image2
Name: yellow
Download Link: www.bit.ly/image2download
----------
Type: Backyard
Image link: www.bit.ly/image3
Name: Green
Download Link: www.bit.ly/image3download
----------
Type: Window
Image link: www.bit.ly/image4
Name: Solid
Download Link: www.bit.ly/image4download
----------
Type: Table
Image link: www.bit.ly/image5
Name: Brown
Download Link: www.bit.ly/image5download
----------
数据每组包含4条信息,Type,Image,Name,Download。我需要一种读取它并将其保存/写入数组列表的方法,然后我可以将其显示在我将在我的应用程序中使用的 ListView 中。 (我目前正在查看有关创建 ListView 的教程,如果您知道任何有用的教程,请告诉我)
Arraylist <String> data = new ArrayList<String>();
Data.add(“House”,” www.bit.ly/image1”,”black”,”www.bit.ly/image1download”);
Data.add(“Car”,” www.bit.ly/image2”,”yellow”,” www.bit.ly/image2download”);
……..
……..
实际上会有更多的数据然后只有 5 组,所以我想使用 for 循环遍历每个数据数据并将其添加到数据数组列表中。
我不确定如何解决这个问题,欢迎任何帮助,我真的被困住了。如果我没有正确解释我的问题,请告诉我。
编辑:
这是从文本文件中读取数据的正确方法吗?
Scanner content = new Scanner(new File("Data.txt"));
ArrayList<String> data = new ArrayList<String>();
while (content.hasNext()){
data.add(content.next());
}
content.close();
或者这是android中的另一种方式
最佳答案
在开始之前通过这个链接阅读
How can I read a text file in Android?
根据您的需要使用 PoJo 模型,
像这样创建一个 PoJo 类
public class Film {
private String filmName;
private String mainStar;
public String getFilmName() {
return filmName;
}
public void setFilmName(String filmName) {
this.filmName = filmName;
}
public String getMainStar() {
return mainStar;
}
public void setMainStar(String mainStar) {
this.mainStar = mainStar;
}
}
创建数组列表
private ArrayList<Film > filmArray=new ArrayList<Film>();
像这样用你的 PoJo 类的实例存储每个数组列表
for(int i=0;i<sizei++)
{
Film film=new Film();
film.setFilmName("your value");
film.setMainStar("your value");
filmArray.add(film);
}
然后访问 filmArray 列表中 PoJo 类的数组列表中的值列表。
简单而优雅的解决方案。
关于java - 从文本文件读取数据并将其添加到android中的arraylist的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34896446/