Lịch sử phát triển
Các khái niệm cơ bản
Đặc tính của Android
Thành phần giao diện trong Android
72 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1138 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Google android, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
vice: Service được gọi khi thành phần của ứng dụng
gọi nó bằng phương thức startService(), và service sẽ chạy vô thời
hạn. Loại service này thực hiện công việc đơn lẻ như download,
tính toán và service sẽ dừng một khi công việc hoàn thành
2. “bound” Service: Service được gọi khi thành phần của ứng dụng
gọi nó bằng phương thức bindService(). Loại service đề nghị giao
diện Client – Server cho phép thành phần ứng dụng tương tác với
nó, gửi yêu cầu, lấy kết quả. Một khi tất cả thành phần ứng dụng
ngừng liên kết, Service kết thúc
44Lập trình trên thiết bị di động
BroadcastReceiver
Thành phần thu nhận các Intent và sẽ tự động khởi tạo
ứng dụng phù hợp để đáp ứng các Intent. Được sử dụng
để nhận những Intent message được gửi từ
sendBroadcast() hoặc từ hệ thống.
45Lập trình trên thiết bị di động
Application Resources
Sự cần thiết cung cấp tài nguyên để lựa chọn cho cấu hình đặc thù
của thiết bị cụ thể như ngôn ngữ khác nhau, kích thước màn hình..
Ngày càng trở nên quan trọng như nhiều thiết bị hỗ trợ Android có
sẵn với các cấu hình khác nhau
Để cung cấp khả năng tương thích với các cấu hình khác nhau, ta
phải tổ chức các tài nguyên trong thư mục res dự án
Bất cứ loại tài nguyên nào, có thể chỉ ra loại mặc định và tài nguyên
được lựa chọn cho ứng dụng
1. Tài nguyên mặc định được sử dụng khi không quan tâm đến cấu
hình của thiết bị hay không có bất kỳ tài nguyên để lựa chọn
2. Tài nguyên để lựa chọn được thiết kế cho những cấu hình đặc thù,
bằng cách vào từ hạn định cấu hình phù hợp ở tên đường dẫn
46Lập trình trên thiết bị di động
Application Resources
Cung cấp tài nguyên
Truy cập tài nguyên
Các loại tài nguyên
47Lập trình trên thiết bị di động
Cung cấp tài nguyên
Cần đặt mỗi loại tài nguyên vào thư mục con riêng biệt của thư mục /res
của ứng dụng
Thư mục tài nguyên được hỗ trợ trong thư mục /res của ứng dụng
48Lập trình trên thiết bị di động
Cung cấp tài nguyên
Lưu tài nguyên để lựa chọn vào riêng từng thư mục vừa tạo. Những tập tin
tài nguyên này phải có tên giống như tập tin của tài nguyên mặc định
49Lập trình trên thiết bị di động
Truy Cập Tài Nguyên
Có 2 cách truy cập tài nguyên
1. Trong Code:
Sử dụng lớp con của lớp R, ví dụ: R.string.hello
2. Trong XML tập tin:
Sử dụng cú pháp đặc biệt XML phù hợp với ID tài nguyên được
định nghĩa trong lớp R, ví dụ: @string/hello
string: là loại tài nguyên,
hello : là tên tài nguyên
50Lập trình trên thiết bị di động
Các Loại Tài Nguyên
Animation Resources - res/anim/, định nghĩa animation
Color State List Resource - res/color/, định nghĩa màu
Drawable Resources - res/drawable/, định nghĩa đồ họa khác nhau với
bitmap,xml
Layout Resource - res/layout/, định nghĩa layout của ứng dụng
Menu Resource - res/menu/, định nghĩa nội dung của Menu
String Resources - res/values/, định nghĩa string , mảng string
Style Resource - res/values/, định nghĩa cái nhìn, định dạng thành phần UI
More Resource Types - res/values/, định nghĩa boolean, integers,
dimensions, colors, .
51Lập trình trên thiết bị di động
Các thiết bị chạy Android
Lập trình trên thiết bị di động 52
Môi trường phát triển Android
Hệ điều hành hỗ trợ
1. Windows XP (32-bit) or Vista (32- or 64-bit), or Windows 7
(32- or 64-bit)
2. Mac OS X 10.4.8 or later (x86 only)
3. Linux (tested on Ubuntu Linux, Lucid Lynx)
Môi trường phát triển hỗ trợ
1. Eclipse 3.5 (Galileo) hoặc lớn hơn
2. JDK 5 or JDK 6 (JRE alone is not sufficient)
3. Android Development Tools plugin (optional)
Môi trường phát triển hoặc IDEs khác
1. JDK 5 or JDK 6 (JRE alone is not sufficient)
2. Eclipse
Lập trình trên thiết bị di động 53
Công cụ hỗ trợ
Lập trình trên thiết bị di động 54
Bắt đầu với lập trình trên Android
Nội dung
Giới thiệu và cài đặt các công cụ
Tạo ứng dụng HelloWorld
Lập trình trên thiết bị di động 56
Giới thiệu và cài đặt các công cụ
Xem file hướng dẫn
Lập trình trên thiết bị di động 57
Tạo một project mới
Ở màn hình eclipse, bấm File New
Project Android Android Project
Next
Hoặc trên thanh công cụ bấm vào icon như
trong hình
58Lập trình trên thiết bị di động
Tạo một project mới
• Ở màn hình kế nhập liệu vào các ô như sau:
–Project name: HelloWorld (tên project hiển trị
trên eclipse cũng sẽ là thư mục chứa ứng dụng
trong workspace)
–Application name: Hello World (tên ứng dụng
sẽ hiển thị trên điện thoại)
–Package name: org.multiuni.android.helloworld
(tên của package sẽ chứa source code, tương tự
trong java
kage_naming_conventions)
59Lập trình trên thiết bị di động
◦ Create activity: HelloWorldActivity (tạo một
lớp con của lớp Activity, dùng để hiển thị một
màn hình ở đây là màn hình HelloWorld của
chúng ta)
◦ Min SDK version: 4 (tức SDK 1.6, ở đây
chúng ta khai báo là ứng dụng này có thể đáp
ứng được phiên bản SDK cũ nhất là phiên bản
nào)
Sau khi hoàn tất bấm Finish, project mới
đã được tạo.
Tạo một project mới
60Lập trình trên thiết bị di động
Cấu trúc một project
Thư mục src chứa source code ứng dụng.
Gồm các package và các class.
Thư mục gen chứa các file tự động phát sinh
(mà thường gặp nhất là R.class)
Thư mục res để chứa các resource dùng trong
ứng dụng (thông qua ID)
Thư mục assets chứa các resource file mà ứng
dụng cần dùng (dưới dạng file)
61Lập trình trên thiết bị di động
Cấu trúc một project
File Manifest là file khai báo thông tin về
ứng dụng với hệ thống (như ứng dụng
gồm những màn hình nào, có service
nào xin các quyền gì, phiên bản bao
nhiêu, dùng từ SDK phiên bản nào)
Ngoài ra còn có file thư viện.
62Lập trình trên thiết bị di động
Chạy ứng dụng Hello World
Với ứng dụng vừa tạo nếu có báo lỗi thì bạn
sửa lại thông số cho ứng dụng như sau: bấm
chuột phải vào project Properties Java
compiler Compiler compliance settings:
1.6
63Lập trình trên thiết bị di động
Chạy ứng dụng Hello World
Bấm Ctrl + F11 để chạy ứng dụng, sẽ hiện lên
emulator
64Lập trình trên thiết bị di động
Tạo UI trực tiếp từ code
• Code ban đầu của ứng dụng:
public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
65Lập trình trên thiết bị di động
Tạo UI trực tiếp từ code
• Sửa lại như bên dưới rồi chạy lại (nếu thấy báo
lỗi thiếu thư viện, thử bấm Ctrl + Shift + O)
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
66Lập trình trên thiết bị di động
Thử xử lý sự kiện
• Ở code bên trên, đổi TextView lại thành
Button.
Button bt = new Button(this);
• Sau đó, implement phương thức xử lý sự kiện
khi user click vào nút này
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),
"Hello World",
Toast.LENGTH_LONG).show();
}
});
67Lập trình trên thiết bị di động
Một số phím tắt
• Để import các thư viện còn thiếu bấm
Ctrl + Shift + O
• Để xóa một dòng code bấm
Ctrl + D
• Để hiển thị bảng suggestion bấm
Ctrl + Space
• Để comment một dòng code
Ctrl + /
68Lập trình trên thiết bị di động
Thử một chút về xoay màn hình
Tạo 1 project mới tên là Orientation.
Sau đó, bấm phải chuột vào thư mục res
new Folder nhập tên folder là layout-
land (nhập chính xác)
69Lập trình trên thiết bị di động
Thử một chút về xoay màn hình
• Trong thư mục layout ban đầu có file
main.xml, copy file đó, cho vào thư mục
layout-land, vậy là mỗi thư mục đều có một
file main.xml
• Ở mỗi file main trong 2 thư mục đó, đều có
đoạn này:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=“@string/hello"
/>
70Lập trình trên thiết bị di động
Thử một chút về xoay màn hình
• Sửa nội dung android:text trong đoạn xml đó
lại, để cho 2 file main đó có 2 nội dung text
khác nhau.
• Chạy chương trình, sau khi màn hình hiển
thị, bấm Ctrl + F11 xem kết quả.
71Lập trình trên thiết bị di động
Q/A
Lập trình trên thiết bị di động 72
Các file đính kèm theo tài liệu này:
- ltttbd_chuong3_p1_4816.pdf