配列 { devicename, macaddress, updated } を Android アプリケーションに保存し、ユーザーがアプリを閉じたらデータを破棄する最良の方法は何でしょうか。
更新:ストアとは、SQLite、内部ストレージ(ファイルを作成してから削除)などを使用することを意味します。これを行うためのベストプラクティスはありますか?尋ねる理由は、毎回 API を呼び出すのではなく、データにアクセスする必要があるためです。
私はAndroid開発に不慣れなだけです。
配列 { devicename, macaddress, updated } を Android アプリケーションに保存し、ユーザーがアプリを閉じたらデータを破棄する最良の方法は何でしょうか。
更新:ストアとは、SQLite、内部ストレージ(ファイルを作成してから削除)などを使用することを意味します。これを行うためのベストプラクティスはありますか?尋ねる理由は、毎回 API を呼び出すのではなく、データにアクセスする必要があるためです。
私はAndroid開発に不慣れなだけです。
Array または Map のようなオブジェクトのプライベート インスタンスは、まさに必要なもののようです。あなたの質問と上記のコメントに基づいて、不揮発性ストレージや派手な Map オブジェクトを使用する理由はないと思います。
Android 開発者向けドキュメントから少し借りて、アプリにアクティビティを実装すると仮定すると、コードは次のようになります。
...
import java.util.HashMap;
import java.util.Map;
....
public class ExampleActivity extends Activity {
public static final String TAG = "ExampleActivity";
// create an enum to hold your key values (plain old strings could work too)
private enum ApiKey {
NAME, MAC, UPDATED
};
//declare your data structure
private Map<ApiKey, String> myCachedApiData;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
// initialize your data in onCreate()
myCachedApiData = new HashMap<ApiKey, String>();
// retrieve initial data from your API
// you may want to do this on another thread if it takes a while
...
// put data in your map
myCachedApiData.put( ApiKey.NAME, deviceNameStr );
myCachedApiData.put( ApiKey.MAC, macAddressStr );
myCachedApiData.put( ApiKey.UPDATED, updatedStr );
}
@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible, lets
// print out (access) some of our cached API data
// each time the user views our Activity
Log.d( TAG, "MAC addr is: " + myCachedApiData.get( ApiKey.MAC ) );
}
@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be "paused").
}
@Override
protected void onStop() {
super.onStop();
// The activity is no longer visible (it is now "stopped")
}
@Override
protected void onDestroy() {
super.onDestroy();
// The activity is about to be destroyed.
// No need to explicitly clear our map, it will be removed when our
// Activity is destroyed
// myCachedApiData.clear();
}
}