Wednesday, October 2, 2013

Android-Activity

Progress Dialog

Displaying a Progress Dialog

Besides the plain dialog that you created in the previous section, you can also create a progress dialog.

A progress dialog

       is useful for showing the progress of some activities, such as the status of a download operation. The following Try It Out shows you how to display a progress dialog.
Displaying a Progress Dialog Window Using an Activity

1. Using the same project created in the previous section, add the following statements in bold to the MainActivity.java file:
package net.learn2develop.Dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.app.ProgressDialog;
import android.os.Handler;
import android.os.Message;
public class MainActivity extends Activity {
CharSequence[] items = { “Google”, “Apple”, “Microsoft” };
boolean[] itemsChecked = new boolean [items.length];
private ProgressDialog _progressDialog;
private int _progress = 0;
private Handler _progressHandler;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.btn_dialog);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(1);
_progress = 0;
_progressDialog.setProgress(0);
_progressHandler.sendEmptyMessage(0);
}
});
_progressHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (_progress >= 100) {
_progressDialog.dismiss();
} else {
_progress++;
_progressDialog.incrementProgressBy(1);
_progressHandler.sendEmptyMessageDelayed(0, 100);
}
}
};
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
return new AlertDialog.Builder(this)
//...
//...
.create();
case 1:
_progressDialog = new ProgressDialog(this);
_progressDialog.setIcon(R.drawable.icon);
_progressDialog.setTitle(“Downloading files...”);
_progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
_progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, “Hide”, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton)
{
Toast.makeText(getBaseContext(),
“Hide clicked!”, Toast.LENGTH_SHORT).show();
}
});
_progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, “Cancel”, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton)
{
Toast.makeText(getBaseContext(),
“Cancel clicked!”, Toast.LENGTH_SHORT).show();
}
});
return _progressDialog;
}
return null;
}
}

Progress Dialog

2.  Press F11 to debug the application on the Android Emulator. Click the button to display the progress dialog (see Figure). Observe that the progress bar will count up to 100.


Progress Dialog

How It Works

To create a progress dialog, you first create an instance of the  ProgressDialog class and set its various properties, such as icon, title, and style:
_progressDialog = new ProgressDialog(this);
_progressDialog.setIcon(R.drawable.icon);
_progressDialog.setTitle(“Downloading files...”);
_progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
You then set the two buttons that you want to display inside the progress dialog:
_progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, “Hide”, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton)
{
Toast.makeText(getBaseContext(),
“Hide clicked!”, Toast.LENGTH_SHORT).show();
}
});
_progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, “Cancel”, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton)
{
Toast.makeText(getBaseContext(),
“Cancel clicked!”, Toast.LENGTH_SHORT).show();
}
});
return _progressDialog;
}


The preceding causes a progress dialog to appear (see Figure)

Progress Dialog

Progress Dialog

To display the progress status in the progress dialog, you need to use a Handler object to run a background thread:
_progress = 0;
_progressDialog.setProgress(0);
_progressHandler.sendEmptyMessage(0);
The background thread counts up to 100, with each count delayed by 100 milliseconds:
_progressHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (_progress >= 100) {
_progressDialog.dismiss();
} else {
_progress++;
_progressDialog.incrementProgressBy(1);
_progressHandler.sendEmptyMessageDelayed(0, 100);
}
}
};

Upload UIImage as base64 String

Upload UIImage as Base64 String (Upload UIImage as string) //Select Pic From Camera or Gallery       @objc func btnPro...