Eclipse 显示 SQLite DB 中的所有项目



我是Android编程新手,我坚持从SQLite DB检索数据并将其显示在TextView/ListView的应用程序中。我已经尝试了很多方法,但我只是在兜圈子。欢迎任何方向!谢谢。

主.java:

public void LoadIngredient1() { 
    TestAdapter mDbHelper = new TestAdapter(this);         
    mDbHelper.createDatabase();       
    mDbHelper.open(); 
    // TO DO ?      
    mDbHelper.close();
}

测试适配器.java:

public Cursor getData() {      
  String sql ="SELECT ID_Ingredient1, Ingredient1, tmp FROM Ingredient_1"; 
  Cursor mCur = mDb.rawQuery(sql, null); 
  if (mCur!=null) 
  { 
    mCur.moveToNext(); 
  } 
 return mCur; 
}

为什么要获取光标?我只会构建一个要返回的对象。下面是一些示例代码:测试适配器.java

    public class TestAdapter extends SQLiteOpenHelper {
        public TestAdapter(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
        ...
        public YourObject getData() {
            YourObject yourObject = new YourObject();
            String sql ="SELECT ID_Ingredient1, Ingredient1, tmp FROM Ingredient_1"; 
            SQLiteDatabase mDb = this.getWritableDatabase();
            Cursor mCur = mDb.rawQuery(sql, null); 
            if (mCur.moveToFirst()) { 
                yourObject.setId(cursor.getInt(cursor.getColumnIndex(ID_Ingredient1)));
                yourObject.setIngridient(cursor.getString(cursor.getColumnIndex(ID_Ingredient1)));
                ...
            } 
            return yourObject; 
        }
}
    public ArrayList<MyDataObject> getData(){
    ArrayList<MyDataObject> result = new ArrayList<MyDataObject>();
    open database
    Cursor c = null;
    try{
   c = database.rawQuery("Select * from myDataObjectTable",null);
    while(c!=null && c.moveToNext()){
      MyDataObject object = new MyDataObject();
    object.setId(c.getInt(c.getColumnIndex("ID Column")));
    object.setName(c.getString(c.getColumnIndex("Name")));
    object.setSomething(c.getBoolean(c.getColumnIndex("SOMETHING THERE COLUMN")));
    result.add(object);
    }
}catch(Exception e){
 Log.d(TAG,"some error",e);
} finally{
if(c!=null) c.close();
}
    return result;
    }

终于我找到了解决方案。我找到了本教程: http://mobisys.in/blog/tag/shipping-of-external-database-to-application/感谢您的帮助!

最新更新