アプリケーションの動的な動作中に大量の値のペアが必要になった場合、それらを格納するための最良の方法は何ですか?メモリ内(例:LinkedHashMap)またはSQLite DB?私は4000行以上のpersonIDとpersonNameを持っており、EditTextとSpinnerが必要です。EditTextに適切なpersonIDを入力すると、スピナーは正しいpersonNameにジャンプするはずですが、スピナーにはすべてのpersonNameも含まれているはずです。
単純な配列は64kを超えることはできないため、現在、次の方法で「メモリ内」ソリューションを実装しています。もちろん、コードは生成されました。XMLで配列を定義しようとしましたが、同じ制限があります。
public enum CompPeople {
INSTANCE;
public LinkedHashMap<Short, String> peopleIDs = new LinkedHashMap<Short, String>();
public void initialize() {
peopleIDs = new LinkedHashMap<Short, String>();
setPeople1();
setPeople2();
setPeople3();
setPeople4();
}
public void setPeople1() {
peopleIDs.put(new Short((short) 1011), "John Doe");
peopleIDs.put(new Short((short) 1012), "Jack Knight");
peopleIDs.put(new Short((short) 1013), "Sue Doe");
...
}
public void setPeople2() {
...
}
public void setPeople3() {
...
}
public void setPeople4() {
...
}
}
SQLiteの方法の方が優れている場合、アプリケーションの最初の実行時にデータベースを初期化するためのより良い解決策は、ここで説明されているものよりもありますか?: http: //www.reigndesign.com/blog/using-your-own-sqlite- database-in-android-applications /
前もって感謝します!