如何在android中创建findAll()方法
如何在android中创建findAll?我已经试过了,但我不能做到 公开名单{ 游标c=mDb.rawQuery选择*自+表_名称;} 这是Medicament.java如何在android中创建findAll()方法,android,sqlite,dao,Android,Sqlite,Dao,如何在android中创建findAll?我已经试过了,但我不能做到 公开名单{ 游标c=mDb.rawQuery选择*自+表_名称;} 这是Medicament.java public class Medicament { private long id; private String nom; private String fabriquant; private String pharmacie; private String descriptio
public class Medicament {
private long id;
private String nom;
private String fabriquant;
private String pharmacie;
private String description;
private float prix;
public Medicament( long id, String nom, String fabriquant, String pharmacie, String description, float prix ) {
super();
this.id = id;
this.nom = nom;
this.fabriquant = fabriquant;
this.pharmacie = pharmacie;
this.description = description;
this.prix = prix;
}
public long getId() {
return id;
}
public void setId( long id ) {
this.id = id;
}
public String getNom() {
return nom;
}
public void setNom( String nom ) {
this.nom = nom;
}
public String getFabriquant() {
return fabriquant;
}
public void setFabriquant( String fabriquant ) {
this.fabriquant = fabriquant;
}
public String getPharmacie() {
return pharmacie;
}
public void setPharmacie( String pharmacie ) {
this.pharmacie = pharmacie;
}
public String getDescription() {
return description;
}
public void setDescription( String description ) {
this.description = description;
}
public float getPrix() {
return prix;
}
public void setPrix( float prix ) {
this.prix = prix;
} }
编辑:请不要忘记返回语句
提前谢谢。这样做
Cursor c = mDb.rawQuery( "select * from " + TABLE_NAME,null);
在SQLiteOpenHelper中尝试类似的操作:
public List<Medicament> findAll() {
List<Medicament> medicaments = new ArrayList<Medicament>();
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery( "SELECT * FROM " + TABLE_NAME,null);
if (cursor.moveToFirst()) {
do {
Medicament medicament = new Medicament();
/*fill here medicament object with values from row,
cursor.getString(0) = id value, cursor.getString(1) etc...
for example medicament.setName(cursor.getString(1))*/
medicaments.add(medicament);
}
while (cursor.moveToNext());
}
return medicaments;
}
编辑:
请记住对单元格中的值类型正确使用方法,例如,对于整数值,请使用cursor.getIntCOLUMN\u NUMBER,对于字符串cursor.getStringCOLUMN\u NUMBER等。如果它甚至被编译,我会感到惊讶。返回语句呢,请发布完整的代码,伙计,我怎么知道你的表中有哪些字段,以及你的类药物是什么样子的。如果你发布了查询,那么我认为你被查询卡住了。所以,请精确地定义这个问题以及您的问题所在。非常感谢,还有一个简单的问题:我可以在SQLiteOpenHelper类中放置什么样的方法?我不能简单地把它放在另一个扩展DAODatabase类的DAO类中吗?@rzqr例如用于向表中添加药剂、移除等的方法。创建扩展SQLiteOpenHelper的单独类。您有一个非常简单的例子来说明如何扩展SQLiteOpenHelper类。但是,在Android中使用DAO模式不是一个好的实践,或者它是不必要的?@rzqr这是一个非常好的实践。例如,如果您修改了数据库,应用程序的其他部分就不应该知道,他们只需要使用您的简单界面与数据库通信。