0

ファイルを保存するWebサーバーがありますhttp://user.mysite.com/content
。Androidアプリケーションで達成したいのは、ユーザーがこのサーバーにアップロードできるすべてのファイルをダウンロードすることだけです。ファイルをダウンロードしてSDカードに保存できる機能をAndroidで作成しました。このようなもの:

public void doDownload(){
    try {
        int count;
        URL url = new URL("http://user.mysite.com/content");
        URLConnection connection = url.openConnection();
        connection.connect();
        int lengthOfFile = connection.getContentLength();
        long total = 0;
        InputStream input = new BufferedInputStream(url.openStream());
        OutputStream output = new FileOutputStream(f);
        byte data[] = new byte[1024];
        while ((count = input.read(data)) != -1) {
            total += count;
            publishProgress((int)(total/1024),lengthOfFile/1024);
            output.write(data, 0, count);
        }
        output.flush();
        output.close();
        input.close();
    }
    catch (Exception e) {
         Log.e("Download Error: ", e.toString());
    }
}

サーバー上のファイルのリストとそれらのファイルの URL + ファイルの名前を取得して、ループを使用してそれぞれをアプリにダウンロードするにはどうすればよいですか?

ファイルのリストを取得するには、次のようなものをリストします。

public List clientServerFileList(){
    URL url;
    List serverDir = null;

    try {
        url = new URL("http://user.mysite.com/content/");           
        ApacheURLLister lister = new ApacheURLLister();         
        serverDir = lister.listAll(url);
    } 
    catch (Exception e) {
        e.printStackTrace();
        Log.e("ERROR ON GETTING FILE","Error is " +e);
    }
    System.out.println(serverDir);
    return serverDir;   
} 

私のサーバーは次のとおりです。

4

1 に答える 1

0
  1. POST または GET リクエストをサーバーに送信します。サーバーがこのリクエストを受信したら、JSON または XML をクライアントに応答します。
  2. サーバーが応答した XML または JSON を解析し、ファイル名を取得して ...、ファイル一覧からファイルをダウンロードできます。
于 2013-05-02T02:15:35.440 に答える