Страница 2 из 3
Re: Работа с файлами на Android
Добавлено: 24 ноя 2012, 18:14
gera
Если мы удаляем используя Runtime, то почему мы не хотим так же использовать его для copy и move, типа чтобы повыделываться пописать лишний код?
а вообще вот что пишет developer.android.com:
You should always delete files that you no longer need. The most straightforward way to delete a file is to have the opened file reference call delete() on itself.
Re: Работа с файлами на Android
Добавлено: 05 янв 2013, 18:42
yura_taldenko
Может кто подскажет?
Есть ли в Android стандартный диалог выбора файла? Такой же, как в Windows. Или надо самому с нуля создавать?
Re: Работа с файлами на Android
Добавлено: 05 янв 2013, 19:23
rezak90
yura_taldenko писал(а):Может кто подскажет?
Есть ли в Android стандартный диалог выбора файла? Такой же, как в Windows. Или надо самому с нуля создавать?
http://stackoverflow.com/questions/3592 ... ile-dialog
http://www.ulduzsoft.com/2012/07/androi ... ertdialog/
http://code.google.com/p/android-file-dialog/
последний лучше всего наверное
Re: Работа с файлами на Android
Добавлено: 05 янв 2013, 20:48
KamiSempai
Не проще ли Intent использовать?
Re: Работа с файлами на Android
Добавлено: 05 янв 2013, 21:03
rezak90
конечно проще, но если хочется чего то своего =)
Re: Работа с файлами на Android
Добавлено: 06 янв 2013, 22:53
yura_taldenko
"Не проще ли Intent использовать?"
нельзя ли поподробнее?
Re: Работа с файлами на Android
Добавлено: 06 янв 2013, 23:29
rezak90
yura_taldenko писал(а):"Не проще ли Intent использовать?"
нельзя ли поподробнее?
http://stackoverflow.com/questions/7856 ... le-chooser
Re: Работа с файлами на Android
Добавлено: 11 мар 2013, 22:05
SPAWN
Подскажите, пожалуйста, как создать папку во внутренней памяти
Re: Работа с файлами на Android
Добавлено: 25 июл 2013, 10:45
Nyashka
На Sd карте(а не в ресурсах приложения) находится xml файл. Как мне подключив его в программе как File преобразовать в xml который я смогу парсить?
Re: Работа с файлами на Android
Добавлено: 26 июл 2013, 14:46
Finch
гугл религия не позволяет использовать?
Создаешь File, путь к нему через Environment.getExternalStorageDirectory() + путь к файлу, дальше проверяем если файл существует, читаем его FileReader_ом и загоняем в BufferedReader. Дальше читаем построчно BufferedReader_ом + перенос "\n" и аппэндим в StringBuilder. Закрываем BufferedReader и вызываем у StringBuilder_а метод toString(). Вот у нас есть String который можно парсить =)
Re: Работа с файлами на Android
Добавлено: 02 окт 2013, 01:19
buy
rezak90 писал(а):Код: Выделить всё
File dir = new File("sdcard\\mydir\\");
for(File file : dir.listFiles()) {
if(file.isFile())
//работаем с файлом и т.д.
}
А почему в первой строке двойной слэш и в неправильную сторону, почему не
Код: Выделить всё
File dir = new File("/mnt/sdcard/mydir/etc");
Re: Работа с файлами на Android
Добавлено: 20 ноя 2013, 12:51
coolmarat
Ребята, я очень начинающий. Подскажите, как я могу вместе с приложением распространять файлы и при необходимости обращаться к ним? Я думаю, надо как-то в ресурсы запихать при разработке. А как потом при выполнении к ним обратиться?
Re: Работа с файлами на Android
Добавлено: 20 ноя 2013, 14:50
rezak90
coolmarat писал(а):Ребята, я очень начинающий. Подскажите, как я могу вместе с приложением распространять файлы и при необходимости обращаться к ним? Я думаю, надо как-то в ресурсы запихать при разработке. А как потом при выполнении к ним обратиться?
http://developer.alexanderklimov.ru/and ... assets.php
Re: Работа с файлами на Android
Добавлено: 26 ноя 2013, 21:15
trew
String sdState = android.os.Environment.getExternalStorageState(); //Получаем состояние SD карты (подключена она или нет) - возвращается true и false соответственно
if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) // если true
File sdDir = android.os.Environment.getExternalStorageDirectory();
Этот код у меня возвращает всегда true (подробности ниже).
/mnt/sdcard
String sdState = android.os.Environment.getExternalStorageState();
всегда возвращает: mounted
Для моего устройства: android 4.0, Prology Latitude T-720T
Код: Выделить всё
File sdDir = android.os.Environment.getExternalStorageDirectory();
когда microSD не вставлена, возвращается путь:
/mnt/sdcard
когда microSD вставлена :
/mnt/sdcard (это внутренняя память устройства)
Т.е.
никак не показывает путь к внешней карте:
/mnt/extsd
Вопрос: каким образом получить путь к внешней карте, с учётом того, что на разных устройствах он разный?
Код: Выделить всё
/emmc
/mnt/sdcard/external_sd
/mnt/external_sd
/sdcard/sd
/mnt/sdcard/bpemmctest
/mnt/sdcard/_ExternalSD
/mnt/sdcard-ext
/mnt/Removable/MicroSD
/Removable/MicroSD
/mnt/external1
/mnt/extSdCard
/mnt/extsd
/mnt/usb_storage <-- usb flash mount
/mnt/extSdCard <-- usb flash mount
/mnt/UsbDriveA <-- usb flash mount
/mnt/UsbDriveB <-- usb flash mount
Чтение
документации не прояснило ситуацию.
Если в
уроке 75 поменять путь
[syntax=java]// получаем путь к SD
File sdPath = new File("/mnt/extsd");
//Environment.getExternalStorageDirectory();[/syntax]
файл будет записан на внешнюю карту.
Нужно получить путь: /mnt/extsd ---- не прописывая его в коде.
Или это новое поколение устройств, где пути прописываются руками, к внешней sd-карте?
в файле манифеста прописаны права:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
Re: Работа с файлами на Android
Добавлено: 26 ноя 2013, 21:47
Foenix
getExternalStorageDirectory нужно использовать
Так и не поняла - в чем собственно проблема? Нет карты - пишется во внутреннюю память, есть - во внешнюю.. Да, немного странновато, но только и всего. Имхо нигде этот пусть хранить не нужно, а каждый раз пользоваться функцией. И каждый раз, при использовании этого хранилища, проверять - есть ли там файл (какой нужно) т.к. карту могут не только вытащить, стереть инфу на ней и так далее. Это уже нюансы использования карты.
Re: Работа с файлами на Android
Добавлено: 26 ноя 2013, 21:52
trew
Foenix писал(а):Так и не поняла - в чем собственно проблема? Нет карты - пишется во внутреннюю память, есть - во внешнюю..
Всегда пишется на внутреннюю память: /mnt/sdcard
В этом проблема.
Я уже писал, и поэтому напишу ещё раз
getExternalStorageDirectory всегда возвращает /mnt/sdcard
подключена карта или не подключена.
Re: Работа с файлами на Android
Добавлено: 26 ноя 2013, 22:52
Foenix
Я тоже хочу повториться. Если карточка есть, то файл записывается на нее.
Вот кусок кода, т.к. ссылки уже давно никто не понимает.
Код: Выделить всё
sdState = android.os.Environment.getExternalStorageState();
if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) {
baseDir = android.os.Environment.getExternalStorageDirectory();
directory = new File(baseDir, NAMESPACE);
if (!directory.exists())
directory.mkdirs();
} else {
//тут другую выбираем
}
ПИШЕТСЯ НА КАРТУ!!!
Re: Работа с файлами на Android
Добавлено: 27 ноя 2013, 13:51
trew
Foenix писал(а):ПИШЕТСЯ НА КАРТУ!!!
Покажите пожалуйста лог для случаев: карта подключена и карта отсутствует, этой строки:
baseDir = android.os.Environment.getExternalStorageDirectory();
у меня всегда возвращает: /mnt/sdcard
в файле манифеста прописаны права:
[syntax=xml]<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">[/syntax]
Уже не знаю, что подумать. Может такая прошивка от производителя?
На устройстве нет root прав. Я его не ломал.
У пользователя
IgNa тоже не получилось.
Может мы делаем что-то не так. Где ошибка в наших действиях?
Re: Работа с файлами на Android
Добавлено: 27 ноя 2013, 14:01
rezak90
path /mnt/sdcard may be even if you have not sdcard
Re: Работа с файлами на Android
Добавлено: 27 ноя 2013, 14:08
trew
rezak90 писал(а):path /mnt/sdcard may be even if you have noе sdcard
Не понял, что такое noe?
Как получить путь /mnt/extsd ?