1

アプリの /files パスにローカルにあるリモート ディレクトリからすべての画像をダウンロードする必要がある Android アプリケーションを作成しています。そのディレクトリ内のすべてのファイル (すべての画像) のリストを取得して、それらすべてを電話にダウンロードできるようにする方法を知る必要があります。ローカル ディレクトリ内のファイルを一覧表示するコードを見つけましたが、リモート ディレクトリに対して同じことを行う方法を知る必要があります (ディレクトリは、ログインを必要としない http ディレクトリです)。

String path = "."; 

String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles(); 

for (int i = 0; i < listOfFiles.length; i++) 
{

 if (listOfFiles[i].isFile()) 
 {
   files = listOfFiles[i].getName();
   System.out.println(files);
 }
}

また、ディレクトリ内の名前を取得したら、この作業コードを使用して画像をダウンロードしています。

private void storeImage(String filename)
{
  FileOutputStream out = null;
  try
  {
    URL url = new URL(Consts.IMAGES_BASE_URL + filename);
    InputStream is = (InputStream) url.getContent();
    Bitmap bm = BitmapFactory.decodeStream(is);
    out = context.openFileOutput(filename, Context.MODE_WORLD_READABLE);

    File file = new File(context.getFilesDir().toString(), filename);
    out = new FileOutputStream(file);

    if(isPNG(filename))//isPNG just parses out the extension
      bm.compress(Bitmap.CompressFormat.PNG, 85, out);
    else if(isJPG(filename))
      bm.compress(Bitmap.CompressFormat.JPEG, 85, out);

  } catch (MalformedURLException e)
  {
    e.printStackTrace();
  } catch (IOException e)
  {
    e.printStackTrace();
  }
  finally
  {
    try
    {
      out.flush();
      out.close();
    } catch (IOException e)
    {
      e.printStackTrace();
    }
  }

}

どんな助けでも大歓迎です

4

0 に答える 0