habibn

سوال پروکس دیالوگ

4 ارسال در این موضوع قرار دارد

سلام در کد زیر من می خواهم لینک دانلود بزارم در کجاش باید بزارم و اینکه این کلاس را بخواهم تو کلاس دیگر فراخوانی کنم چطور باید اینکار رو انجام بدم با تشکر

[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]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام ایا کسی سورس اماده یا اموزش ساخت برای دانلود فایل که همراه با نشان دادن میزان دانلود بصورت پروکس دیالوگ و یا به روش های دیگه نداره

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ممنون با استفاده از کد موجود زیر اینکار رو انجام دادم

فقط برنامه اندروید که دانلود میشه می خواهم به طور اتوماتیک نصب بشه یا حداقل پیغام نصب به کاربر بده باید چیکار کنم

[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]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری