habibn 1 ارسال شده در ۲۳ شهریور ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲۳ شهریور ۱۳۹۴ سلام در کد زیر من می خواهم لینک دانلود بزارم در کجاش باید بزارم و اینکه این کلاس را بخواهم تو کلاس دیگر فراخوانی کنم چطور باید اینکار رو انجام بدم با تشکر [shcode=java] package com.javacodegeeks.android.androidprogressdialogexample; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.view.View; public class MainActivity extends Activity { ProgressDialog barProgressDialog; Handler updateBarHandler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); updateBarHandler = new Handler(); } public void launchRingDialog(View view) { final ProgressDialog ringProgressDialog = ProgressDialog.show(MainActivity.this, "Please wait ...", "Downloading Image ...", true); ringProgressDialog.setCancelable(true); new Thread(new Runnable() { @Override public void run() { try { // Here you should write your time consuming task... // Let the progress ring for 10 seconds... Thread.sleep(10000); } catch (Exception e) { } ringProgressDialog.dismiss(); } }).start(); } public void launchBarDialog(View view) { barProgressDialog = new ProgressDialog(MainActivity.this); barProgressDialog.setTitle("Downloading Image ..."); barProgressDialog.setMessage("Download in progress ..."); barProgressDialog.setProgressStyle(barProgressDialog.STYLE_HORIZONTAL); barProgressDialog.setProgress(0); barProgressDialog.setMax(20); barProgressDialog.show(); new Thread(new Runnable() { @Override public void run() { try { // Here you should write your time consuming task... while (barProgressDialog.getProgress() <= barProgressDialog.getMax()) { Thread.sleep(2000); updateBarHandler.post(new Runnable() { public void run() { barProgressDialog.incrementProgressBy(2); } }); if (barProgressDialog.getProgress() == barProgressDialog.getMax()) { barProgressDialog.dismiss(); } } } catch (Exception e) { } } }).start(); } } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
habibn 1 ارسال شده در ۲۴ شهریور ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۲۴ شهریور ۱۳۹۴ سلام ایا کسی سورس اماده یا اموزش ساخت برای دانلود فایل که همراه با نشان دادن میزان دانلود بصورت پروکس دیالوگ و یا به روش های دیگه نداره نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mr.smf8 8 ارسال شده در ۲۴ شهریور ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲۴ شهریور ۱۳۹۴ http://www.androidhive.info/2012/04/android-downloading-file-by-showing-progress-bar/ سوالی داشتی بپرس نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
habibn 1 ارسال شده در ۲۴ شهریور ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۲۴ شهریور ۱۳۹۴ ممنون با استفاده از کد موجود زیر اینکار رو انجام دادم فقط برنامه اندروید که دانلود میشه می خواهم به طور اتوماتیک نصب بشه یا حداقل پیغام نصب به کاربر بده باید چیکار کنم [shcode=java] import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; public class Download extends Activity { // دکمه برای نمایش یک پنجره نمایش دهنده پروگرس Button btnShowProgress; //نمایش گر تصویر برای نمایش عکس بعد از دانلود ImageView my_image; // Progress Dialog private ProgressDialog pDialog; // Progress dialog type (0 - برای نوار پیشرفت افقی) public static final int progress_bar_type = 0; // آدرس فایل برای دانلود private static String file_url = "http://dl.androidha.com/android/dey-93/Oddworld_Stranger's_Wrath_v1.0.5_Andreno_www.AndroidHa.com.apk"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.download); // نمایش دکمه پروگرس بار btnShowProgress = (Button) findViewById(R.id.btnProgressBar); // نمایشگر تصویر برای نمایش تصویر بعد از دانلود my_image = (ImageView) findViewById(R.id.my_image); /** * Show Progress bar click event * */ btnShowProgress.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //جدید Async Taskشروع یک new DownloadFileFromURL().execute(file_url); } }); /** * Dialogنمایش * */ } protected Dialog onCreateDialog(int id) { switch (id) { case progress_bar_type: pDialog = new ProgressDialog(this); pDialog.setMessage("در حال دانلود ...لطفا صبر کنید"); pDialog.setIndeterminate(false); pDialog.setMax(100); pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pDialog.setCancelable(true); pDialog.show(); return pDialog; default: return null; } } /** * Background Async Task to download file * */ class DownloadFileFromURL extends AsyncTask { /** قبل از شروع دانلود می گیم پروگرس بار رو به نمایش بزار * */ @Override protected void onPreExecute() { super.onPreExecute(); showDialog(progress_bar_type); } /** دانلود فایل در یک نخ جدا * */ @Override protected String doInBackground(String... f_url) { int count; try { URL url = new URL(f_url[0]); URLConnection conection = url.openConnection(); conection.connect(); // به دست آوردن حجم فایل int lenghtOfFile = conection.getContentLength(); // input stream برای خواندن فایل- with 8k buffer InputStream input = new BufferedInputStream(url.openStream(), 8192); // Output stream برای ذخیره فایل OutputStream output = new FileOutputStream("/sdcard/shop.apk"); byte data[] = new byte[1024]; long total = 0; while ((count = input.read(data)) != -1) { total += count; // publishing the progress.... // صدا زده خواهد شد onProgressUpdate بعد از این publishProgress(""+(int)((total*100)/lenghtOfFile)); // نوشتن اطلاعات داخل فایل output.write(data, 0, count); } // flushing output output.flush(); // هاstreamبستن output.close(); input.close(); } catch (Exception e) { Log.e("Error: ", e.getMessage()); } return null; } /** بروزکردن پروگرس بار * */ protected void onProgressUpdate(String... progress) { //تنظیم مقدار پروگرس بار pDialog.setProgress(Integer.parseInt(progress[0])); } /** بعد از اتمام کار * **/ @SuppressWarnings("deprecation") @Override protected void onPostExecute(String file_url) { // لغو نمایش پروگرس بار بعد از اتمام دانلود dismissDialog(progress_bar_type); Toast.makeText(getApplicationContext(), "با موفقیت نصب شد", 7000).show(); }}} [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .