![](/img/trans.png)
[英]how do I pass a parameter to the @OnOpen method with JEE7 Websockets,
[英]How to pass parameter to onOpen() function using SQLiteOpenHelper
我正在嘗試創建待辦事項列表。 為此,我需要將用戶的任務存儲在數據庫中。 為此,我選擇使用SQLiteOpenHelper。
我以這種方式進行:
將用戶的輸入存儲在數據庫中----->不知道要這樣做。
String task = String.valueOf(taskEditText.getText()); DatabaseHandler access = new DatabaseHandler(getApplication()); access.getWritableDatabase();
創建數據庫(該函數為@Override,但無法正確設置其格式)
public class DatabaseHandler extends SQLiteOpenHelper {
public void onCreate(SQLiteDatabase db) {
Log.d(TAG, "===Inside onCreate from DatabaseHandler===");
String database_table = "CREATE TABLE task(ID INT NOT NULL, TASK CHAR(25), STATE CHAR(25))";
db.execSQL(database_table);
}
}
如您所見,我使用.getText()函數獲取用戶的輸入。 然后,我使用.getWritableDatabase()啟動onCreate()函數,最后,當數據庫打開時會自動調用onOpen(SQLiteDatabase db)。 但是,我無法修改函數的原型,即使可以,也無法將參數傳遞給它。 (假設有可能)。
所以我想知道如何將參數傳遞給onOpen()函數以將用戶輸入添加到數據庫中?
編輯:
我最初的問題是知道如何將參數傳遞給onCreate()函數。 但是我意識到我想傳遞給onOpen()函數而不是onCreate()。
謝謝
所以我想知道如何將參數傳遞給onCreate()函數以將用戶輸入添加到數據庫中?
你不知道 您可以使用getWritableDatabase()
返回的SQLiteDatabase
將用戶輸入添加到數據庫中。
另外,請在后台線程上執行數據庫I / O; 您當前的代碼正在主應用程序線程上執行此操作,從而在進行I / O操作時凍結了UI。
在任何有關Android應用程序開發的體面的書或課程中都涵蓋了這兩個主題。
您不會將用戶輸入傳遞給onOpen
。 您將其添加到在onCreate
創建的數據庫的表中。 然后,您將使用:
ContentValues values = new ContentValues()
values.put(COLUMN_TASK, task);
// Add any more columns here
access.getWritableDatabase().insert(TABLE_NAME, null, values);
詳情請看這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.