Android 从服务器下载图像并保存在应用程序(app\src\main)项目的特定文件夹中

Android 从服务器下载图像并保存在应用程序(app\src\main)项目的特定文件夹中,android,Android,下载应用程序后(或首次打开应用程序后),我希望应用程序从服务器下载图像,并将其保存在项目的特定文件夹中。(app\src\main)在我的情况下,在文件夹app\src\main\assets中 如何做到这一点?由于您没有提供有关从何处获取图像的任何信息,我将为您提供一个简单的Http下载示例 您将无法将任何文件保存到应用程序asset文件夹中!它是一个只读存储库。 public byte[] HttpFileDownload(){ byte[] result = null; t

下载应用程序后(或首次打开应用程序后),我希望应用程序从服务器下载图像,并将其保存在项目的特定文件夹中。(app\src\main)在我的情况下,在文件夹app\src\main\assets中
如何做到这一点?

由于您没有提供有关从何处获取图像的任何信息,我将为您提供一个简单的Http下载示例

您将无法将任何文件保存到应用程序
asset
文件夹中!它是一个只读存储库。

public byte[] HttpFileDownload(){
    byte[] result = null;
    try{
        String s = "http://www.yourDomain/" + getDataFileName(FILE_DATA_TYPE);
        URL url = new URL(s);

           URLConnection uc = url.openConnection(Proxy.NO_PROXY);
           InputStream content = (InputStream)uc.getInputStream();

           ByteArrayOutputStream baos = new ByteArrayOutputStream();

           int nRead;
           byte[] data = new byte[1024];

           while ((nRead = content.read(data, 0, data.length)) != -1) {
               baos.write(data, 0, nRead);
           }

           baos.flush();

           result = new ByteArrayInputStream(baos.toByteArray());
    }
    catch(Exception ex){
        ex.printStackTrace();
    }
    return result;
}
文件\数据\类型将包含一个字符串,其中包含您希望下载的文件名(例如lakesmith.jpg)


哪一部分或者你只是想要全部?@Barns52所有图像都放在一个文件夹中那么你已经有了可以正常下载图像的部分了?如果是这样,请发布您的代码,说明图像是如何下载的。@Barns52可能我理解错了您的问题。我不懂英语,很抱歉。。。我没有下载图像的部分。所有图像都存储在某个站点中,我想从该站点将这些图像下载到我的文件夹(app\src\main\assets)至少我需要将这些图像下载到内部或外部内存中,即与app分开。(在这种情况下,我想我可以绕开侵犯图像版权的问题。因为事实上,应用程序不包含版权内容)这个答案并不是为了复制粘贴解决方案,只是朝着一个对meOkey有效的方向推进,谢谢你的回答,我会想办法解决。为什么使用“saveToFile”方法是布尔值吗?文件保存在哪里?对不起,布尔值,我编辑了我在应用程序中使用的一些代码。我返回了一个布尔值以指示我是否成功。我忘了在这里加上那个。
private boolean saveToFile(String fileName, byte[] ba){
    FileOutputStream outputStream;

    try {
        outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
        outputStream.write(ba);
        outputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
}