2014-02-11 40 views
0

我是Android編程的新手,我從SQLite數據庫中檢索數據並在TextView/ListView的應用程序中顯示它。我嘗試了很多方法,但我只是在圈子裏跑步。歡迎任何方向!謝謝。Eclipse顯示SQLite數據庫中的所有項目

Main.java:

public void LoadIngredient1() { 
    TestAdapter mDbHelper = new TestAdapter(this);   
    mDbHelper.createDatabase();  
    mDbHelper.open(); 

    // TO DO ?  

    mDbHelper.close(); 
} 

TestAdapter.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; 
} 
+1

看看這個'www.androidhive.info/2011/11/android-sqlite-database-tutorial' –

+0

mCur.moveToFirst()就是你錯過的。這將解決您的問題。試着這樣做。 – San

+0

@MehulJoisar事情是,如果我按照這個教程:[link] www.androidhive.info/2011/11/android-sqlite-database-tutorial 我無法顯示項目。 (+ cn.getName()+「,Phone:」+ cn.getPhoneNumber();}}。 //將聯繫人寫入日誌 Log.d(「Name:」,log); For語句從不使用。我創建了SQLite數據庫,將其複製到資產文件夾和設備上。 布爾型checkDataBase() \t { \t文件dbFile = new File(DB_PATH + DB_NAME); (「dbFile」,dbFile +「」+ dbFile.exists()); \t return dbFile.exists(); \t} 返回true。 – Moonbeam

回答

0
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; 

    } 
2

爲什麼你想獲得光標?我只想建立一個對象return.Here是一些示例代碼: TestAdapter.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; 
     } 
} 
相關問題