2012-01-25 143 views
1

我正在開發一個Android應用程序,作爲我們公司的「概念驗證」。如果他們喜歡它,並認爲這是值得投資的,那麼我們將繼續做更大的事情。我試圖找出最佳/最實用的方法.....應用程序的基礎知識將連接到我們的數據庫並顯示有關特定客戶的信息。現在,假設我們只會從3-4個表中提取數據(但未來可能會有10個以上)。如果應用程序沒有互聯網連接,那麼它應該使用本地數據庫。什麼是最好的方法呢?這是我在想什麼,如果可能,我想要一些輸入/建議:同步android應用程序數據庫與服務器數據庫的方法?

1.)應用程序運行檢查互聯網連接。如果存在,檢查數據庫版本(如何,通過Web服務?)..如果服務器數據庫更新,獲取最新的數據。如果沒有互聯網,使用本地數據庫。 2.)app解析數據並顯示它。

如果這是正確的,那麼可能沒有對Web服務進行修改,即可以在不更改應用程序的情況下向結果添加字段。有沒有辦法讓應用程序解析字段,無論有多少字段?

我已閱讀並閱讀了數據庫和谷歌教程(記事本教程),但它似乎像列名稱都是在解析類,我希望避免所有硬編碼。

對不起,如果這是令人困惑,但我知道我需要我的應用程序使用本地數據庫讀取數據,我也知道,應用程序必須從服務器獲取數據時,它可以(通過onCreate或刷新按鈕)和複製它在本地...複製它在本地是我無法理解的部分我猜....沒有辦法說「出去,得到這個結果並顯示它」,知道這些結果可能意味着5個領域第一次或下一個1。

任何幫助/指導,非常感謝!

回答

0

您可能想要使用SQLLite數據庫在本地存儲數據,使用ContentProvider提供對數據庫的CRUD訪問權限,並在可能的情況下使用SyncAdapter與您的服務器同步。同步適配器還通過ContentProvider寫入數據庫。請參閱SDK中的SampleSyncAdapter示例,瞭解它如何工作的示例。您將實現自己的ContentProvider,但該示例僅使用Android提供的Contacts ContentProvider。

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html

+0

感謝您的反應robertly。我將在ContentProvider和您提到的其他課程上進行閱讀。這會讓我走上正確的軌道。 – Robert

相關問題