2013-10-05 233 views
0

對Android來說還算新鮮。 我需要一些建議,我應該 1.有一個本地的SQLite數據庫,並有應用程序檢查新的記錄顛倒在MySQL DB 或 2.發佈我的應用程序與完整的SQLite數據庫。當我插入新的記錄到完整的sql lite數據庫然後發佈更新?Android |從MySQL更新sqlite或更新應用與更新的SQLite數據庫?

我一直在網上尋找一些指導。由於我對Android還是比較新的,我不知道做1號工作的困難(因爲我必須創建php代碼)。

+0

你的數據庫的大小是多少? –

+0

總共17.9 KB(當前) 1表,12行,200記錄和計數atm ...我仍在清理數據以填充我的mysqlDB。 預計至少16,000條記錄 – UPGRAYEDD

回答

0

我的建議是:

  1. 如果現在只有200條,它並沒有真正如果你是預裝或從Web服務得到它(獲取數據將是非常快的)關係。通常預加載的數據庫在有大量數據時更好,並且您不希望用戶在使用應用程序之前等待很長時間。另一方面,如果有大量的數據,它會增加apk的大小。
  2. 創建用於更新服務器數據的Web服務方法。
  3. 創建一個Web服務方法,這表明客戶端刪除一些行(我不知道你的應用程序的功能,但通常它的需要)
+0

他們有任何好的教程你的MySQL數據庫和你本地的SQLite數據庫之間的CRUD操作? 這是我總是遇到問題的地方...... – UPGRAYEDD

+0

正如我所看到的,CRUD操作如下:1. Web Service - 使用標準的CRUD操作從MySql獲取數據。 2.將結果解析爲XML/JSON(最好是JSON) 3.從客戶端獲取數據並使用Sqlite CRUD對其進行更新。 CRUD並不是真的在Sqlite和MySql之間,因爲你有中間的Web服務。 –

0

你說的「uptop」是什麼意思?假設你的意思是'通過API在線'。

取決於您的數據的性質(是關鍵任務嗎?如果它是陳舊的,有什麼風險?等等),這是一個很好的做法,可以將靜態數據打包到應用程序中,可以比應用程序更早引用數據...更新的數據是您運行以更新該過時數據的任務,並且可能會繼續定期運行以更新該數據。

在應用程序中打包SQLite數據庫本身是一種不好的做法,因爲有些製造商通過實施SQLite本身來做自己的事情。因此,將SQL打包爲文本並在設備上創建一個新的數據庫。

+0

uptop = phpmyadmin在線 數據不會變成陳舊的歷史數據。我們將只添加NEW記錄。如「1983年阿爾法羅梅羅GTV-6進來了什麼顏色?」 – UPGRAYEDD

+0

我建議,就像Udi l一樣,創建一個與您的MySQL DB接口的API,以JSON的形式嚮應用程序提供結果。您不想爲應用程序提供數據庫身份驗證信息!由於它是歷史數據,因此儘可能多地包裝並且在用戶體驗+ apk大小方面有意義。 – straya