フロートの配列(約5000フロートになるとしましょう)をSDカードに保存したいと思います。後で、floatのファイルをリソースアプリに配置して、新しいアプリがそれらのfloatを後で処理できるようにします。これはできますか?そのために使用できる例はありますか?どのファイル拡張子を使用するのが最適ですか?
ありがとう!
私は Android にあまり詳しくありませんが、Java の観点からすると、シリアライゼーションと ObjectOuputStream / ObjectInputStream を使用することに意味はありますか? これはまさにあなたが望むことをするように聞こえます。関連する議論は次の場所にあります。
まず、AndroidManifest.xml ファイルに適切な権限を追加する必要があります。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
また、アプリケーションを実行しているデバイスに利用可能な外部ストレージがあるかどうかを (実行時に) 確認する必要があります。
String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state))
{
// Read / Write Access
externalStorageAvailable = true;
externalStorageWriteable = true;
}
else if(Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{
// Read Access
externalStorageAvailable = true;
externalStorageWriteable = false;
}
else
{
// We cannot read / write
externalStorageAvailable = false;
externalStorageWriteable = false;
}
最後に、次のようなことを行うことでファイルを書き込むことができます...
FileOutputStream fileStream = null;
PrintStream printStream = null;
File file = new File(FILE_NAME);
try
{
fileStream = new FileOutputStream(file);
printStream = new PrintStream(fileStream);
for (int i = 0; i < FLOAT_ARRAY_SIZE; i++)
{
printStream.print(FLOAT_DATA[i]);
printStream.println();
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
if(printStream != null)
{
printStream.close();
}
}
前に述べたように、'.bin' または '.dat' 拡張子は問題ありません。