2014-04-29 30 views
-2

我有一個簡單的遊戲,用戶可以猜詞。現在,我正在考慮使用數據庫來存儲這些被猜測的單詞。Android dev:爲文字遊戲創建sqlite數據庫,無需用戶輸入

我的問題是網絡演示中提供的教程如何創建數據庫並將用戶輸入保存到該數據庫。例如,他們在src中創建一個DBHelper.java,並將其擴展到SQLiteOpenHelper,並覆蓋這些方法。回到特定的活動,創建一個DBHelper的實例,然後創建數據庫,打開可寫,插入用戶輸入,關閉數據庫。

但我認爲我只需要做的是創建一個數據庫,在其中插入單詞,然後讓我的應用程序從這個數據庫檢索單詞。

我只是想知道如果有什麼我打算做的是正確的: 1.在SRC創建DBHelper.java,擴展類SQLiteOpenHelper 2.定義諸如數據庫的名稱等 3需要的字符串。創建一個構造函數並覆蓋onCreate和onUpgrade方法 4.創建一個LOADWORDS方法這是我將其插入數據庫的地方。 5.在我的主要活動(我的應用程序的第一個屏幕)上我將創建一個DBHelper實例並調用onCreate和loadWords方法。

回答

0
// you would want an onCreate and onUpgrade method for best practices,, here's a partial look of what you want... 

public class DBManager extends SQLiteOpenHelper 
{ 
    static final String TAG = "DBManager"; 
    static final String DB_NAME = "words.db"; 
    static final int DB_VERSION = 1; 

    static final String TABLE = "words_table"; 
    static final String C_ID = "id"; 
    static final String C_WORD = "word"; 

    public DBManager(Context context) 
    { 
    super(context, DB_NAME, null, DB_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) 
    { 
    String sql = "CREATE TABLE " + TABLE + " (" 
       + C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
       + C_WORD + " TEXT)"; 

    db.execSQL(sql); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
    { 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE); 
    onCreate(db); 
    } 

     //**** Code Insert Word and Retrieve Word Methods *****// 

     //**** End Code Insert Word and Retrieve Word Methods *****// 
}