Professional Documents
Culture Documents
Mobile Programing - Chapter1 Introduction
Mobile Programing - Chapter1 Introduction
Thị phần của các hệ điều hành di động trên thế giới
tới hết năm 2013
1.2. Quá trình phát triển của hệ điều hành Android
Phiên bản Tên mã Ngày phát hành Cấp API Phân bố (04/06/2014)
• Trong một ứng dụng Android có thể có một hoặc nhiều Activity,
trong đó có một main Activity để khởi chạy ứng dụng, Activity
này sẽ gọi các Activity khác trong quá trình ứng dụng hoạt động.
Services Chạy ngầm trong hệ thống mà người sử dụng không thấy được.
Service sử dụng để cập nhật dữ liệu, đưa ra thông báo (Notification).
Broadcast Quản lý sự kiện, chuyển tiếp sự kiện trong hệ thống (Ví dụ: xử lý
Receivers truyền thông giữa hệ điều hành và ứng dụng Android).
Content Cung cấp cách thức quản lý và chia sẻ tài nguyên giữa các ứng dụng.
Provider
1.4. Các thành phần tạo nên ứng dụng Android
Các thành phần không bắt buộc
Thành phần Mô tả
Fragments Là thành phần giao diện được nhúng vào Activity. Fragment được
thêm vào phiên bản Android 3.0 (API level 11).
Views Là các đối tượng hiển thị trên giao diện ứng dụng (Ví dụ: button, list,
textbox…). View chỉ được hiển thị lên màn hình khi được đặt trong
Activity.
Layouts Cho phép bố trí sắp xếp các views lên giao diện ứng dụng theo nhu
cầu.
Intents Dùng để truyền các thông báo (message) từ Activity này tới service
hoặc Activity khác
Resources Lưu trữ tài nguyên của ứng dụng như strings, constants, drawables
pictures.
Manifest File cấu hình của ứng dụng.
1.5. Thiết lập môi trường lập trình
Cài đặt
Tải và cài đặt Java JDK
http://java.sun.com/javase/downloads/index.jsp
Tải và cài đặt Android SDK (gói ADT Bundle for Windows)
http://developer.android.com/sdk/index.html
Cập nhật ADT plugin mới nhất cho Eclipse
• Vào menu Help / chọn Install New Software
• Nhập đường dẫn: https://dl-ssl.google.com/android/eclipse/ và bấm
nút Add ở góc bên phải
• Chọn các thông số thích hợp để tiến hành cập nhật.
1.5. Thiết lập môi trường lập trình
Cập nhật API (vào menu Windows/ Android SDK Manager)
1.5. Thiết lập môi trường lập trình
Tạo Android Emulator
Bước 1: Vào menu Windows/ Android Virtual Device Manager
Có thể hiển thị nội dung web sử dụng các công nghệ như HTML,
JavaScript, CSS,…, đồng thời truy cập các thư viện API được cung cấp
riêng cho nền tảng di động mà ứng dụng cài đặt.
Ưu điểm: việc phát triển ứng dụng thường nhanh và hiệu quả đặc biệt khi
phát triển ứng dụng có khả năng chạy trên nhiều nền tảng khác nhau.
Nhược điểm: trải nghiệm người dùng có thể kém tối ưu so với ứng dụng
native.
1.6. Ứng dụng và Activity
Các loại ứng dụng trong Android (tt)
Đặc tính Ứng dụng dạng native Ứng dụng dạng hybrid Ứng dụng dạng web
Ngôn ngữ lập trình Native Native, web Web
Tính linh động và tối ưu của mã Không Cao Cao
nguồn
Truy cập các đặc tính của thiết bị Cao Trung bình Thấp
Có thể tự tạo thêm một thư mục cùng cấp tên là Drawable và kéo thả
các tập tin trực tiếp vào trong thư mục này. Khi chương trình load
các Resource sẽ tự động vào đây lấy.
1.6. Ứng dụng và Activity
Activity
Thông thường trong một ứng dụng sẽ có một hoặc nhiều Activity.
Mỗi một Activity này sẽ có một vòng đời riêng độc lập hoàn toàn
với các Activity khác
Activity Stack
1.6. Ứng dụng và Activity
Có 2 kiểu mở Activity mới
Mở Activity mới lên làm che khuất toàn bộ Activity cũ (không
nhìn thấy Activity cũ): xảy ra sự kiện onPause rồi onStop đối với
Activity cũ
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ũ): xả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,
hàm onResume sẽ được gọi để phục hồi lại trạng thái ứng dụng
=> 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
1.6. Ứng dụng và Activity
Task: 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
1.6. Ứng dụng và Activity
Trạng thái của Activity
1.6. Ứng dụng và Activity
Trạng thái của Activity (tt)
Running (đang kích hoạt): Khi màn hình là Foreground (Activity
nằm trên cùng của ứng dụng và cho phép người sử dụng tương tác)
Paused (tạm dừng) : Activity mất focus nhưng vẫn nhìn thấy được
Activity này (ví dụ mở một Activity mới lên dưới dạng Dialog).
Stopped (dừng): Activity mất focus và không nhìn thấy được (ví
dụ mở một Activity mới lên ở chế độ full màn hình).
1.6. Ứng dụng và Activity
Vòng đời của ứng dụng Android
1.6. Ứng dụng và Activity
Vòng đời của ứng dụng Android (tt)
Visible Lifetime: xảy ra từ sau khi gọi onStart cho tới lúc gọi
onStop. Trong trường hợp này có thể thấy màn hình Activity (có
thể tương tác khi nó là foreground, không tương tác được khi nó
không phải foreground)
Foreground Lifetime: xảy ra từ khi gọi onResume cho tới lúc gọi
onPause: trong suốt thời gian này Activity luôn nằm ở trên cùng
của ứng dụng và người dùng có thể tương tác được với nó
1.6. Ứng dụng và Activity
Các tài nguyên trong ứng dụng Android
Directory Resource Type
animator/ Các tệp tin XML để định nghĩa Property Animations.
anim/ Các tệp tin XML để định nghĩa Tween Animations.
color/ Các tệp tin XML dùng để định nghĩa màu sắc.
Các tệp tin ảnh (.png, .9.png, .jpg, .gif) hoặc các tệp tin XML thuộc vào nhóm:
• Các file ảnh
• File ảnh Nine-Patches (File ảnh có đuôi 9.png)
drawable/
• Các tập tin XML định nghĩa trạng thái
• Các tập tin XML định nghĩa Shapes
• Các tập tin drawable khác
layout/ Các tâp tin XML định nghĩa Layout
menu/ Các tệp tin XML định nghĩa các Tuỳ Chọn của ứng dụng.
raw/ Các tập tin không giới hạn định dạng
values/ Các tệp tin XML có chứa các dữ liệu mẫu ví dụ như các chuỗi, các số nguyên và các màu.
Các file XML tùy ý có thể được đọc trong lúc chương trình đang chạy với phương thức
xml/
Resources.getXML().
Bài tập thực hành
Tạo ứng dụng CheckLifeTimeCycle
Chọn menu Source/ Override/Implement methods để
override các phương thức onStart, onRestart, onResume,
onPause, onStop, onDestroy
Trong các hàm trên Viết lệnh hiển thị message cho mỗi sự
kiện
Toast.makeText(this,”onResume”, Toast.LENGTH_SHORT).show();