Đồ án Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android
MỤC LỤC
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT . . 4
1. LỊCH SỬ ANDROID . . . 4
2. DELVING VỚI MÁY ẢO DALVIK . 5
3. KIẾN TRÚC CỦA ANDROID . 5
3.1. Tầng ứng dụng . 6
3.2. Application framework . 6
3.3. Library . 7
3.4. Android Runtime . . 7
3.5. Linux kernel . . . 8
4. ANDROID EMULATOR . . 8
5. CÁC THÀNH PHẦN TRONG MỘT ANDROID PROJECT . 9
5.1. AndroidManifest.xml . 9
5.2. File R.java . 10
6. CHU KỲ ỨNG DỤNG ANDROID . 11
6.1. Chu kỳ sống thành phần . . 12
6.2. Activity Stack . 12
6.3. Các trạng thái của chu kỳ sống . 13
6.4. Chu kỳ sống của ứng dụng . 13
6.5. Các sự kiện trong chu kỳ sống của ứng dụng . 14
6.6. Thời gian sống của ứng dụng . . 14
6.7. Thời gian hiển thị của Activity . 14
6.8. Các phương thức của chu kỳ sống . 14
7. CÁC THÀNH PHẦN GIAO DIỆN TRONG ANDROID . 16
7.1. View. . 16
7.2. ViewGroup . 16
7.2.1. LinearLayout . 16
7.2.2. FrameLayout . 17
7.2.3. AbsoluteLayout . . 17
7.2.4. RetaliveLayout . . 18
7.2.5. TableLayout . 18
7.3. Button . 18
7.4. ImageButton . . . 19
7.5. ImageView . 20
7.6. ListView . 20
7.7. TextView . 21
7.8. EditText . . 21
7.9. CheckBox. 22
7.10. MenuOptions . 22
7.11. ContextMenu . 24
7.12. Quick Search Box . . 24
7.13. Activity & Intend. 25
7.13.1. Activity . . . 25
7.13.2. Intent . 26
8. CONTENT PROVIDER VÀ URI . 28
9. BACKGROUND SERVICE . 29
10. TELEPHONY . 32
11. SQLITE . . 32
12. ANDROID & WEBSERVICE . 33
12.1. Khái niệm Web service và SOAP . 33
12.2. Giới thiệu về XStream . . 34
12.3. Thao tác với web service trong Android . 36
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG . 38
13. ĐẶC TẢ BÀI TOÁN. 38
14. ĐẶC TẢ CHỨC NĂNG . 38
14.1. Upload phone book. 38
14.2. Revert phone book . . 39
14.3. Send contact . 40
14.4. Reveive contact . 40
14.5. Export contact tới SD Card . 40
14.6. Import contact từ SD Card . . 41
14.7. Account Manager . . 41
14.7.1. Login . 41
14.7.2. Change password . 41
14.7.3. Restore account . . 41
14.7.4. Create account . 42
15. CÁC BIỂU ĐỒ HỆ THỐNG . 42
15.1. Biểu đồ Usercase . 42
15.1.1. Restore account . . 43
15.1.2. Export Contact vào SD Card . . 43
15.1.3. Import Contact từ SD Card . 43
15.1.4. Login . 44
15.2. Biểu đồ Class. 44
15.2.1. Biểu đồ Class giữa các thành phần giao diện . 44
15.3. Biểu đồ Class Contact. . 44
15.4. Biểu đồ Class ContactProvider . . 44
15.5. Class Webservice . . 45
15.6. Biểu đồ Sequence . . 45
15.6.1. Login . 45
15.6.2. Create new account . . 46
15.6.3. Restore account . . 47
15.6.4. Upload phone book . . 48
15.6.5. Revert phone book . 48
15.6.6. Export Contact to SD Card . 49
15.6.7. Import Contact from SD Card . 49
15.6.8. Send Contact . 49
15.7. Biểu đồ Activity . 51
15.7.1. Change password . 51
15.7.2. Export Contact to SD Card . 52
15.7.3. Upload phone book . . 52
15.7.4. Send Contact . 53
15.7.5. Revert phone book . 53
15.7.6. Import Contact from SD Card . 54
16. CƠ SỞ DỮ LIỆU WEB SERVICE . 54
CHƯƠNG 3: DEMO ỨNG DỤNG . . 57
17. MỘT VÀI HÌNH ẢNH ỨNG DỤNG . 57
18. SƠ ĐỒ LIÊN KẾT CÁC MÀN HÌNH VÀ DIALOG . 58
18.1. Danh sách các liên kết màn hình m ức 1&2 . . 58
18.2. Danh sách liên kết các màn hình m ức 3 . 58
18.2.1. Màn hình View Contact . . 58
18.2.2. Màn hình danh sách các Contact mới . 58
18.2.3. Màn hình danh sách phone bool đã upload. 58
19. ĐÁNH GIÁ ỨNG DỤNG . . 59
20. HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI. 59
21. KẾT LUẬN. 60
Name Type USERNAME nvarchar(50) PASSWORD nvarchar(50) EMAIL nvarchar(100) USERID bigint, primary key Bảng 2-1 Bảng BACKUP_CONTACT Được dùng để lưu trữ các phiên bản phone book của người dùng Thuộc tính: Field Name Type CONTENT_BACKUP xml USERID bigint NOTE nvarchar(MAX), allow null DATE nvarchar(30) TIME nvarchar(30) VERSION_ID bigint, primary key Bảng 2-2 Bảng MYUSERNAME Được dùng để lưu trữ tên tài khoản của những người bạn có sử dụng hệ thống phone book safe. Cũng giống như khi chat yahoo hoặc skype thì đều có một contact list nhằm giúp bạn dễ dàng quản lý và tìm kiếm khi cần. Thuộc tính: Field Name Type USERID bigint DISPLAY_NAME nvarchar(100), allow null USERNAME nvarchar(50) Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 56 Sinh viên: Trần Hữu Phước IMAGE image, allow null ID bigint Bảng 2-3 Bảng SHARE Khi một user nào đó gửi dữ liệu tới một người khác thì dữ liệu đó kèm các thông tin liên quan sẽ được lưu vào bảng này. Các ứng dụng sẽ tự động truy cập vào bảng này để lấy dữ liệu của user tương ứng. Thuộc tính: Field Name Type USERID bigint SENDER nvarchar(50) RECEIVER nvarchar(50) CONTENT_SENT xml DATE nvarchar(30) TIME nvarchar(30) NOTE nvarchar(MAX), allow null ID bigint Bảng 2-3 Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 57 Sinh viên: Trần Hữu Phước CHƯƠNG 3: DEMO ỨNG DỤNG 17. MỘT VÀI HÌNH ẢNH ỨNG DỤNG Hình 3-1 Login Hình 3-2 Đang Login Hình 3-3 Sau Login Hình 3-4 Các chức năng Hình 3-5 Revert phonebook Hình 3-6 Upload phonebook Hình 3-7 Send Contact Hình 3-8 Đọc Contact để gửi Hình 3-9 Nhận Contact Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 58 Sinh viên: Trần Hữu Phước 18. SƠ ĐỒ LIÊN KẾT CÁC MÀN HÌNH VÀ DIALOG 18.1. Danh sách các liên kết màn hình mức 1&2 18.2. Danh sách liên kết các màn hình mức 3 18.2.1. Màn hình View Contact 18.2.2. Màn hình danh sách các Contact mới 18.2.3. Màn hình danh sách phone bool đã upload Màn hình Login Màn hình danh sách các Contact Dialog nhập chú thích để upload phone book Màn hình danh sách phonebook đã upload Màn hình quản lý danh sách tài khoản Dialog change password Màn hình danh sách tài khoản ứng dụng Dialog tạo tài khoản mới Dialog khôi phục tài khoản Dialog thông báo contact mới Màn hình nhận contact mới ProgressDialog Export Contact Màn hình Import Contact Màn hình Add Contact mới WarningDialog xoá Contact Màn hình Edit Contact Panel tìm kiếm Contact Màn hình View Contact Màn hình View Contact Màn hình Edit Contact Màn hình danh sách phonebook đã upload Màn hình chi tiết phone book Màn hình danh sách các Contact mới Màn hình xem chi tiết Contact Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 59 Sinh viên: Trần Hữu Phước 19. ĐÁNH GIÁ ỨNG DỤNG Mục tiêu đã đạt được Các chức năng chính Hoàn thành Upload Contact 100% Revert Contact 100% Export Contact to SDCard 100% Import Contact from SDCard 100% Send Contact 100% Receive Contact 100% Change Password 100% Create new account 100% Friends Android manager 100% Các issue và bug chưa giải quyết Chưa upload được hình ảnh lên server (issue) Lý do: Trong Android tất cả các hình ảnh khi đọc vào bộ nhớ đều được mã hoá thành đối tượng Bitmap. Đối tượng này không thể tiếp tục mã hoá để lưu vào file XML. Mặt khác, webservice là một kỹ thuật cho phép triệu gọi các hàm từ xa, liên lạc giữa client và server đều thông qua XML. Do đó, các đối số phức tạp hoặc kiểu Stream đều không được chấp nhận. Hướng giải quyết: Sử dụng kỹ thuật JSON. Đây cũng là một kỹ thuật giúp liên lạc giữa client với web service. Tuy nhiên, kĩ thuật này cho phép chúng ta duy trì được kết nối với server thông qua giao thức http. Vì vậy, dữ liệu có thể được truyền lên server theo Stream. ListView cuộn không mướt (issue) Lý do: Mỗi lần xảy ra sự kiện cuộn thì Adapter sẽ refresh liên tục và đó cũng là lúc ứng dụng chiếm nhiều tài nguyên CPU nhất. Điều này làm cho ListView bị giật mỗi lần cuộn. Hướng giải quyết: chưa có. 20. HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI Chức năng gửi và nhận tin nhắn thông qua wifi Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 60 Sinh viên: Trần Hữu Phước Chức năng này sẽ được phát triển trong tương lai nhằm mục đích giúp những người thường xuyên có kết nối wifi có thể gửi tin nhắn mà không mất tiền. Tin nhắn đến sẽ được thông báo bằng dialog ngay trên màn hình desktop và kể cả khi dang sử dụng ứng dụng khác. Chức năng gửi thư thoại thông qua wifi Chức năng này sẽ tận dụng chức năng thu âm được trang bị trong các máy Android. Dữ liệu sẽ được đóng gói và truyền lên tài khoản người nhận. Chức năng huỷ dữ liệu Khi bị mất điện thoại thì điều mà người dùng lo lắng nhất chính là những dữ liệu cá nhân trong đó. Chức năng này sẽ tự động huỷ các dữ liệu được chỉ định sẵn trong thẻ nhớ hoặc bộ nhớ máy khi nhận được yêu cầu thông qua tin nhắn hoặc wifi. Ngoài ra người dùng còn có thể thiết lập cơ chế huỷ dữ liệu tự động khi không được thực hiện một sự kiện nào đó trong một khoảng thời gian nào đó. 21. KẾT LUẬN Sau khi thực hiện xong project này em đã nắm bắt được qui trình làm một dự án phần mềm trên mobile nói chung đồng thời hiểu thêm được nhiều kiến thức về Android và các công nghệ liên quan như là XML, XStream, Web service và SOAP,… Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 61 Sinh viên: Trần Hữu Phước ĐÁNH GIÁ CỦA GIÁO VIÊN ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. .................................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. ............................................................................................................................. Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android Page | 62 Sinh viên: Trần Hữu Phước TÀI LIỆU THAM KHẢO [1] Copyright © 2008 by Chris Haseman. Android Essentials. Appres ® [2] Copyright © 2009 by Mark L. Murphy. Beginning Android. Appress ® [3] Copyright © 2009 by Sayed Y. Hashimi and Satya Komatineni. Pro Android. Appress ® [4] Copyright © 2008 by The McGraw-Hill Companies. Android™ A Programmer’s Guide ® [5] Copyright © 2008 by Ed Burnette. Hello, Android. (Introducing Google’s Mobile Development Platform) [6] Copyright © 2009 by W. FRANK ABLESON, CHARLIE COLLINS, ROBI SEN. Unlocking Android
File đính kèm:
- Đồ án Tìm hiểu và xây dựng ứng dụng Phone Book Safe Manager trên Android.pdf