當用戶第一次打開應用程序時,我想將某些值插入數據庫。如何根據設備的語言插入/更新數據庫
問題1:第一次插入數據庫的最佳方法是什麼?
現在我正在使用GreenDAO。我應該繼續使用還是改變它?
我也想根據設備的語言插入值。如果用戶使用英文,則必須插入英文值。如果用戶使用葡萄牙語,則必須插入葡萄牙語值。我們走了。 但是,如果用戶更改Android設置的語言,我也想更新這個值。
問題2:如何更改設備的語言後更新數據庫?
這些值可能會被用戶刪除,所以我只想更新仍然插入的值。要插入
我最初的類別:
public class CategoryList {
private final String mLanguage;
public CategoryList(String language) {
mLanguage = language;
}
public List<Category> get() {
final List<Category> list = new ArrayList<>();
switch (mLanguage) {
case "pt":
list.add(new Category(1L, "Passeio", -13388315));
list.add(new Category(2L, "Comida", -48060));
break;
default: // en
list.add(new Category(1L, "Walk", -13388315));
list.add(new Category(2L, "Food", -48060));
break;
}
return list;
}
}
我不知道我要如何只更新還是插入值。
問題3:如何僅更新仍然插入的值?
任何想法?謝謝。
編輯: 我將有數百個值(在我的情況下類別類型)。 正如你在上面的代碼中看到的那樣,Category有更多的列,而不僅僅是'name'。
我想在首次啓動時根據設備的語言插入正確的類別。
如果用戶在系統上更改設備的語言,我想更新這些類別。
我不明白如何使用res
,因爲這個我試過使用這個上面的類。
如何做到這一點?
爲什麼不插入默認語言(英語或任何你想要的),然後改變語言與系統區域設置,當你想顯示? –