Я использую пример gridview с адаптером изображения для визуализации изображений с разницей в том, что эти изображения извлекаются из определенной папки в SD-карте, например./SDCard/изображений. Я тестирую это приложение на эмуляторе. Для этого я сначала настроил sdcard на эмуляторе, а затем подтолкнул изображения к этой конкретной папке через DDMS под затмением.
Что я хочу знать, так это то, что можно создать папку с изображениями, содержащую изображения в SD-карте, когда пользователь устанавливает приложение на реальном устройстве и, если возможно, каким образом это сделать?
Это можно сделать, создав zip всех ресурсов и поместив их в папку с ресурсами, а затем распакуйте эти папки в SD-карту, используя следующую ссылку: http://www.jondev.net/articles/Unzipping_Files_with_Android_%28Programmatically%29
Вы должны прочитать документацию на Android, содержащую раздел External Storage.
Я думаю, что это возможно. вы можете поместить все изображения в папку с активами, и при запуске приложения вы можете скопировать его в определенную папку на SD-карте. Вот ссылка для копирования базы данных формы базы данных в приложение. Вы можете попробовать его скопировать изображения из папки с данными в SDCard. http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
Я не знаю, как это сделать (что не означает, что это невозможно сделать). Одна вещь, которую вы определенно можете сделать, это создать папку, когда пользователь сначала запускает приложение и заполняет его изображениями.
Вы можете копировать изображения из активов в SDcard
Этот метод копирует изображения из папки с данными на вашу Sdcard.here Jaydeep Folder - это имя моей папки на sdcard. Вы можете использовать имя своей папки в этом месте.
public void copyImagesInSdcard()
{
assetManager = mycontext.getAssets();
assetManager1 = mycontext.getAssets();
System.out.println("In copyImagesInSdcard");
try
{
str1=assetManager.list("");
ss=assetManager1.list(str1[1]);
InputStream is;
//System.out.println(ss[0]);
File file=new File(Environment.getExternalStorageDirectory().getPath() + "/Jaydeep Folder");
if(file.exists()!=true)
{
file.mkdir();
}
else
{
if(file.length()==0)
{
file.mkdir();
}
System.out.println("Length:"+file.length());
}
for(int i=0;i<ss.length;i++)
{
is=assetManager1.open(str1[1] + "/" + ss[i]);
file=new File(Environment.getExternalStorageDirectory().getPath() + "/Jaydeep Folder/" + ss[i] );
FileOutputStream out=new FileOutputStream(file);
//Bitmap bi = BitmapDrawable.createFromStream(is,ss[0]);
byte b[] =new byte[4096];
while (is.read(b) != -1) {
out.write(b);
}
out.close();
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}