いくつかの値をハイスコアの形で保存したいと思います。しかし、5つを超える値を格納することはないので、SQLiteを使用することは適切ではないようです。私が検討していたもう1つのオプションはフラットファイルでしたが、どうすればよいかわかりません...
3226 次
2 に答える
3
データストレージオプションについては、こちらをご覧ください。あなたの場合、SharedPreferencesを使用するのが最も簡単だと思います。
内部ストレージを使用して、アプリケーション専用のファイルにデータを保存することもできます。ハイスコアを保存するために外部ストレージを使用することはお勧めしません。
于 2010-07-15T10:56:10.273 に答える
2
配列の場合、これを使用できます:
public void saveArray(String filename, String[] output_field) {
try {
FileOutputStream fos = new FileOutputStream(filename);
GZIPOutputStream gzos = new GZIPOutputStream(fos);
ObjectOutputStream out = new ObjectOutputStream(gzos);
out.writeObject(output_field);
out.flush();
out.close();
}
catch (IOException e) {
e.getStackTrace();
}
}
@SuppressWarnings("unchecked")
public String[] loadArray(String filename) {
try {
FileInputStream fis = new FileInputStream(filename);
GZIPInputStream gzis = new GZIPInputStream(fis);
ObjectInputStream in = new ObjectInputStream(gzis);
String[] read_field = (String[])in.readObject();
in.close();
return read_field;
}
catch (Exception e) {
e.getStackTrace();
}
return null;
}
次のように呼び出すだけです。
Save Array: saveArray("/sdcard/.mydata/data.dat", MyArray);
Load Array: String[] MyArray = loadArray("/sdcard/.mydata/data.dat");
http://androidworkz.com/2010/07/06/source-code-imageview-flipper-sd-card-scanner/で例を確認できます。
于 2010-07-15T18:45:22.087 に答える