我从我的截击请求
获得 json数组我在json中获取了一个雇员列表作为jsonObject在android中的ListView中显示它们的有效方法
public class Employee{
private String Name;
private int Age,Pay;
public Movie(String Name,int Age ,int Pay){
this.Name=Name;
this.Age =Age ;
this.Pay=Pay;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name= Name;
}
public int getAge() {
return Age;
}
public void setAge(int Age) {
this.Age= Age;
}
public int getPay() {
return Pay;
}
public void setPay(int Pay) {
this.Pay= Pay;
}
}
在我的json请求中我将其解析为
private List<Employee > empList= new ArrayList<Employee >();
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
Employee emp= new Movie();
emp.setName(obj.getString("Name"));
emp.setAge((obj.getInt("Age"));
emp.setPay(obj.getInt("Pay"));
empList.add(movie);
}
我主要担心的是,我是否必须为每个员工条目真正创建这么多对象,如果我必须显示 1000名员工详细信息,那么它不会影响应用程序的性能
答案 0 :(得分:0)
是的,你需要像你正在做的那样迭代每个对象但是如果你不想要那个开销,你可以使用retrofit
和gson
直接给你object list
(但也在迭代每个对象的场景后面。)
答案 1 :(得分:0)
首先,尝试使用Gson解析你的json。 如果您想要更好的性能,请尝试使用RecyclerView而不是listview。然后,按照您的说法显示 1000员工没有问题。 对于对象使用构造函数也是比setter更好的解决方案。
答案 2 :(得分:0)
您应该使用retrofit和Gson来避免手动JSON解析。对于性能增强,您应该使用RecyclerView而不是ListView和延迟加载。如果您的数据太大,那么您可以划分50个记录的插槽,并进一步请求加载更多数据。