Google APIs Android 2.3.1,數據庫表中的數據更改不反映在表視圖屏幕中,但是如果我們重新啓動應用程序,將顯示更改並且如果我們加載app.js將顯示近期變動。Android Android數據反映在表視圖中
任何人都可以幫助我解決這個問題嗎?
fireEvent("db_update")
&
的addEventListener( 'db_update',函數(){應該是什麼在這裏更新表數據})
Google APIs Android 2.3.1,數據庫表中的數據更改不反映在表視圖屏幕中,但是如果我們重新啓動應用程序,將顯示更改並且如果我們加載app.js將顯示近期變動。Android Android數據反映在表視圖中
任何人都可以幫助我解決這個問題嗎?
fireEvent("db_update")
&
的addEventListener( 'db_update',函數(){應該是什麼在這裏更新表數據})
我找到了解決辦法,
Ti.App.addEventListener('updatedb', updateData);
這裏 '了updateData' 是獲取數據從databae的tableview的功能。在 底部 '了updateData' 功能,設置表格視圖數據
i.e) tableview.setData(data);
,然後,你的插入,更新或刪除功能應該觸發 'updatedb的' 功能
即)
function deleteData(recId) {
var db = Ti.Database.open(DBNAME);
db.execute(" DELETE FROM tblName WHERE id IN("+ recId+") ");
db.close();
Ti.App.fireEvent('dataupdated');
}
現在,在調用deleteData函數後,你的tableview數據將顯示沒有被刪除的記錄。
數據庫的更新,您需要先刪除它,然後安裝一個新的一個。或者運行查詢來更新當前的查詢。
這是我如何更新我的數據庫的基礎上,版本號我存儲在性能:
function updateDatabase(version){
if (version != Ti.App.Properties.getInt('version',0)){
sb.db.remove();
sb.db = Ti.Database.install('/lib/db.sqlite','db');
Ti.App.Properties.setInt('version',version);
}
}
在應用中,在開始時,我跑在它的手動類型版本號碼的功能。每次數據庫更改時,都可以手動更改此號碼。
updateDatabase(5);
這當然不反映定期更新表內容。 (當您對數據庫運行常規查詢時)。
在這種情況下,您應該自己重新構建tableview的內容(您有代碼來填充tableview,重新運行該代碼),或者找到一種方法來定位您需要用ID更改的確切行。