Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
0,9 MB
Nội dung
LẬPTRÌNHANDROIDCƠBẢNBài2:CácthànhphầnứngdụngAndroid Nội dung học • Intent, Content • Activity vòng đời Activity • Service vòng đời Service • Tài nguyên ứngdụng Website tham khảo • Android Developers Blog http://android-developers.blogspot.com/?hl=en • Android Central http://www.androidcentral.com/ • Cácthành phần: • Activity • Service • ContentProvider • BroadcastReceiver • Intent: • Action, Data = Implicit • Action, Data, Component = Explicit Thànhphần khác Intent • Category: miêu tả loại thànhphần điều khiển Intent • CATEGORY_LAUNCHER: Activity xuất launcher • CATEGORY_PREFERENCE • EXTRA: cặp giá trị key-value chứa thơng tin bổ sung • ACTION_HEADSET_PLUG • Flags: hướng dẫn hệ thống cách khởi tạo Activity • FLAG_ACTIVITY_NO_ANIMATION Truy cập thànhphầnứngdụng • Activity service khởi tạo nào? • Java: • Viết class để thực số cơng việc • Giống Android • Viết phương thức Main Trong phương thức Main gọi hàm khởi tạo class chạy phương thức • Khơng giống Android • Phụ thuộc vào kiểu đối tượng, Android gọi hàm tạo quản lý vòng đời đối tượng • • • • Context Lớp Context cung cấp truy cập tới chức dịch vụ hệ thống Activity Service kế thừa Context, gọi phương thức Context trực tiếp BroadcastReceiver có chứa tham số Context tham số đầu vào hàm quản lý kiện ContentProvider gọi hàm getContext để lấy đối tượng Context Activity • Khởi tạo Activity cách gọi startActivity(Intent) • Subactivity: Là activity gọi activity khác • Gọi Subactivity sử dụng phương thức startActivityForResult • Truyền Intent integer code tham số đầu vào • Khi subactivity kết thúc, trả lại mã code • startActivityForResult phương thức khơng đồng Activity • Các activity cấu tạo nên Stack • Activity xuất đầu Stack • Thơng thường, nhấn nút back quay lại activity trước Task • Android nhóm activity chương trình vào cơng việc chung (hàng đợi activity liên quan đến nhau) • Người dùng nhấn nút HOME khởi tạo chương trình • Chuyển task sang chế độ • Bắt đầu task mới, đặt activity mặc định ứngdụng đầu Stack • Nếu ứngdụng quay lại, task cũ (stack cũ) khơi phục Vòng đời Activity • Ba trạng thái • Kích hoạt (active): chế độ nền, chạy • Tạm dừng (pause): hiển thị bị che khuất Activity khác • Giống active, bị hủy dung lượng nhớ thấp • Dừng (stop): khơng hiển thị hình Vòng đời Activity • onCreate() • Gọi Activity tạo • Chuẩn bị GUI bước khởi tạo khác • onResume() • Gọi Activity đầu Stack • Cập nhật giá trị GUI Chú ý: gọi Activity khởi tạo • onPause() • Activity chuẩn bị biến • Cập nhật liệu quan trọng, dừng công việc tốn nhiều tài ngun Vòng đời Service • Hai loại: • Làm số cơng việc theo u cầu • Gọi startService() • Service có hàm StartCommand() onStart để điều khiển • Service tiếp tục chạy sau lệnh thi hành • Truyền thơng • Ví dụ: trình nghe nhạc • Sử dụng bindService để tạo kết nối vững • Client nhận đối tượng gọi Service Vòng đời Service ContentProvider Truy cập thơng qua truy vấn content://URI Có truy vấn, thêm mới, xóa,… Tìm hiểu sâu sau ContentResolver cr= Context.getContentResolver(); cr.query(content://android.provider Contacts.Phones.CONTACT_URI,…) BroadcastReceiver • Đánh thức broadcast hệ thống • Rất đơn giản – onReceive handler • Nhận context Intent miêu tả broadcast Tài nguyên ứngdụng • Khơng nằm code • Ví dụ: String, image • Dễ dàng việc hỗ trợ cấu hình thiết bị khác • Các file chung thư mục res/ • drawable/icon.png: biểu tượng chương trình launcher • layout/activity_main.xml: giao diện main Activity • values/strings.xml: chứa chuỗi xuất UI R.java • Nằm thư mục gen, dùng để truy cập đến tài ngun code • Ví dụ • R.string., R.layout. • Truy cập tài ngun thơng qua lớp R giúp cho Android định tài nguyên phù hợp Thay đổi cấu hình • Hành vi mặc định Android: Nếu thay đổi cấu hình, khởi tạo lại Activity • Ví dụ: quay hình • Thi thoảng, cách tiếp cận tốn nhiều thời gian • Điều xảy Activity tốn nhiều thời gian để tải liệu? • Có thể nạp chồng onConfigurationChanged() để ngăn cản restart điều khiển thay đổi Android manifest • File XML • Metadata ứngdụngthànhphần • Ứngdụng • Name, icon, version, version android bắt buộc • Quyền mà ứngdụng yêu cầu • Đặc trưng mà ứngdụng cần sử dụngAndroid manifest • Đối với thànhphần • Xác định intent filter Android biết Intent mà thànhphần điều khiển • Activty • Xác định hành động android.intent.action.MAIN category android.intent.category.LAUNCHER cho activity mặc định – hiển thị launcher • Xác định hành động khác mà activity điều khiển, ví dụ kiểu file xem, URL truy cập • BroadcastReceiver • Xác định kiện mà receiver muốn điều khiển Android manifest ỨngdụngAndroid • ỨngdụngAndroid gì? • Câu trả lời: file apk • Tương đương file jar • Chứa code, tài nguyên, tất thức cần cho ứngdụng Tổng kết nội dung học • Intent, Content • Activity vòng đời Activity • Service vòng đời Service • Tài nguyên ứngdụng ... đổi Android manifest • File XML • Metadata ứng dụng thành phần • Ứng dụng • Name, icon, version, version android bắt buộc • Quyền mà ứng dụng yêu cầu • Đặc trưng mà ứng dụng cần sử dụng Android. .. Service • Tài nguyên ứng dụng Website tham khảo • Android Developers Blog http:/ /android- developers.blogspot.com/?hl=en • Android Central http://www.androidcentral.com/ • Các thành phần: • Activity... receiver muốn điều khiển Android manifest Ứng dụng Android • Ứng dụng Android gì? • Câu trả lời: file apk • Tương đương file jar • Chứa code, tài nguyên, tất thức cần cho ứng dụng Tổng kết nội dung