我需要使用不同的url调用asynctask。我有两个按钮,他们用不同的网址对服务器进行http发布,现在我可以用一个网址调用asynctask但是如何用不同的网址调用相同的功能..意思是按钮1下载网址1和按钮2下载网址号码2
class DownloadFont extends AsyncTask<String, Integer, Boolean> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(MainAc.this);
progressDialog.setCancelable(false);
progressDialog.setMessage("download"));
progressDialog.setTitle("wait"));
progressDialog.show();
}
protected void onProgressUpdate(Integer... progress) {
super.onProgressUpdate(progress);
progressDialog.setIndeterminate(false);
progressDialog.setMax(100);
progressDialog.setProgress(progress[0]);
String info_download = "";
if (progress[0] > 99) {
download = (getResources().getString("dff));
} else {
download = (getResources().getString(R.string.download)) + progress[0] + "%";
}
progressDialog.setMessage(download);
}
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
progressDialog.dismiss();
if (result) {
Toast.makeText(getApplicationContext(), getResources().getString(R.string.done), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), getResources().getString(R.string.error), Toast.LENGTH_SHORT).show();
}
}
@Override
protected Boolean doInBackground(String... arg0) {
Boolean flag = false;
try {
URL url = new URL("www.test_sweb.com/new.mp3");
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
答案 0 :(得分:0)
在按钮单击列表器方法上,您可以将要执行的URL放在可以发送到doInBackground(String .. arg0)方法的字符串中:
DownloadFont.execute(yourview.getText(), URL_YOU_WANT_TO_EXEC);
并在您的代码中获取网址:
@Override
protected Boolean doInBackground(String... arg0) {
URL_YOU_WANT_TO_EXEC = arg0[0];
.
.
.
}
答案 1 :(得分:0)
在doInBackground中:
@Override
protected Boolean doInBackground(String... arg) {
Boolean flag = false;
try {
URL url = new URL(arg[0]);
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
在您的活动中或您想要开始任务的地方(onClick):
string URL = "www.test_sweb.com/new.mp3";//Or the url you need
new DownloadFont().execute(URL)