۱۳۹۳/۱۲/۲۹, ۰۱:۲۳ ق.ظ
(۱۳۹۳/۱۰/۱۲, ۰۲:۰۱ ب.ظ)'admin' نوشته: سلام.این که همش ارور downloadtask میده؟!!
ابتدا توصیه می کنم نگاهی به موضوع زیر بیندازید که در آن یک Download Manager نسبتا کامل را معرفی کرده ایم :
http://www.kelidestan.com/forum/showthread.php?tid=4963
اما در مورد سوال شما :
در کلید زیر، در مورد ساخت یک دکمه (Button) و تعیین کدهایی برای اجرا شدن در هنگام اشاره بر روی دکمه، توضیحاتی داده ایم :
کلید شماره 2728
مطابق آن باید یک Button را در فایل xml تعریف کنید و سپس کدهای Activity را تغییر بدهید.
فرض می کنیم که دکمه را در فایل xml تعریف کرده اید. اکنون قصد داریم که کدهای لازم در Activity را بنویسیم. در مبحث مربوط به دانلود، کدهای روش onCreate (که در واقع به محض اجرای Activity ، این کدها اجرا می شوند) را به صورت زیر نوشته ایم :
کد پیاچپی:@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// instantiate it within the onCreate method
mProgressDialog = new ProgressDialog(MainActivity.this); // MainActivity = activity name
mProgressDialog.setMessage("A message");
mProgressDialog.setIndeterminate(true);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
// execute this when the downloader must be fired
final DownloadTask downloadTask = new DownloadTask(MainActivity.this); // MainActivity = activity name
downloadTask.execute("http://www.kelidestan.com/file.apk"); // the url to the file you want to download
mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
downloadTask.cancel(true);
}
});
}
بنابراین کدهای مربوط به دانلود در روش onCreate ، کدهای زیر می باشند :
کد پیاچپی:// instantiate it within the onCreate method
mProgressDialog = new ProgressDialog(MainActivity.this); // MainActivity = activity name
mProgressDialog.setMessage("A message");
mProgressDialog.setIndeterminate(true);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
// execute this when the downloader must be fired
final DownloadTask downloadTask = new DownloadTask(MainActivity.this); // MainActivity = activity name
downloadTask.execute("http://www.kelidestan.com/file.apk"); // the url to the file you want to download
mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
downloadTask.cancel(true);
}
});
پس کدهای Button به همراه کدهای فوق، به صورت زیر خواهد بود (در کل آنها را در روش onCreate) می نویسیم (که با اشاره بر روی Button ، کدهای دانلود اجرا شوند) :
کد پیاچپی:@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// instantiate it within the onCreate method
mProgressDialog = new ProgressDialog(MainActivity.this); // MainActivity = activity name
mProgressDialog.setMessage("A message");
mProgressDialog.setIndeterminate(true);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
// execute this when the downloader must be fired
final DownloadTask downloadTask = new DownloadTask(MainActivity.this); // MainActivity = activity name
downloadTask.execute("http://www.kelidestan.com/file.apk"); // the url to the file you want to download
mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
downloadTask.cancel(true);
}
});
}
});
بنابراین کدهای روش onCreate به صورت بالا تغییر داده می شود.