Я довольно новичок в программировании на Android и пишу свое самое первое приложение для дипломной работы.
Теперь я почти закончил, но осталась одна вещь, которую я не мог получить нигде в сети. Так что, может быть, кто-то здесь может помочь.
Часть того, что должно делать мое приложение, - записывать результаты предыдущих операций в свободно доступный файл для последующего анализа.
Итак, что я получил, так это то, что я могу записать файл на SD-карту со следующим кодом:
String packageName = this.getClass().getPackage().getName();
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/Android/data/" + packageName + "/files/";
if (isExternalStorageAvailable() && isExternalStorageWritable())
{
String filename = "_results.dat";
boolean exists = (new File(path)).exists();
if (!exists)
{
new File(path).mkdirs();
}
// Open output stream
FileOutputStream fOut = new FileOutputStream(path + filename,true);
fOut.write("lalala".getBytes());
etc.
}
public static boolean isExternalStorageAvailable()
{
// Retrieving the external storage state
String state = Environment.getExternalStorageState();
// Check if available
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
{
return true;
}
return false;
}
public static boolean isExternalStorageWritable()
{
// Retrieving the external storage state
String state = Environment.getExternalStorageState();
// Check if writable
if (Environment.MEDIA_MOUNTED.equals(state))
{
return true;
}
return false;
}
Этот файл я могу получить позже, скопировать, что угодно. Как я хочу, чтобы это было. Теперь актуальный вопрос:
Есть ли способ добиться этого без SD-карты в телефоне? Или я могу писать только в «app-memory» (чего не хватит моим потребностям)?
Я спрашиваю только потому, что пока в телефонах нет SD-карт, где я собираюсь развернуть приложение. И мы должны решить, должны ли мы «обновить» устройства:).