2016-10-06 15 views
0

我想爲Android應用程序創建數據庫。隨着時間的推移可能會發生變化(每隔一段時間添加一次新數據)。處理可以在Android應用程序中更改的數據庫?

我可以調用Web API並更改服務器上的數據而不是每個客戶端的設備上的數據。問題是這需要人們連接來獲取數據(或者這是一個問題?)。

我應該在服務器上創建一個數據庫,並允許客戶端複製一切(當他連接到互聯網時通知他更新),以便它可以脫機工作嗎?

在這種情況下通常會做什麼?這個應用程序應該在外面使用,顯然我不希望人們被他們的移動數據限制。非常感謝建議。

+0

通常設備會調用一個RESTful服務(我認爲你已經使用了web API),然後將數據存儲在SQLite數據庫的本地(即設備上)。 –

+1

這是一個選項,[同步適配器](https://developer.android.com/training/sync-adapters/index.html) –

+0

@RickS我喜歡這個。清潔並適合我的需求。泰 – zuokuok

回答

0

我應該在服務器上創建一個數據庫,並允許客戶端複製一切(當他連接到互聯網時通知他更新),以便它可以脫機工作嗎?

是的,可以採用這種方法。我想簡單介紹一下我在其中一個項目中完成的工作。

  1. 創建方法A,B,C。在服務器中保留一個單獨的布爾字段,如果添加了任何新數據,則必須設置爲true。
  2. Method_A() - 從您的本地存儲中獲取數據並將它們顯示在您的應用程序中。
  3. Method_B() - 從服務器獲取數據並將它們保存在本地存儲中。

現在您可以應用這些步驟。

if(internetIsPresent){ 
    Boolean hasNewData = check_boolean_field_in_your_server; 
    if(hasNewData){ 
     Method_B(); 
    } else { 
     Method_A(); 
    } 
} else{ 
    Method_A(); 
} 
相關問題