1

我正在使用带有图像适配器的 gridview 示例来渲染图像,不同之处在于这些图像是从 sdcard 中的特定文件夹中检索的,例如 /sdcard/images。我正在模拟器上测试这个应用程序。为此,我首先在模拟器上配置了 sdcard,然后在 eclipse 下通过 DDMS 将图像推送到这个特定文件夹中。

我想知道的是,当用户在真实设备上安装应用程序时,是否可以在 sdcard 中创建包含图像的图像文件夹,如果可能的话,该怎么做?

4

5 回答 5

0

我不知道有办法做到这一点(这并不是说它不能做到)。您绝对可以做的一件事是在用户第一次运行应用程序时创建文件夹,并用图像填充它。

于 2011-06-06T12:46:14.063 回答
0

您应该阅读涵盖外部存储部分的 Android 文档。

于 2011-06-06T12:50:18.623 回答
0

我认为这是可能的。您可以将所有图像放在资产文件夹中,当您的应用程序启动时,您可以将其复制到 SD 卡中的特定文件夹中。这是将数据库表单资产文件夹复制到应用程序的链接。您可以尝试将图像从资产文件夹复制到 SDCard。 http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

于 2011-06-06T13:03:19.247 回答
0

您可以将图像从资产复制到 SD 卡

此方法将图像从资产文件夹复制到您的 SD 卡。这里 Jaydeep 的文件夹是我在 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'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();
}
}
于 2011-06-06T13:12:35.520 回答
0

这可以通过创建所有资源的 zip 并将它们放入 assets 文件夹中,然后使用以下参考将这些文件夹解压缩到 sdcard 中来完成:http: //www.jondev.net/articles/Unzipping_Files_with_Android_%28Programmatically%29

于 2011-06-09T10:29:08.567 回答