在Android应用程序中存储png图像的位置和方法

时间:2011-08-09 15:17:02

标签: android png

我正在开发一个包含大量图形的应用程序....它的大小将是80 MB。应用程序将首次从Web服务下载图形(实际上是png格式的贺卡)。问题我我面临的是在哪里保存这些图形(贺卡)以及如何将它们保存在内部存储或SD卡或SQLite中....我的问题是

  1. 如何根据类别将它们存储在不同的文件夹中。
  2. 如何更新它们。
  3. 如何检索/访问它们。

    这些图片的所有信息都将在SQLite中。还请给我一些代码。

3 个答案:

答案 0 :(得分:1)

下面的答案。对于代码,您应该搜索这个地方并尝试一些事情,如果它不起作用则返回。

  1. 由于大小为80MB,我建议您存储在外部存储中。您可以创建目录结构并在那里存储每个类别。
  2. 您需要为您的应用程序授予WRITE_EXTERNAL_STORAGE权限,然后您才能读取/写入/删除/更新您的png。
  3. 简单文件操作可用于检索/访问图像。在SQLite中,您可以存储图像的路径。

答案 1 :(得分:1)

使用以下代码。

public class ImageDownload {

    public static void downloader(String imageURL, String fileName) { 
            try {
                    URL url = new URL("http://www.exampleurl.com/" + imageURL); 
                    File file = new File(fileName);


                    URLConnection con = url.openConnection();

                    InputStream is = con.getInputStream();
                    BufferedInputStream bis = new BufferedInputStream(is);

                    ByteArrayBuffer baf = new ByteArrayBuffer(50);
                    int current = 0;
                    while ((current = bis.read()) != -1) {
                            baf.append((byte) current);
                    }

                    FileOutputStream fos = new FileOutputStream(file);
                    fos.write(baf.toByteArray());
                    fos.close();

            } catch (IOException e) {
                    Log.d("Downloader", "Error: " + e);
            }

    }
    }

答案 2 :(得分:0)

  1. 这完全取决于您希望如何构建存储。如果用户可以创建类别,请将与category1相关的用户文件存储在名为category1的文件夹中。
  2. 更新它们是将新下载的文件与数据库中的信息或实际文件本身进行比较,并在必要时进行替换。或者首先将磁盘上的文件与Web上的文件进行比较,然后根据需要进行更新。
  3. 您可以使用HttpClient从Web检索/访问它们,也可以使用Android ContentManager从手机中存储/检索它们。您将在Sqlite
  4. 中存储图像的路径

    就代码而言,你几乎找不到任何人会给你一个代码。 StackOverflow适用于难以接受并需要帮助的情况。

    谷歌:

    android httpclient
    android sqlite
    android内容提供商