在设备上安装应用程序时,如何在 SD 卡中创建包含图像的文件夹?

发布于 11-14 05:26 字数 222 浏览 3 评论 0原文

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

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

I am using gridview example with image adapter to render images with difference that these images are retrieved from a particular folder in sdcard for e.g. /sdcard/images.
I am testing this application on emulator.For this i have firstly configured sdcard on emulator and then pushed the images on this particular folder through DDMS under eclipse.

What i want to know is that is it possible to create images folder containing images in sdcard when a user installs the application on the real device and if possible what is the way to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

阳光下慵懒的猫2024-11-21 05:26:19

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

I'm not aware of a way to do it (which is not to say that it cant be done).
One thing that you definitely can do is create the folder when the user first runs the application, and fill it with the images.

自找没趣2024-11-21 05:26:19

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

You should read the Android Documentation covering the External Storage section.

一抹苦笑2024-11-21 05:26:19

我认为这是可能的。您可以将所有图像放入资产文件夹中,当应用程序启动时,您可以将其复制到 SD 卡中的特定文件夹中。这是将数据库表单资产文件夹复制到应用程序的链接。您可以尝试将资源文件夹中的图像复制到 SDCard。
http://www.reigndesign.com/博客/在android应用程序中使用您自己的sqlite数据库/

I think it is possible . you can put all images in a asset folder and when you application will start you can copy it to a particular folder in SD Card. Here is the link for copy the database form asset folder to application . You can try it for copy the images form asset folder to SDCard.
http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

玩物2024-11-21 05:26:19

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

此方法将资产文件夹中的图像复制到您的 Sdcard 。这里 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();
}
}

You can copy images from assets to SDcard

This method copies images from assets folder to your Sdcard .here Jaydeep's Folder is the name of my folder on sdcard.You can use your folder name in that place.

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();
}
}
奈何桥上唱咆哮2024-11-21 05:26:19

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

This can be done by creating zip of all resources and put them in assets folder and then unzip these folder into sdcard using following reference: http://www.jondev.net/articles/Unzipping_Files_with_Android_%28Programmatically%29

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文