我似乎無法將stringbuilder保存到我的數據庫文件。我無法理解ContentValues.putAll是如何工作的,因爲我認爲這是我需要解決我的問題的方法。這是與問題相關的代碼。在SQLiteDatabase中保存StringBuilder
我想我需要做的是有一個變量存儲兩個「etNameString」和「strReturnedAddress」,然後在我的主要活動「DatabaseOperations.updateDatabase()」。我需要有下面的語句:
args.putAll(values)
但我不知道如何將兩個值都保存在一個變量中。請原諒我的天真,我很新。提前致謝。
插入行的方法:
**DatabaseOperations class**
public void updateDatabase(String Name, StringBuilder Address) {
SQLiteDatabase myDB = this.getWritableDatabase();
ContentValues args = new ContentValues();
args.put(COL_1, Name);
args.put(COL_2, Address);
myDB.insert(TABLE_NAME, null, args);
Log.d("Database Operations", "Entry Successful");
}
調用具有參數updateDatabase:(strReturnedAddress在未示出的代碼中定義)
**MainActivity class**
//Updates Database with Name // Shows Toast // Sets Text Field to Blank
EditText etName = (EditText) findViewById(R.id.etName);
String etNameString = etName.getText().toString();
db.updateDatabase(etNameString, strReturnedAddress);
Toast toast = Toast.makeText(MainActivity.this, "Entry Saved", Toast.LENGTH_SHORT);
toast.show();
etName.setText(" ");
設置我的數據庫:
**DatabaseOperations class**
public static final String DATABASE_NAME = "HDL_DB";
public static final String TABLE_NAME = "HDL_Table";
public static final String COL_1 = "Name";
public static final String COL_2 = "Address";
public String CREATE = "CREATE TABLE " + TABLE_NAME + " (" +
COL_1 + " TEXT" + COL_2 + " TEXT)";
試試這個'args.put(COL_2,Address.toString());',如果檢查的logcat有任何錯誤 – Yazan
非常感謝你! –