Android Activity
An activity having UserInterface its sub class of Activity
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View). While activities are often presented to the user as full-screen windows, they can also be used in other ways: as floating windows (via a theme with windowIsFloating set) or embedded inside of another activity (using ActivityGroup). There are two methods almost all subclasses of Activity will implement:
An activity having UserInterface its sub class of Activity
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View). While activities are often presented to the user as full-screen windows, they can also be used in other ways: as floating windows (via a theme with windowIsFloating set) or embedded inside of another activity (using ActivityGroup). There are two methods almost all subclasses of Activity will implement:
a) Backup Activity
b) Notification Activity
c) setContentView from XML for activity
d) more than one Activity
e) find user control by using findbyview
f) A simple form
g) Link from with POJO
h) LifeCycle
a) Backup Activity
This class using for take backup your database or your application any other data.
class BackAsyncTask extends AsyncTask<String,Void,Integer> {
public interface CompletionListener {
void onBackupComplete();
void onRestoreComplete();
void onError(int errorCode);
}
public static final int BACKUP_SUCCESS = 1;
public static final int RESTORE_SUCCESS = 2;
public static final int BACKUP_ERROR = 3;
public static final int RESTORE_NOFILEERROR = 4;
public static final String COMMAND_BACKUP = "backupDatabase"; // cmd for backup databse
public static final String COMMAND_RESTORE = "restoreDatabase"; // cmd for restore the database
private Context mContext;
private CompletionListener listener;
public BackAsyncTask(Context context) {
super();
mContext = context;
}
public void setCompletionListener(CompletionListener aListener) {
listener = aListener;
}
@Override
protected Integer doInBackground(String... params) {
public interface CompletionListener {
void onBackupComplete();
void onRestoreComplete();
void onError(int errorCode);
}
public static final int BACKUP_SUCCESS = 1;
public static final int RESTORE_SUCCESS = 2;
public static final int BACKUP_ERROR = 3;
public static final int RESTORE_NOFILEERROR = 4;
public static final String COMMAND_BACKUP = "backupDatabase"; // cmd for backup databse
public static final String COMMAND_RESTORE = "restoreDatabase"; // cmd for restore the database
private Context mContext;
private CompletionListener listener;
public BackAsyncTask(Context context) {
super();
mContext = context;
}
public void setCompletionListener(CompletionListener aListener) {
listener = aListener;
}
@Override
protected Integer doInBackground(String... params) {
// inside doinbackground creating directry for backup file and copy the file
File dbFile = mContext.getDatabasePath("mydb");
File exportDir = new File(Environment.getExternalStorageDirectory(), "myAppBackups");
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File backup = new File(exportDir, dbFile.getName());
String command = params[0];
if(command.equals(COMMAND_BACKUP)) {
try {
backup.createNewFile();
fileCopy(dbFile, backup);
return BACKUP_SUCCESS;
} catch (IOException e) {
return BACKUP_ERROR;
}
} else if(command.equals(COMMAND_RESTORE)) {
try {
if(!backup.exists()) {
return RESTORE_NOFILEERROR;
}
dbFile.createNewFile();
fileCopy(backup, dbFile);
return RESTORE_SUCCESS;
} catch (IOException e) {
return BACKUP_ERROR;
}
} else {
return BACKUP_ERROR;
}
}
@Override
protected void onPostExecute(Integer result) {
switch(result) {
File dbFile = mContext.getDatabasePath("mydb");
File exportDir = new File(Environment.getExternalStorageDirectory(), "myAppBackups");
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File backup = new File(exportDir, dbFile.getName());
String command = params[0];
if(command.equals(COMMAND_BACKUP)) {
try {
backup.createNewFile();
fileCopy(dbFile, backup);
return BACKUP_SUCCESS;
} catch (IOException e) {
return BACKUP_ERROR;
}
} else if(command.equals(COMMAND_RESTORE)) {
try {
if(!backup.exists()) {
return RESTORE_NOFILEERROR;
}
dbFile.createNewFile();
fileCopy(backup, dbFile);
return RESTORE_SUCCESS;
} catch (IOException e) {
return BACKUP_ERROR;
}
} else {
return BACKUP_ERROR;
}
}
@Override
protected void onPostExecute(Integer result) {
switch(result) {
// result for back up success
case BACKUP_SUCCESS:
if(listener != null) {
listener.onBackupComplete();
}
break;
case RESTORE_SUCCESS:
if(listener != null) {
listener.onRestoreComplete();
}
break;
case RESTORE_NOFILEERROR:
if(listener != null) {
listener.onError(RESTORE_NOFILEERROR);
}
break;
default:
if(listener != null) {
listener.onError(BACKUP_ERROR);
}
}
}
// this method for copying the file source to disetination
private void fileCopy(File source, File dest) throws IOException {
FileChannel inChannel = new FileInputStream(source).getChannel();
FileChannel outChannel = new FileOutputStream(dest).getChannel();
try {
inChannel.transferTo(0, inChannel.size(), outChannel);
} finally {
if (inChannel != null)
inChannel.close();
if (outChannel != null)
outChannel.close();
}
}
case BACKUP_SUCCESS:
if(listener != null) {
listener.onBackupComplete();
}
break;
case RESTORE_SUCCESS:
if(listener != null) {
listener.onRestoreComplete();
}
break;
case RESTORE_NOFILEERROR:
if(listener != null) {
listener.onError(RESTORE_NOFILEERROR);
}
break;
default:
if(listener != null) {
listener.onError(BACKUP_ERROR);
}
}
}
// this method for copying the file source to disetination
private void fileCopy(File source, File dest) throws IOException {
FileChannel inChannel = new FileInputStream(source).getChannel();
FileChannel outChannel = new FileOutputStream(dest).getChannel();
try {
inChannel.transferTo(0, inChannel.size(), outChannel);
} finally {
if (inChannel != null)
inChannel.close();
if (outChannel != null)
outChannel.close();
}
}
Download FullSourecode
b) Notification Activity
A class that represents how a persistent notification is to be presented to
the user using the
The NotificationManager.
Notification.Builder has been added to make it
easier to construct Notifications.
This Notification Activity for notify any task completed.
Sample Code
/**
*
* @author
vijayakumar
*
*/
public
class
AndroidMADQAActivity extends
Activity implements
View.OnClickListener {
private
static
final
int
NOTE_ID
= 100;
@Override
public
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button button = new
Button(this);
button.setText("Click
New Notification");
button.setOnClickListener(this);
setContentView(button);
}
@Override
public
void
onClick(View v) {
handler.postDelayed(task,
10000);
Toast.makeText(this,
"Notification will Appear in 10
seconds",
Toast.LENGTH_SHORT).show();
}
private
Handler handler
= new
Handler();
private
Runnable task
= new
Runnable() {
@Override
public
void
run() {
NotificationManager manager
=
(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Intent launchIntent = new
Intent(getApplicationContext(), AndroidMADQAActivity.class);
PendingIntent contentIntent
= PendingIntent.getActivity(getApplicationContext(), 0,
launchIntent, 0);
Notification note = new
Notification(R.drawable.ic_launcher,
"Download Completed",
System.currentTimeMillis());
note.setLatestEventInfo(getApplicationContext(),
"Finished!",
"Click Here!",
contentIntent);
note.defaults
|= Notification.DEFAULT_SOUND;
note.flags
|= Notification.FLAG_AUTO_CANCEL;
manager.notify(NOTE_ID,
note);
}
};
}
C).Timer Activity
Timer activity class represents will keep updating current time using timer task.
Sampe code .
Timer activity class represents will keep updating current time using timer task.
Sampe code .
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
/**
*
* @author vijayakumar
*
*/
public class AndroidMADQAActivity extends Activity {
TextView mClock;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mClock = new TextView(this);
setContentView(mClock);
}
private Handler mHandler = new Handler();
private Runnable timerTask = new Runnable() {
@Override
public void run() {
Calendar now = Calendar.getInstance();
mClock.setText(String.format("%02d:%02d:%02d",
now.get(Calendar.HOUR),
now.get(Calendar.MINUTE),
now.get(Calendar.SECOND)) );
mHandler.postDelayed(timerTask,1000);
}
};
@Override
public void onResume() {
super.onResume();
mHandler.post(timerTask);
}
@Override
public void onPause() {
super.onPause();
mHandler.removeCallbacks(timerTask);
}
}
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
/**
*
* @author vijayakumar
*
*/
public class AndroidMADQAActivity extends Activity {
TextView mClock;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mClock = new TextView(this);
setContentView(mClock);
}
private Handler mHandler = new Handler();
private Runnable timerTask = new Runnable() {
@Override
public void run() {
Calendar now = Calendar.getInstance();
mClock.setText(String.format("%02d:%02d:%02d",
now.get(Calendar.HOUR),
now.get(Calendar.MINUTE),
now.get(Calendar.SECOND)) );
mHandler.postDelayed(timerTask,1000);
}
};
@Override
public void onResume() {
super.onResume();
mHandler.post(timerTask);
}
@Override
public void onPause() {
super.onPause();
mHandler.removeCallbacks(timerTask);
}
}


http://androidroadies.blogspot.in/
ReplyDelete