【问题标题】:Using downloaded images in an Android Application在 Android 应用程序中使用下载的图像
【发布时间】:2013-02-06 00:41:16
【问题描述】:

我想将 PDF 和图像下载到我的应用程序中,本质上它会调用 JSON Web 服务,返回 PDF 的链接、图像的链接和标题。它将下载图像和 PDF 并保存它们。然后它将显示带有标题的 PDF 和图像。我唯一的问题是如何处理图像?它们无法保存到 APK,因为它已被锁定。这些图像的分辨率足够高,可以缩小以适应所有其他密度,我应该只使用大图像,并在使用它时让活动按比例缩小。还是应该在检索过程中实现图像缩放器?

最终,PDF 和图像将被加载到 APK 中。我将如何检查资产文件夹以删除图像,我是否只需要调用在 Application First 开始检查资产文件夹中的文件时运行的服务,然后如果它们存在则将其删除?

【问题讨论】:

    标签: android image-processing


    【解决方案1】:

    示例代码供您参考,您可以在其中从网络下载图像。将图像存储在资产文件夹中比内部存储器更好,并调整图像大小以获得良好的性能。您可以在调用 Web 服务之前删除文件夹并加载新集图片。

    if (Utility.isWifiPresent()
                        || Utility.isMobileConnectionPresent()) {
                    URL url = new URL(fileUrl);
                    InputStream iStream = url.openConnection().getInputStream();// .read(data)
                    ByteArrayOutputStream buffer = new ByteArrayOutputStream();
                    byte[] tmpArray = new byte[1024];
                    int nRead;
                    while ((nRead = iStream.read(tmpArray, 0, tmpArray.length)) != -1) {
                        buffer.write(tmpArray, 0, nRead);
                    }
                    buffer.flush();
                    data = buffer.toByteArray();
                    FileOutputStream fOut = null;
            //path to store
    
                        fOut = Utility.getFileOutputStreamForCloud(
                                sdcardFolderPath, fileUrl);
                    }
                    fOut.write(data);
                    fOut.flush();
                    fOut.close();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2015-07-05
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多