【发布时间】:2021-02-09 23:22:20
【问题描述】:
我正在尝试以ArrayList 的形式从 sqlite 表中获取所有行
我在表中成功存储了四行(id INTEGER,title TEXT,image BLOB)
但是当我尝试获取并显示这四行时,我只得到最后一行重复
这是我的模特..
public class FileUploaded {
private int id;
private String title;
private Bitmap image;
public FileUploaded(int id, String title, Bitmap img){
this.id=id;
this.title=title;
this.image=img;
}
public FileUploaded(){}
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
public void setTitle(String title){
this.title=title;
}
public String getTitle(){
return title;
}
public void setImage(Bitmap img){
this.image=img;
}
public Bitmap getImage(){
return image;
}
}
这是我的获取功能..
public ArrayList<FileUploaded> getFiles(){
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<FileUploaded> results = new ArrayList<>();
FileUploaded file = new FileUploaded();
Cursor cs = db.rawQuery("SELECT * FROM files",null);
if (cs.moveToFirst()) {
while (cs.isAfterLast() == false) {
file.setId(cs.getInt(cs.getColumnIndex("id")));
file.setTitle(cs.getString(cs.getColumnIndex("title")));
file.setImage(BitmapUtility.getImage(cs.getBlob(cs.getColumnIndex("image"))));
results.add(file);
cs.moveToNext();
}
}
return results;
}
这是我的显示功能
ArrayList<FileUploaded> tst = db.getFiles();
for (int i = 0; i<tst.size();i++){
FileUploaded file = tst.get(i);
Log.w("Display :", "id="+file.getId()+" title="+file.getTitle());
}
希望你们能帮帮我..
【问题讨论】:
标签: java android sqlite android-sqlite