AndroidでSQLiteを使用せずに、カスタムデータオブジェクトを永続データとして保存する方法はありますか?
画面にEditTextフィールドの3*3マトリックスがあり、これらの9つのフィールドのすべてのコンテンツを1つの「プロファイル」(オブジェクト)に格納したいと思います。他のプロファイルを作成して、異なるデータを持つ異なるマトリックスを持つことができます。
XMLを考えましたが、他の意見も聞きたいです。
AndroidでSQLiteを使用せずに、カスタムデータオブジェクトを永続データとして保存する方法はありますか?
画面にEditTextフィールドの3*3マトリックスがあり、これらの9つのフィールドのすべてのコンテンツを1つの「プロファイル」(オブジェクト)に格納したいと思います。他のプロファイルを作成して、異なるデータを持つ異なるマトリックスを持つことができます。
XMLを考えましたが、他の意見も聞きたいです。
この質問への回答と同様に、配列をシリアル化して共有設定に保存できます。
複数のプロファイルを保存するには、「Profile-1」、「Profile-2」などのキーを使用して、それぞれを共有設定に保存できます。次に、所有しているプロファイルの数を持つ別の共有設定を作成できます。
あなたは次のようなことを試すことができます
public bool save(SaveableObject s, Context context, String fileName)
{
try
{
FileOutputStream fos;
ObjectOutputStream os;
File file1 = context.getExternalFilesDir(null);
File file2 = new File(file1, fileName);
fileName = file2.getAbsolutePath();
fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
os = new ObjectOutputStream(fos);
os.writeObject((Object)analysis);
os.close();
fos.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
ファイルをに保存する必要があります/sdcard/fileName
。
オプションについては、ドキュメントのデータストレージのトピックで説明されています。