SdCard в Эклипсе

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
AlexeyFedor
Сообщения: 31
Зарегистрирован: 03 сен 2013, 14:26

SdCard в Эклипсе

Сообщение AlexeyFedor » 23 фев 2015, 10:44

Вроде как понятно, что данные лучше хранить на Sdcard, а в приложении использовать их по мере необходимости. На простом примере сохраняем картинки на карту, в активити смотрим картинку.
Для того чтобы использовать SdCard в эмуляторе, карту надо создать. Лучше создавать карты в отдельной дирректории.
Создаем новую папку.У меня например так.
Далее нужно создать саму SdCard, для этого служит утилита mksdcard. Которая находится в место_установки:\adt-bundle-windows-x86-20130219\sdk\tools У меня так D:\android\adt-bundle-windows-x86-20130219\sdk\tools
Её необходимо запустить из командной строки с такими параметрами D:\android\adt-bundle-windows-x86-20130219\sdk\tools\mksdcard.exe -l mySdCard 1024M D:\android\SdCard\mySdCardFile.img
Здесь mySdCard метка тома. 1024M размер. D:\android\SdCard\ путь по которому создается SdCard для этого создавали новую папку на диске. mySdCardFile.img имя SdCard.
Для того чтобы на SdCard закачать данные необходима программа которая умеет читать образы диска. Я использовал такую winimage.exe, скачать можно в сети. Там все просто, перетаскиваете файлы и папки которые вам необходимы на вашу SdCard. Я перенес папочку с картинками для тренировки.
Далее нужно настроить ваше виртуальное устройство. Запускаем эклипс, переходим в android Virtual Device Manager . Редактируем SdCard выбранного устройства. После этого перегружаем.
Теперь у нас есть SdCard на которой хранятся картинки. Такой момент, содержимое SdCard через File Explorer (который в эклипсе) не видно.
Новый проект простейший код. На лайоут переносим ImageView.
в активити пишем такой код

Код: Выделить всё

ImageView image=(ImageView) findViewById(R.id.image);
		image.setImageURI(Uri.parse("file://mnt/sdcard/DictonaryPictures/ring.jpeg"));
file://mnt/sdcard/DictonaryPictures/ring.jpeg эта строчка путь к картинке которая лежит на карте.
Надо еще в манифесте прописывать Permission <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> но почему то сработало и так.
Вложения
редактирование.JPG
редактирование.JPG (44.76 КБ) 2190 просмотров
mksdcard.JPG
mksdcard.JPG (21.22 КБ) 2190 просмотров
новая папка.JPG
новая папка.JPG (38.77 КБ) 2191 просмотр

Ответить