2017-08-23 6 views
0

SharedPreferecesは永続データを保存するのに役立ちます。私は、アプリケーションの中で(TinyDBを使用して)私は使用する必要がないと感じていますSQLite。
アプリケーションのアクセスごとにSharedPreferencesを使用して配列にデータを追加する

私がやっていることは、ユーザーからある程度の価値を持ち、ArrayListに格納していることです。ユーザーがアプリケーションを終了するか、OSがアプリケーションを終了し、アプリケーションが再び開始されると、新しいデータを上記の同じArrayListに追加します。

検索方法はわかりませんが、thisはSO自体で試してみました。
それは私の問題を解決しなかったので尋ねることに決めました。

EDIT:コードは


​​

私はplaceArrayであるためlocationName
placeArrayを追加したい)(CalculateLatLongで

bt.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      place = et.getText().toString(); 
      if(place.length()!=0){ 
       Toast.makeText(getBaseContext(), place + " is scanned.", Toast.LENGTH_SHORT).show(); 
       placeArray.add(place); 
       CalculateLatLong(); 

      } 
      else{ 
       Toast.makeText(getBaseContext(),"Enter place to search.", Toast.LENGTH_SHORT).show(); 

      } 

     } 
    }); 


をクリックしてボタンをArrayListに要素を追加するスニペットapの各キルでヌルに初期化される私がlocationNameの内容と合併したい新しいリストのたびに、

アクティビティのonPause状態をオーバーライドして何かをする必要がありますか?はいの場合はどうですか?
ありがとうございます。

+0

あなたは何をしたのですか? – PerunSS

+0

@PerunSSがコードを追加しました。 – Diksha

答えて

1

関数内のリストをデータベースに保存する場合は、onResumeメソッドでコードを追加するだけで済みます。あなたは人を投入する必要がありますplaceArray

void onResume(){ 
    super.onResume(); 
    TinyDB tinydb = new TinyDB(getContext()); 
    placeArray = tinydb.getListString("locationName"); // This will either return saved list (if saved), or empty list 
} 
関連する問題