Создание и сохранение файлов Android;

298
06 октября 2017, 15:09

Как создать папку на устройстве (android/data/com.blabla.AppName) и в последующем сохранять файлы в эту папку?

Answer 1

Если нужно писать именно в android/data/com.blabla.AppName, то (обработка исключений за Вами):

File externalAppDir = new File(Environment.getExternalStorageDirectory() + "/Android/data/" + getPackageName());
if (!externalAppDir.exists()) {
    externalAppDir.mkdir();
}
File file = new File(externalAppDir , "FileName.txt");
try {
    file.createNewFile();
} catch (IOException e) {
    e.printStackTrace();
}

Далее стандартными средствами пишите данные в file.

Если нужно писать в поддиректории android/data/com.blabla.AppName, то для получения пути можно воспользоваться методом:

File getExternalFilesDir (String type)
Answer 2

Если вы про сохранение файлов в приватную директорию приложения, то вот пример записи Hello world! в текстовый файл /data/data/<package>/files/file.txt

String filename = "file.txt";
String outputString = "Hello world!";
try {
    FileOutputStream outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
    outputStream.write(outputString.getBytes());
    outputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}
try {
    FileInputStream inputStream = openFileInput(filename);
    BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
    StringBuilder total = new StringBuilder();
    String line;
    while ((line = r.readLine()) != null) {
        total.append(line);
    }
    r.close();
    inputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}
READ ALSO
Как показать изображение BufferedImage в окне JFrame?

Как показать изображение BufferedImage в окне JFrame?

Есть картинка image типа BufferedImageНадо вывести её в окне window типа JFrame

325
Снятие скриншота при помощи listener

Снятие скриншота при помощи listener

Доброго дня! Хочу написать листенер, который будет делать скрин при ошибке

220