Android初學特訓班-13.資料庫.ExSQLite02 |
|
Gogomango
更新時間:2015/2/2 下午 12:24:13 |
|
您好,關於第13章的範例,我直接把字串"香蕉"或價錢改掉後,run在我手機上,結果並沒有改變,需要重新移除手機上的程式後再run一次才會改變,請問是什麼問題呢? |
|
|
|
Gogomango
更新時間:2015/2/3 上午 10:59:52 |
|
還有個問題...就是在24行已經宣告過的Cursor cursor,為何在91行public void UpdateAdapter(Cursor cursor){又宣告一次? 這邊我不太懂...。 |
|
|
|
文淵閣工作室
更新時間:2015/2/6 上午 09:36:49 |
|
感謝您的支持: 那是因為應用程式第一次執行時已建立 Table01 資料表,因此第二次以後執行就不再建立此資料表了。 如果您要刪除此資料表可參考 exSQLit101 範例,在第 62~67 應用程式結束執行的 onDestroy() 中加入 db.execSQL("DROP TABLE Table01"); 強制刪除原有的資料表。
24 行宣告的 Cursor cursor 是全域變數,在類別中所有的程序中都可以存取。 而第 104、109 在程序中宣告的 Cursor cursor 是區域變數,只能在該程序中存取。
第 91 行 public void UpdateAdapter(Cursor cursor){ 中的 Cursor cursor 代表是 UpdateAdapter 方法中的參數,參數型別為 Cursor 型別。
在第 48 行以 cursor=getAll(); // 查詢所有資料,並放在全域變數 cursor 中 第 49 行以 UpdateAdapter(cursor); 將取得的 cursor 資料,當作參數傳遞到 第 91 行的 Cursor cursor 參數中。
|
|
|
|
|
|
|