うわー、内部メモリへのロードと保存に関連する問題がいくつあるか信じられません。アプリに関連する保護された領域にしか保存できないことがわかりました。その領域にディレクトリを作成することさえできるかどうかはわかりません。私がマスターしたSDに保存しますが、要件は、使用可能なsdcardがないか、削除された場合でも、アプリがユーザー設定をロードして保存できることです。私は120の異なるデータ項目を持っているので、共有された設定は方法ではありません。キャッシュは永続的ではありません。
私は現在方法として持っています:
public static void SaveUserPrefs()
{
try
{
//FileOutputStream fos = openFileOutput("userPrefs.dat", Context.MODE_PRIVATE);
FileOutputStream fos = new FileOutputStream( "userPrefs.dat");
BufferedOutputStream bos = new BufferedOutputStream(fos); //to get a buffered stream
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeFloat(versionNumber);
oos.writeInt(autoWifiStart);
oos.writeInt(autoAirPlane);
... many more items and file close
/userPrefs.datを除いてファイルが見つかりません読み取り専用ファイルシステム同じコードが外部または内部で機能すると思いますが、機能しません。コメントアウトコードも試してみましたが、同じ結果になりました。このデータをどこにどのように保存しますか?そして、それをロードするために何か別のことをする必要がありますか?save_external_Storageに設定された権限があります。