@Gfd

Как сериализовать объект в файл на sd карте в android?

Я нашел код, который позволяет записать объект в файл, но этот файл будет не на sd карте.
public static Object readFromFile(String filename, Context content) {
        Object object = null;
        try {
            FileInputStream fis = content.openFileInput("filesLifeOrganizationRe" + filename + ".txt");
            ObjectInputStream is = new ObjectInputStream(fis);
            object = is.readObject();
            is.close();
        } catch (IOException w) {
            w.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return object;
    }

    public static void writeToFile(String filename, Object object, Context context) {
        try {
            FileOutputStream fos = context.openFileOutput("filesLifeOrganizationRe" + filename + ".txt", Context.MODE_WORLD_READABLE);
            ObjectOutputStream os = new ObjectOutputStream(fos);
            os.writeObject(object);
            os.close();
        } catch (IOException w) {
            w.printStackTrace();
        }
    }


Хотелось бы записывать на sd. Как это сделать?
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
Rou1997
@Rou1997
SD-карта имеет такую же совместимую файловую систему, но нужна permission WRITE_EXTERNAL_STORAGE, и на некоторых устройствах может быть проблемой получение пути к этой карте, но обычно все стандартно и путь имеет вид
Environment.getExternalStorageDirectory() + "/file.html
, ну и еще желательна (не обязательна) особая проверка наличия SD-карты вроде
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы