Bài giảng về lập trình android từ cơ bản đến nâng cao - Pdf 30

Bài tập 3: Cách tạo Android Project và tìm hiểu cấu trúc bên trong của một Android Project
Ở bài tập số 2, bạn đã biết cách tạo và sử dụng máy ảo Android cũng như DDMS.
– Trong bài tập này các bạn sẽ thực hành cách tạo Android Project và tìm hiểu các thành phần bên
trong của nó:
 Cách tạo Android Project
 Activity, Intent, View
 Auto gen
 Android libs
 Resource
 Layout, menu, values
 Manifest XML
– Cũng như cách chạy chương trình Android, hiểu được cơ chế vận hành của nó.
1) Cách tạo một Android Project:
Ở đây Tôi cung cấp 2 cách tạo Android Project:
Cách 1: Bạn vào Menu File/ Chọn New/ chọn Android Project (xem hình bên dưới):

Cách 2: Bấm chuột phải vào vị trí bất kỳ trong Package Explorer / Chọn New / Chọn Android Project
(xem hình bên dưới):

Các bạn chú ý là khi một Android Project được tạo ra thì nó sẽ được lưu trữ trong Package Explorer.
Một số trường hợp bạn không thể thấy được Package Explorer (do bạn lỡ tay đóng nó đi, hoặc một
nguyên nhân nào đó), nếu như chưa biết cách lôi nó ra thì các bạn làm như sau:
– Vào menu Windows/ chọn Show View/ click chọn Package Explorer
– Nếu như trong Show View mà không thấy Package Explorer thì bạn nhìn mục dưới cùng có nhãn
“Other…“, click vào nó thì chắc chắn bên trong sẽ có Package Explorer:

2) Nhập thông số cho một Android Project mới:
Khi bạn chọn New Android Project thì một màn hình sẽ hiển thị ra như bên dưới:

Mục Application Name: bạn đặt tên cho ứng dụng mà bạn mong muốn, trong ví dụ này là Tôi đặt
“SampleProject“

thường sẽ có một Activity để khởi chạy ứng dụng. Ở đây bạn hiểu rằng MainActivity.javachính là
class chứa toàn bộ source code, còn activity_main.xml chính là phần giao diện. Đối với Android khi
một Activity tạo ra thì thường nó đi kèm với một Layout giao diện nào đó (Tức là nó luôn được tách
thành 2 phần: phần source code riêng và phần giao diện riêng). Bạn hiểu Activity giống như là các
màn hình (cửa sổ) tương tự như là C#, mỗi Activity là một màn hình tương tác cụ thể nào đó.
– Bạn cũng cần nhớ rằng bất kỳ một Activity nào muốn được triệu gọi thành công trong Android
Project thì bắt buộc nó phải được khai báo trong tập tin AndroidManifest.xml . Nếu như bạn gọi một
Activity mà Activity này không được khai báo trong Manifest thì chắc chắn chương trình sẽ bị lỗi và
tắt luôn.
– Hãy xem cấu trúc bên trong của AndroidManifest.xml (double click vào nó và chọn tab như hình
bên dưới):

– Như hình bên trên bạn thấy đó, MainActivity muốn được triệu gọi thì nó phải được khai báo trong
này. Và đặc biệt nếu như muốn nó là màn hình đầu tiên được thực thi khi chạy ứng dụng thì bạn phải
khai báo giống như tag <intent-filter> ở trên. Như vậy nếu bạn muốn một Activity bất kỳ nào đó
được gọi đầu tiên khi chạy ứng dụng thì bạn chỉ khai báo y chang như vậy, còn các Activity khác bạn
không cần khai báo <intent-filter> như trên (tức là hoàn toàn không có tag này)
– Tiếp theo bạn double – click vào activity_main.xml :

– Hãy quan sát màn hình ở trên (nhìn kỹ có 2 phần Graphical Layout và activity_main.xml. Bạn
nênlàm quen trong phần Graphical Layout trước):
+ Vùng số 1 : chính là nơi chứa các control, layout, component… bạn muốn sử dụng cái nào thì kéo
thả nó vào Vùng số 2. Như bạn thấy thì Tôi vừa kéo một Button vào và đặt Id nó là “btnXinChao”,
+ Vùng số 2: là giao diện, nơi mà bạn cần thiết kế
+ Vùng số 3: cho phép thiết kế theo chiều đứng hay chiều ngang
+ Vùng số 4: chức năng Zoom in – zoom out để dễ thiết kế
+ Vùng số 5: chính là nơi thiết lập các thuộc tính cho các control được kéo thả vào giao diện
– Bây giờ bạn vào thư mục gen trong Package Explorer và mở tập tin R.java lên:

Thư mục gen , là thực mục cho Android tự động tạo ra, cho dù bạn có xóa nó thì nó cũng lại tự tạo ra.

bước 5: Khi cài đặt thành công, chương trình sẽ được thực hiện Activity được thiết lập
: android.intent.action.MAIN
Mỗi một ứng dụng Android sẽ được thực thi trên một máy ảo Dalvik (không phải máy ảo Java). Theo
như giải thích của developer Android thì mục đích là chạy đa tiến trình, giúp tối ưu bộ nhớ.
Như vậy đến đây là bạn đã biết cách tạo một ứng dụng Android và khởi động nó như thế nào, đồng
thời cũng biết được một số thành phần bên trong ứng dụng và công năng của chúng
Bạn cần hiểu rõ bài tập này, Trong bài tập tiếp theo Tôi sẽ nêu ra các tình huống LỖI của chương
trình và cách xử lý chúng như thế nào. Vì Tôi chắc chắn rằng trong quá trình học lập Trình Android
bạn sẽ gặp các tình huống đó mà không hiểu vì sao nó bị lỗi, bạn sẽ bế tắc trong việc giải quyết lỗi.
Bài tập 4: Cách sửa một số lỗi thường gặp trong Android Project
Ở bài tập 3 các bạn đã biết cách tạo và thực thi một ứng dụng Android, trong bài tập này Tôi sẽ nói
một số cách sửa lỗi thường gặp trong quá trình thực thi một ứng dụng Android:
– Bạn nhớ là những lỗi này thường không phải do bạn gây ra mà do Eclipse hoặc một số nguyên nhân
nào đó (ta gọi tạm thời là Chương trình bị tưng tưng). Bạn cũng không hiểu vì sao nó lại bị lỗi, nó
không cho phép bạn biên dịch và thực thi ứng dụng mặc dù bạn chả làm gì cả?
– Khi bạn gặp những trường hợp khó đỡ như vậy thì hãy làm theo một số cách dưới đây (nếu mà vẫn
không được thì bạn có thể sử dụng phần mềm TeamView, cung cấp Id và Password Tôi sẽ login vào
máy bạn sửa giùm nếu được):
Giải pháp 1:
– b1) Vào menu Project / chọn Clean :

– b2) Màn hình Clean hiển thị lên, bạn chọn Project bị báo lỗi và bấm Ok:

– Ở hình trên, nếu bạn chọn “Clean All Project “, eclipse sẽ clean toàn bộ Project trong Package
Explorer.
– Nếu bạn chọn “Clean Projects selected below“, eclipse sẽ clean những Project mà bạn Checked ở
bên dưới.
b3) Bạn Unchecked “Build Automatically” và Checked lại “Build Automatically” trong menu
Project
Giải pháp 2:

trong việc xử lý thông tin.
– Mỗi một Activity muốn được triệu gọi trong ứng dụng thì bắt buộc nó phải được khai báo trong
Manifest
3) Activity Stack là gì?
– Tương tự như các ngôn ngữ lập trình khác, Activity Stack hoạt động theo cơ chế LIFO (LAST IN
FIRST OUT)
-Mỗi một Activity mới được mở lên nó sẽ ở bên trên Activity cũ, để trở về Activity thì bạn chỉ cần
nhấn nút “Back” để trở về hoặc viết lệnh. Tuy nhiên nếu bạn nhấn nút Home rồi thì sẽ không thể dùng
nút “Back” để quay lại màn hình cũ được.

– Ở đây bạn chú ý là có 2 kiểu mở Activity mới :
a) Mở Activity mới lên làm che khuất toàn bộ Activity cũ (không nhìn thấy Activity cũ): sảy ra sự
kiện onPause rồi onStop đối với Activity cũ
b) Mở Activity mới lên làm che khuất một phần Activity cũ (vẫn nhìn thấy Activity cũ): Sảy ra sự
kiện onPause với Activity cũ.
– Khi quay trở về Activity cũ thì sau khi thực hiện xong các hàm cần thiết, chắc chắn nó phải gọi
hàm onResume để phục hồi lại trạng thái ứng dụng
– Như vậy ta thường lưu lại trạng thái của ứng dụng trong sự kiện onPause và đọc lại trạng thái ứng
dụng trong sự kiện onResume
4) Tasks là gì?
– Bạn hiểu đại khái Task là khả năng thực hiện một công việc nào đó giữa các Ứng dụng với nhau, cụ
thể là các Activity
– Ví dụ bạn đang mở chương trình quản lý BlackList, trong chương trình này cho phép mở danh bạ để
đưa vào danh sách đen. Lúc đó chương trình bạn sẽ gọi Activity của ứng dụng danh bạ, sau khi lấy
xong lại quay trở về ứng dụng của bạn. Nhớ là 2 ứng dụng này hoàn toàn không liên quan gì tới nhau
cả.

5) Life Cycle States là gì?
Với mỗi Activity thường vòng đời có 3 trạng thái sau:
1- Running (đang kích hoạt)

Methods… :

– Màn hình Override / Impement Methods sẽ hiển thị ra như bên dưới, bạn chọn các
hàm:onStart, onRestart, onResume, onPause, onStop, onDestroy…: rồi bấm OK

Bạn xem coding bên trong:

Ở trên bạn thấy dòng lệnh trong hàm onResume:
protected void onResume() {
Toast.makeText(this,”onResume”, Toast.LENGTH_SHORT)
.show();
super.onResume();
}
Đơn giản là Tôi chỉ hiển thị lên xem hàm nào sẽ được triệu gọi ứng với Life time cycle của Activity
– Bây giờ bạn chạy ứng dụng vào Máy ảo Android và thực hiện một số thao tác : Mở một ứng dụng
khác, mở Menu, nhấn nút Back, nhấn nút Home … quan sát hiện tượng bạn sẽ hiểu được cách vận
hành các hành này.
– Trong bài tập tiếp theo Tôi sẽ làm thêm một ví dụ về Life time cycle để bạn hiểu rõ hơn về nó, đặc
biệt là tận mắt chứng kiến đâu là Visible Life time, đâu là Foreground Life time
– Bạn cần phải hiểu rõ về Life time cycle để giúp ích cho việc quản lý ứng dụng
Bài tập 6: Phân biệt Foreground Lifetime và Visible Lifetime
Để củng cố thêm sự hiểu biết về Lifetime Cycle trong bài tập 5, bài tập này Tôi sẽ Demo cho các bạn
một ứng dụng để bạn có thể hiểu rõ hơn về Lifetime Cycle, đặc biệt là nhận biết được Foreground
Lifetime và Visible Lifetime:
Bạn tạo một ứng dụng tên là “LearnAndroidLifetime“, với cấu trúc như hình dưới:
– Nhìn vào hình bên trên thì ứng dụng này sẽ có
tổng cộng 3 Activities. Chú ý là ta sẽ cấu hình SubActivity1 để hiển thị dưới dạng Dialog
(khi SubActivity1 kích hoạt thì nó sẽ nằm phía trênMainActivity, nhưng mà vẫn nhìn thấy màn
hình MainActivity – tức là đồng thời nhìn thấy 2 Activity). Còn khi SubActivity2 hiển thị thì nó sẽ
chiếm toàn bộ màn hình, không thể thấy đượcMainActivity.

<manifest xmlns:android=” ”
package=”tranduythanh.com”
android:versionCode=”1″
android:versionName=”1.0″ >
<uses-sdk
android:minSdkVersion=”14″
android:targetSdkVersion=”17″ />
<application
android:allowBackup=”true”
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >
<activity
android:name=”tranduythanh.com.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>
<activity
android:name=”tranduythanh.com.SubActivity1”
android:label=”@string/title_activity_sub_activity1″
android:theme=”@android:style/Theme.Dialog”>
</activity>
<activity
android:name=”tranduythanh.com.SubActivity2″
android:label=”@string/title_activity_sub_activity2″ >
</activity>
</application>


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status