我正在使用带有图像适配器的gridview示例来渲染图像,区别在于这些图像是从SD卡中的特定文件夹中检索到的,例如/ SD卡/图像。 我正在模拟器上测试这个应用程序。为此我首先在模拟器上配置了sdcard,然后在eclipse下通过DDMS推送了这个特定文件夹上的图像。
我想知道的是,当用户在真实设备上安装应用程序时,是否可以在sdcard中创建包含图像的图像文件夹?如果可能,可以采用何种方式进行操作?
答案 0 :(得分:0)
我不知道有办法(这并不是说它无法完成)。 你绝对可以做的一件事是在用户第一次运行应用程序时创建文件夹,并用图像填充它。
答案 1 :(得分:0)
您应该阅读涵盖External Storage部分的Android文档。
答案 2 :(得分:0)
我认为这是可能的。您可以将所有图像放在资产文件夹中,当应用程序启动时,您可以将其复制到SD卡中的特定文件夹。这是将数据库表单资产文件夹复制到应用程序的链接。您可以尝试将图像从资产文件夹复制到SDCard。 http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
答案 3 :(得分:0)
您可以将图片从资源复制到SD卡
此方法将图像从资源文件夹复制到您的Sdcard。其中Jaydeep的文件夹是我在SD卡上的文件夹的名称。您可以在该位置使用您的文件夹名称。
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's 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's 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();
}
}
答案 4 :(得分:0)
这可以通过创建所有资源的zip并将它们放在assets文件夹中然后使用以下引用将这些文件夹解压缩到sdcard来完成:http://www.jondev.net/articles/Unzipping_Files_with_Android_%28Programmatically%29