這題主要也是考 SQLiteOpenHelper 搭配 Adapter 怎麼寫,真的嘗試重頭自己寫還是有不少地方忘記。 另外一開始沒仔細看題目就自己用猜的,所以一堆變數沒用上,重頭看了清單一個一個配合題意去做之後總覺得這題實在是設計不良... SQLite 的存取原則跟之前的題目不合也就算了,資料筆數這種東西弄成自己列成一個變數,我實在搞不懂是想幹嘛...
這題比較重要的是為了要用 ArrayAdapter 所以要把 cursor 的資料再度轉到 orderNames 這個 String[]中(完全匪夷所思的作法)...
for (int i = 0; cursor.moveToNext(); i++){ if(i==0) cursor.moveToFirst(); orderNames[i] = cursor.getString(cursor.getColumnIndex(FIELD02_NAME)); }一開始很直覺的開頭就寫了 moveToFirst(),後來發現這樣跑 loop 會少一個,所以移到 loop 裡改成上面這樣。
再來就是做的過程有碰到 getWritableDatabase called recursively 的 exception,這個獨立性較高另開一篇。
現在想想題目可能是希望考生把 SQLiteOpenHelper 寫成內置類別吧? 不然光是建構傳遞就要丟一堆東西,撰寫上不合理的地方實在很多。
沒有留言:
張貼留言