アプリの /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();
}
}
}
どんな助けでも大歓迎です