Hôm nay mình sẽ giới thiệu cho các bạn về hoạt động của một ứng dụng Android.
1. Thế nào là Appliction Android và Activity ?
a . Appliction Android
Khi chương trình biên dịch thành công sẽ tạo ra một tập tin có đuôi .apk . Tập tin này có thể thi triển được trên các di động dùng hệ điều hành Android của các bạn . Ta gọi đó là một Application Android
b. Activity .
Activity các bạn hiểu nó như một màn hình hay form hiển thị giống như form swing , hay C# ... nhưng hiển thị trên mobile hay các device sài hệ điều hành Android.
2 . Stack Activity .
Stack acitvity : là một dạng hiển thị các activity theo cấu trúc LIFO ( Last in first out) . Không nói đâu xa , khi các bạn sử dụng device của các bạn . Mở 1 app của các bạn lên , sau đó mở liên tiếp nhiều màn hình ( activity) lên . Sau đó các bạn ẩn nút back trở lại . Thì nó sẽ quay lại màn hình trước đó của các bạn .
Áp dụng vào sơ đồ trên thì các bạn sẽ hiểu ngay.
3. Vòng đời ứng dụng (Life cycle Android appliction)
onCreate()
|
Là method được gọi
lại hoặc gọi đầu tiên khi khởi tạo Activity
|
onStart()
|
Là method được gọi
lại hoặc gọi tới sau onCreate , làm cho user có thể thấy được application
|
onResume()
|
Là method gọi tới
khi người dùng bắt đầu tương tác ứng dụng
|
onPause()
|
Các hoạt động bị
tạm dừng và không nhận bất kỳ lệnh nào nữa. Và các hoạt động trước đó sẽ được
tiếp tục
|
onStop()
|
Được gọi tới khi
activity không còn được nhìn thấy nữa
|
onDestroy()
|
Method này được gọi
tới khi app bị destroy .
|
onRestart()
|
Method này được gọi
tới khi app đã bị stop.
|
a. activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="nosoft.com.demolifecycle.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
b. AndroidMenifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nosoft.com.demolifecycle"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
c. MainActivity.java
package nosoft.com.demolifecycle;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
/**
*
* @author Nosoft
*
*/
public class MainActivity extends Activity {
String msg = "Nosoft : ";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(msg, "onCreate() start");
}
/** Called when the activity is about to become visible. */
@Override
protected void onStart() {
super.onStart();
Log.d(msg, "onStart() start");
}
/** Called when the activity has become visible. */
@Override
protected void onResume() {
super.onResume();
Log.d(msg, "onResume() start");
}
/** Called when another activity is taking focus. */
@Override
protected void onPause() {
super.onPause();
Log.d(msg, "onPause() start");
}
/** Called when the activity is no longer visible. */
@Override
protected void onStop() {
super.onStop();
Log.d(msg, "onStop() start");
}
/** Called just before the activity is destroyed. */
@Override
public void onDestroy() {
super.onDestroy();
Log.d(msg, "onDestroy() start");
}
}
d. Results.
Full code example : here
pass extract :https://androidandshare.blogspot.com
Chúng ta có thể tự động gen các method này như sau.
các bạn chuột phải vào MainActivity , hay activity muốn generate ==> Chọn sources ==> Override/ Implements methods..
Sau đó chọn các method mà mình muốn sử dụng và chọn OK
4. Tasks là gì ?
Tasks là sự trao đổi công việc giữa các ứng dụng với nhau trong Android.
Ví dụ một ứng dụng invite friend , khi các bạn click vào nó . Nó sẽ gọi tới một app email , hay Facebook khác để thực hiện tiếp công việc mà người dùng muốn làm .
Tạm thời dừng tại đây. Chúng ta sẽ gặp lại nhau trong loạt bài tiếp theo.




No comments:
Post a Comment