如何通过asyncTask从不同的URL下载不同文件夹中的文件?

时间:2018-12-15 14:31:58

标签: java android

我有一个应用程序,可以从两个URL下载多个文件,然后通过asyncTask下载文件夹。它工作正常,但我想将文件下载到其他文件夹中。例如,在App文件夹中下载文件1,在下载文件夹中下载文件2。怎么办?

 Button button = (Button) findViewById(R.id.button1);
 button.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
       String url1 = "https://www.example.com";
                            new DownloadFont().execute(url1);
    }
 });


 Button button2 = (Button) findViewById(R.id.button2);
 button2.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
       String url2 = "https://www.example2url.com";
                            new DownloadFont().execute(url2);
    }
 });

1 个答案:

答案 0 :(得分:1)

您可以添加布尔值作为参数,并根据布尔值定义路径。

@Override
protected Boolean doInBackground(Boolean saveToAppfolder, String... arg) {

    String PATH = "";
    if (saveToAppfolder) {
        Environment.getExternalStorageDirectory() + "/AppFolder/";
    } else {
        //OTHER Folder
    }
}

或者您可以在String []中发送路径。

@Override
protected Boolean doInBackground(String... arg) {

    String PATH = arg[1];
}

实施上述示例之一并执行:

 Button button = (Button) findViewById(R.id.button1);
 button.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
   String url1 = "https://www.example.com";
   new DownloadFile().execute(false, url1); // first example
   new DownloadFile().execute(url1, pathToDownloadTo); //second example
}
});


Button button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
   String url2 = "https://www.example2url.com";
   new DownloadFile().execute(false, url2); // first example
   new DownloadFile().execute(url2, pathToDownloadTo); //second example
}
});