我對Android相對來說比較陌生,因爲通過數據庫對抗我的方式,我有點卡住了,所以任何指導都非常感謝!這裏有雲〜如何將對象作爲參數傳遞以將數據存儲到數據庫?
//Random Fragment that inserts data to the databaase
mWorkoutData = new WorkoutData();
mDBTools = new DBTools(getActivity());
HashMap<String, String> queryValuesMap = new HashMap<String, String>();
queryValuesMap.put("comments", mWorkoutData.getComments());
mDBTools.insertWorkoutData(queryValuesMap);
的WorkoutData是模型類,但它不管理任何數據插入到數據庫中,而在情況下,我傳遞一個EDITTEXT例如作爲參數,一切都很好!
關於如何解決這個問題的任何指導方針或見解將不勝感激!
編輯:
DBTool中
public void insertWorkoutData(HashMap<String, String> queryValues) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("comments", queryValues.get("comments"));
db.insert("workouts", null, values);
db.close();
}
這是在DBTool各自的方法插入這個具體的數據,我相信DBTool中類是正常的,因爲我能看到的數據在我的情況下,列表視圖我通過類似
queryValuesMap.put("comments", EditText.getText().toString());
,而不是
queryValuesMap.put("comments", mWorkoutData.getComments());
上面已經描述過。
EDIT2
//Random Fragment number 2 prior to random Fragment of the code above
mWorkoutData.setComments(mTrainingEditText.getText().toString());
'DBTools'是......你的'SQLiteOpenHelper'?如果沒有'DBTools'的代碼,我可以幫到你。 – seiterm 2015-02-06 14:06:09
感謝您的快速回答,我編輯了我的問題! (是的,DBTools是我的SQLiteOpenHelper類) – thanosChatz 2015-02-06 14:14:30
下面答案的要點是「mWorkoutData.getComments()'返回什麼?」。在該行上設置一個斷點,然後點擊「Alt + F8」來評估該表達式,並確保它是您的想法。原則上沒有理由應該區分一個「String」與另一個。 – seiterm 2015-02-06 14:50:28