trƯỜng ĐẠi hỌc bÁch khoa hÀ nỘi - tài liệu...

75
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG ỨNG DỤNG ĐÓNG HỌC PHÍ DỰA TRÊN NỀN ANDROID Sinh viên thực hiện : Lê Thiên Sơn Lớp cnpm – K51 Giáo viên hướng dẫn: Ths Đỗ Văn Uy

Upload: others

Post on 27-Dec-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ───────

ĐỒ ÁNTỐT NGHIỆP ĐẠI HỌC

NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG ĐÓNG HỌC PHÍ DỰA TRÊN NỀN ANDROID

Sinh viên thực hiện : Lê Thiên Sơn Lớp cnpm – K51

Giáo viên hướng dẫn: Ths Đỗ Văn Uy

HÀ NỘI 05-2011

Page 2: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP1. Thông tin về sinh viên Họ và tên sinh viên: Lê Thiên Sơn. Điện thoại liên lạc 01656093689 Email: [email protected]ớp: Công nghệ phần mềm B Hệ đào tạo: Chính quyĐồ án tốt nghiệp được thực hiện tại: : Bộ môn Công nghệ phần mềm, Viện CNTT & Truyền thông, Đại học Bách Khoa Hà NộiThời gian làm ĐATN: Từ ngày 15/ 01/2011 đến 27 /05/20112. Mục đích nội dung của ĐATN

Tìm hiểu hệ điều hành Android và xây dụng ứng dụng đóng học phí qua điện thoại di động.

3. Các nhiệm vụ cụ thể của ĐATN

- Tìm hiểu hệ điều hành Android- Xây dựng ứng dụng đóng học phí qua điện thoại di động- Bảo mật hệ thống

4. Lời cam đoan của sinh viên:Tôi Lê Thiên Sơn cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Ths Đỗ Văn Uy. Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác.

Hà Nội, ngày 27 tháng 05 năm2011Tác giả ĐATN

Lê Thiên Sơn

5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:

Hà Nội, ngày 27 tháng 05 năm 2011Giáo viên hướng dẫn

Ths Đỗ Văn Uy

Page 3: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

M C L CỤ Ụ

PHI U GIAO NHI M V Đ ÁN T T NGHI PẾ Ệ Ụ Ồ Ố Ệ 2

TÓM T T N I DUNG Đ ÁN T T NGHI PẮ Ộ Ồ Ố Ệ 6

ABSTRACT OF THESIS 7

DANH M C CÁC HÌNHỤ 9

DANH M C CÁC B NGỤ Ả 10

L I NÓI Đ UỜ Ầ 11

CH NG 1ƯƠ : T NG QUAN V ANDROIDỔ Ề 12

1. T ng quan v Androidổ ề 121.1 Khái ni m Androidệ 121.2 Tính năng c b n c a Androidơ ả ủ 121.3 Ki n trúc Androidế 121.4 Các ng d ng trên Androidứ ụ 131.5 Framwork ng d ngứ ụ 131.6 Th vi n h tr c a Androidư ệ ỗ ợ ủ 141.7 Th c thi ng d ng Androidự ứ ụ 141.8 Nhân Linux c a Androidủ 14

2. Framework xây d ng ng d ng trên Androidự ứ ụ 142.1 Các thành ph n c a m t ng d ngầ ủ ộ ứ ụ 142.2 Màn hình và tác vụ 182.3 Lu ng và ti n trình.ồ ế 192.4 Vòng đ i các thành ph nờ ầ 19

3. Công c phát tri nụ ể 24

CH NG 2:ƯƠ BÀI TOÁN ĐÓNG H C PHÍ QUA ĐI N THO I DI Đ NG D A Ọ Ệ Ạ Ộ ỰTRÊN N N ANDROID I-TUITIONỀ 26

1 Phát bi u bài toánể 261.1 Đ t v n đặ ấ ề 261.2 Mô t nghi p vả ệ ụ 26

2. Đ c t yêu c u ph n m mặ ả ầ ầ ề 272.1 Đ c t ch c năngặ ả ứ 272.2 Yêu c u phi ch c năngầ ứ 29

2.2.1 Tính ti n d ngệ ụ 292.2.2 Đ tin c yộ ậ 292.2.3 Giao di nệ 292.2.3 B o m tả ậ 29

Page 4: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

CH NG 3:ƯƠ XÂY D NG NG D NG ĐÓNG H C PHÍ QUA ĐI N THO I DI Ự Ứ Ụ Ọ Ệ ẠĐ NG D A TRÊN N N ANDROID I-TUITIONỘ Ự Ề 30

1. Phân tích h th ngệ ố 301.1 Bi u đ Use Case c a h th ngể ồ ủ ệ ố 30

1.1.1 Bi u đ Use Case trên clientể ồ 301.1.2 Đ c t UseCase trên Serverặ ả 31

1.2. Bi u đ tr ng thái c a h th ngể ồ ạ ủ ệ ố 321.3 Bi u đ tu n t c a h th ngể ồ ầ ự ủ ệ ố 33

1.3.1 Ch c năng đăng ký (Register)ứ 331.3.2 Ch c năng đăng nh p (Login)ứ ậ 331.3.3 Ch c năng đóng h c phí (Paying tuition)ứ ọ 341.3.4 Ch c năng ki m tra h c phí (Tuition Checking)ứ ể ọ 351.3.5 Ch c năng ki m tra l ch s h c phí (Tuition History)ứ ể ị ử ọ 36

1.4. Bi u đ đ l p cho các ch c năng trong h th ngể ồ ồ ớ ứ ệ ố 371.4.1 Ch c năng đăng ký (Register)ứ 381.4.2 Ch c năng đăng nh p (Login)ứ ậ 381.4.3 Ch c năng đóng h c phí (Paying tuition)ứ ọ 391.4.4 Ch c năng ki m tra h c phí (Tuition Checking)ứ ể ọ 401.4.5 Ch c năng ki m tra l ch s h c phí (Tuition History)ứ ể ị ử ọ 40

2. Thi t k h th ngế ế ệ ố 412.1. T ch c d li uổ ứ ữ ệ 41

2.1.1 B ng qu n lý ng i dung h th ngả ả ườ ệ ố 412.1..2 B ng qu n lý tin nh n h th ngả ả ắ ệ ố 412.1..3 B ng qu n lý tài kho n ngân hangả ả ả 422.1..4 B ng qu n lý vi c đóng h c phí c a sinh viênả ả ệ ọ ủ 422.1..5 B ng th i h n quy đ nh đóng h c phíả ờ ạ ị ọ 432.1..6 B ng h c phí sinh viênả ọ 43

2.2. Thi t k các moduleế ế 442.2.1 Thi t k module đăng kýế ế 442.2.2 Thi t k module đăng nh pế ế ậ 452.2.3 Thi t k module đóng h c phíế ế ọ 462.2.4 Thi t k module ki m tra h c phíế ế ể ọ 472.2.5 Thi t k module l ch s h c phíế ế ị ử ọ 48

2.3. Thi t k giao di nế ế ệ 492.3.1 Giao di n chính c a ph n m mệ ủ ầ ề 492.3.2 Giao ti p đăng ký (Signup) v i h th ngế ớ ệ ố 502.3.3 Giao di n đăng nh p (Login)ệ ậ 512.3.4 Menu h c phíọ 512.3.5 Giao di n đóng h c phíệ ọ 522.3.6 Giao di n ki m tra h c phíệ ể ọ 532.3.7 Giao di n ki m tra l ch s h c phíệ ể ị ử ọ 53

2.4 B o m t trong h th ngả ậ ệ ố 542.4.1 L h ng h th ng và đe d aỗ ổ ệ ố ọ 542.4.2 Gi i phápả 54

3. Cài đ t ng d ngặ ứ ụ 55

4. Thi t k ki m thế ế ể ử 584.1 Ki m th Module đăng kýể ử 58

Page 5: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

4.2 Ki m th module đăng nh pể ử ậ 594.3 Ki m th module đóng h c phíể ử ọ 604.4 Ki m th module ki m tra h c phí và l ch s h c phíể ử ể ọ ị ử ọ 60

K T LU NẾ Ậ 62

TÀI LI U THAM KH OỆ Ả 63

Page 6: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Nội dung đồ án tốt nghiệp gồm ba chương lớn:

Chương 1: Tổng quan về Android Trình bày các khái ni m c b n, các tính năng c a Androidệ ơ ả ủ Framework xây d ng ng d ng c a Android.ự ứ ụ ủ Công c dùng đ phát tri n các ng d ng Androidụ ể ể ứ ụ

Chương 2: Nội dung bài toán đóng học phí qua điện thoại di động và các yêu cầu của nó Phát bi u bài toánể Mô t quá trình nghi p v ả ệ ụ Đ c t các yêu c u ch c năng và phi ch c năng c a ch ng trìnhặ ả ầ ứ ứ ủ ươ

Chương 3: Xây dựng hệ thống Phân tích h th ngệ ố Thi t k h th ngế ế ệ ố Cài đ t h th ngặ ệ ố Ki m th h th ngể ử ệ ố

Page 7: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

ABSTRACT OF THESIS

The content of this thesis is divided into three parts:

Part 1: Overview about Android Basic definitions and properties of Android Framework of building applications in Android Tools for developing applications in Android

Part 2: Paying tuition problem and its specification Defining paying tuition problem Describing the business of paying tuition Funtionalitiy and non-funtionalitiy specifications

Part 3: Develop paying tuition system Analysizing this system Designing this system Coding this system Testing this system

Page 8: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

DANH MỤC CÁC TỪ VIẾT TẮT

STT Viết tắt/thuật ngữ Giải nghĩa

1 CNTT Công nghệ thông tin

2 ITuition Hệ thống đóng học phí qua điện thoại di động

3 Use case Trường hợp sử dụng/ca sử dụng

4 CSDL Cơ sở dữ liệu

5 Module Một bộ phận của chương trình

5 User Người dùng trong hệ thống

Page 9: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

DANH MỤC CÁC HÌNH

Hình 1:Ki n trúc Androidế ..................................................................................................12Hình 2:Vòng đ i c a Activityờ ủ .............................................................................................20Hình 3: Cách g i Service trong Androidọ ...........................................................................22Hình 4: Đ c t ch c năng đăng kýặ ả ứ ....................................................................................26Hình 5: Đ c t ch c năng đăng nh pặ ả ứ ậ ...............................................................................26Hình 6: Đ c t ch c năng Đóng h c phíặ ả ứ ọ ...........................................................................27Hình 7: Đ c t ch c năng Ki m tra h c phíặ ả ứ ể ọ .....................................................................27Hình 8: Đ c t ch c năng L ch s h c phíặ ả ứ ị ử ọ ........................................................................27Hình 9: Đ c t Use Case cho clientặ ả ....................................................................................29Hình 10: Đ c t Use Case cho Serverặ ả ................................................................................30Hình 11: Bi u đ tr ng thái các ch c năngể ồ ạ ứ ......................................................................31Hình 12: Bi u đ tu n t ch c năng đăng kýể ồ ầ ự ứ ..................................................................32Hình 13: Bi u đ tu n t ch c năng đăng nh pể ồ ầ ự ứ ậ .............................................................33Hình 14: Bi u đ tu n t ch c năng đóng h c phíể ồ ầ ự ứ ọ .........................................................34Hình 15: Bi u đ tu n t ch c năng ki m tra h c phíể ồ ầ ự ứ ể ọ ...................................................35Hình 16: Bi u đ tu n t ch c năng ki m tra l ch sể ồ ầ ự ứ ể ị ử....................................................36Hình 17: Bi u đ l p ch c năng đăng kýể ồ ớ ứ .........................................................................37Hình 18: Bi u đ l p ch c năng đăng nh pể ồ ớ ứ ậ ....................................................................38Hình 19: Bi u đ l p ch c năng đóng h c phíể ồ ớ ứ ọ ................................................................38Hình 20: Bi u đ l p ch c năng ki m tra h c phíể ồ ớ ứ ể ọ ..........................................................39Hình 21: Bi u đ l p module ki m tra l ch s h c phíể ồ ớ ể ị ử ọ ..................................................40Hình 22: MOCKUP – Giao di n chínhệ ................................................................................49Hình 23: MOCKUP – giao di n đăng kýệ ............................................................................49Hình 24: MOCKUP – Giao di n đăng nh pệ ậ .......................................................................50Hình 25: Menu h c phíọ .......................................................................................................51Hình 26: Giao di n đóng h c phíệ ọ .......................................................................................51Hình 27:Giao di n ki m tra h c phíệ ể ọ .................................................................................52Hình 28:Giao di n l ch s h c phíệ ị ử ọ .....................................................................................52

Page 10: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

DANH MỤC CÁC BẢNG

CSDL - Bảng tài khoản người dùng.....................................................................................41CSDL - bảng lưu trữ tin nhắn hệ thống................................................................................41CSDL – Bảng tài khoản ngân hang......................................................................................42CSDL – Bảng thông tin tài khoản........................................................................................42CSDL – Bảng quản lý đóng học phí....................................................................................43CSDL – Bảng lưu trữ thời hạn đóng học phí.......................................................................43CSDL - Bảng học phí sinh viên...........................................................................................44

Page 11: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

LỜI NÓI ĐẦU

Ngày nay, cùng v i s phát tri n m nh mẽ c a công ngh thông tin, th ớ ự ể ạ ủ ệ ếgi i đã ch ng ki n r t nhi u thành t u to l n, các cu c cách m ng trong ớ ứ ế ấ ề ự ớ ộ ạnhi u lĩnh v c mà nhân t quan tr ng trong đó chính là vi c ng d ng công ề ự ố ọ ệ ứ ụngh thông tin. Song song v i các ph n m m dành cho doanh nghi p, các ph nệ ớ ầ ề ệ ầ m m dành cho đi n tho i di đ ng cũng đ c phát tri n m t cách m nh mẽ.ề ệ ạ ộ ượ ể ộ ạ Nhu cầu của con người đối với các thiết bị di động cũng không còn giới hạn trong việc nghe gọi và nhắn tin như trước, mà vươn cao hơn tới các tiện ích của các dịch vụ. Xuất phát từ nhu cầu đó, hệ thống đóng học phí qua điện thoại –Ituition được ra đời. Hệ thống cung cấp các dịch vụ như: đóng học phí, kiểm tra học phí, lịch sử học phí dễ dàng tiện lợi cho người dùng.

Trong đồ án này, tôi xin trình bày những công nghệ tôi đã sử dụng, lý thuyết chung về hệ điều hành Androd cũng như các bước để xây dựng phần mềm: Phân tích, thiết kế, cài đặt và kiểm thử hệ thống. Trong khoảng thời gian 3 tháng làm đồ án, với sự hạn chế về kinh nghiệm, sản phẩm của tôi vẫn chưa thể hoàn thiện, đặc biệt trong việc tối ưu hệ thống để đạt hiệu suất cao cũng như có thể dáp ứng được với số lượng kết nối lơn. Tôi hy vọng sẽ có thể cải thiện được sản phẩm cũng như tìm hiểu những công nghệ mới để có thể đáp ứng được tốt hơn những nhu cầu của cả hệ thống.

Tôi xin đ c g i l i c m n t i các th y cô trong vi n Công Ngh Thông Tin vàượ ử ờ ả ơ ớ ầ ệ ệ Truy n Thông, Tr ng Đ i H c H c Bách Khoa Hà N i, đ c bi t tôi xin g i l i ề ườ ạ ọ ọ ộ ặ ệ ử ờc m n t i th y th y Đ Văn Uy đã t n tình h ng d n và đ nh h ng cho tôi ả ơ ớ ầ ầ ỗ ậ ướ ẫ ị ướtrong su t quá trình th c hi n đ án này. Đ ng th i tôi xin đ c g i l i c m ố ự ệ ồ ồ ờ ượ ử ờ ả

n t i gia đình, b n bè đã c vũ, đ ng viên, đóng góp ý ki n và giúp đ r t ơ ớ ạ ổ ộ ế ỡ ấnhi u trong th i gian qua.ề ờ

Page 12: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

CH NG 1:ƯƠ T NG QUAN V ANDROIDỔ Ề

1. T ng quan v Androidổ ề1.1 Khái ni m Androidệ

Android là m t n n t ng m dành cho thi t b di đ ng c a Google, bao ộ ề ả ở ế ị ộ ủg m h đi u hành, middleware và m t s ng d ng c b n. Android SDK cungồ ệ ề ộ ố ứ ụ ơ ả c p các công c và API c n thi t đ phát tri n ng d ng trên n n t ng ấ ụ ầ ế ể ể ứ ụ ề ảAndroid s d ng ngôn ng l p trình Java.ử ụ ữ ậ

1.2 Tính năng c b n c a Androidơ ả ủ- ng d ng framework cho phép tái s d ng và thay th các thành ph n Ứ ụ ử ụ ế ầ- Máy o Dalvik đ c t i u hóa cho thi t b di đ ng.ả ượ ố ư ế ị ộ- Tích h p trình duy t d a trên công c mã ngu n m WebKit ợ ệ ự ụ ồ ở- Đ h a đ c t i u hóa, h tr b i th vi n đ h a tùy ch nh 2D, 3D d a ồ ọ ượ ố ư ỗ ợ ở ư ệ ồ ọ ỉ ự

trên đ c đi m c a OpenGL ES 1,0 ặ ể ủ- C s d li u SQLite đ l u tr d li u có c u trúc ơ ở ữ ệ ể ư ữ ữ ệ ấ- H tr ph ng ti n cho âm thanh ph bi n, video, và đ nh d ng hình nh ỗ ợ ươ ệ ổ ế ị ạ ả

(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) - Đi n tho i GSM (ph thu c ph n c ng) ệ ạ ụ ộ ầ ứ- Bluetooth, EDGE, 3G, và WiFi (tùy thu c ph n c ng) ộ ầ ứ- Camera, GPS, la bàn, và gia t c (tùy thu c ph n c ng) ố ộ ầ ứ- Môi tr ng phát tri n đa d ng g m: 1 b mô ph ng, công c g l i, plugin ườ ể ạ ồ ộ ỏ ụ ỡ ỗ

cho Eclipse IDE…

1.3 Ki n trúc AndroidếS đ d i đây cho th y các thành ph n chính c a h đi u hành ơ ồ ướ ấ ầ ủ ệ ề

Android.  Các thành ph n này đ c mô t chi ti t trong các m c sau ầ ượ ả ế ụ(d,e,f,g,h,i).

Page 13: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 1:Ki n trúc Androidế1.4 Các ng d ng trên Androidứ ụ

Các ng d ng c b n bao g m: email, nh n tin SMS, l ch, b n đ , trình ứ ụ ơ ả ồ ắ ị ả ồduy t, liên l c, ... Các ng d ng đ u đ c vi t b ng ngôn ng Java.ệ ạ ứ ụ ề ượ ế ằ ữ1.5 Framwork ng d ngứ ụ

B ng cách cung c p m t n n t ng phát tri n m , Android cung c p cho ằ ấ ộ ề ả ể ở ấcác nhà phát tri n kh năng xây d ng các ng d ng c c kỳ phong phú và sáng ể ả ự ứ ụ ựt o. Nhà phát tri n đ c t do t n d ng l i th c a ph n c ng, truy c p ạ ể ượ ự ậ ụ ợ ế ủ ầ ứ ậthông tin v đ a đi m, ch y các d ch v trên background, báo th c, …ề ị ể ạ ị ụ ứ

Nhà phát tri n có th truy c p vào các API cùng m t Framework s ể ể ậ ộ ửd ng b i các ng d ng c b n. Ki n trúc c a ng d ng đ c thi t k đ đ n ụ ở ứ ụ ơ ả ế ủ ứ ụ ượ ế ế ể ơgi n hóa vi c s d ng l i các thành ph n; b t kỳ ng d ng nào cũng có th s ả ệ ử ụ ạ ầ ấ ứ ụ ể ửd ng l i ch c năng c a m t ng d ng khác (n u cho phép). C ch này cho ụ ạ ứ ủ ộ ứ ụ ế ơ ếphép các thành ph n t ng t sẽ đ c s d ng l i. ầ ươ ự ượ ử ụ ạ

V c b n, t t c các ng d ng là m t t p các d ch v và h th ng, bao ề ơ ả ấ ả ứ ụ ộ ậ ị ụ ệ ốg m: ồ    - Views: M t t p phong phú các đ i t ng view, có th m r ng, dùng độ ậ ố ượ ể ở ộ ể xây d ng ng d ng, bao g m danh sách, m ng l i, các text box, button, và ự ứ ụ ồ ạ ướtrình duy t web nhúng ệ    - Content Providers: cho phép ng d ng truy c p vào d li u c a các ngứ ụ ậ ữ ệ ủ ứ d ng khác ho c chia s d li u c a chính nó. ụ ặ ẻ ữ ệ ủ    - Resource Manager: qu n lí truy c p vào các tài nguyên (không ph i mã ả ậ ảngu n) nh các file strings, graphics, và layoutồ ư    - Notification Manager: cho phép ng d ng hi n th thông báo tùy ch nh ứ ụ ể ị ỉtrong thanh tr ng thái ạ

Page 14: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

    - Activity Manager: qu n lý vòng đ i c a ng d ng, cung c p m t ngăn ả ờ ủ ứ ụ ấ ộx p ng c (backstack) đi u h ng thông th ng ế ượ ề ướ ườ

1.6 Th vi n h tr c a Androidư ệ ỗ ợ ủAndroid bao g m m t b th vi n C / C + + s d ng b i các thành ph n ồ ộ ộ ư ệ ử ụ ở ầ

khác nhau c a h th ng. Các nhà phát tri n s d ng các th vi n này thông ủ ệ ố ể ử ụ ư ệqua các framework ng d ng c a Android. ứ ụ ủM t s th vi n c b n: ộ ố ư ệ ơ ả    - System C library (H th ng th vi n C): d a trên BSD c a h th ng thệ ố ư ệ ự ủ ệ ố ư vi n C chu n, đi u ch nh thi t b nhúng d a trên Linux ệ ẩ ề ỉ ế ị ự    - Media Libraries (Th vi n các ph ng ti n): d a trên PacketVideo's ư ệ ươ ệ ựOpenCORE; th vi n h tr phát, ghi l i các âm thanh ph bi n, nhi u đ nh ư ệ ỗ ợ ạ ổ ế ề ịd ng video, cũng nh các t p tin hình nh tĩnh, bao g m MPEG4, H.264, MP3, ạ ư ậ ả ồAAC, AMR, JPG, và PNG     - Surface Manager (qu n lí b m t)ả ề ặ : qu n lý truy c p vào các h th ng ả ậ ệ ốph hi n th , phù h p cho truy c p vào các l p đ h a 2D và 3D t nhi u ng ụ ể ị ợ ậ ớ ồ ọ ừ ề ứd ng ụ    - LibWebCore: m t trình duy t web hi n đ i, h tr trình duy t Androidộ ệ ệ ạ ỗ ợ ệ và trình duy t web nhúng ệ    - SGL - các công c đ h a 2D c b n ụ ồ ọ ơ ả    - Th vi n 3D (ư ệ 3D libraries): d a trên các API c a OpenGL ES 1,0, s ự ủ ửd ng kh năng tăng t c ph n c ng 3D (n u có) ho c ph n m m t i u hóa 3Dụ ả ố ầ ứ ế ặ ầ ề ố ư m c caoứ    - FreeType: font bitmap và vector    - SQLite: h c s d li u quan h nh và m nh s n có cho t t c ng ệ ơ ở ữ ệ ệ ẹ ạ ẵ ấ ả ứd ng ụ

1.7 Th c thi ng d ng Androidự ứ ụAndroid bao g m m t t p các th vi n c b n cung c p h u h t các ồ ộ ậ ư ệ ơ ả ấ ầ ế

ch c năng s n có trong các th vi n c b n c a Java. ứ ẵ ư ệ ơ ả ủM i ng d ng Android ch y trong ti n trình riêng (trên máy o ỗ ứ ụ ạ ế ả

Dalvik). M i thi t b có th ch y nhi u máy o t i m t th i đi m. Máy o ỗ ế ị ể ạ ề ả ạ ộ ờ ể ảDalvik th c thi các file trong đ nh d ng .dex (đ c t i u hóa cho b nh t i ự ị ạ ượ ố ư ộ ớ ốthi u). Các l p ban đ u đ c biên so n b i trình biên d ch ngôn ng Java khi ể ớ ầ ượ ạ ở ị ữth c thi đ c chuy n đ i thành các đ nh d ng .dex ( b i công c “dx”). ự ượ ể ổ ị ạ ở ụ

Máy o Dalvik d a trên n n h t nhân Linux, h tr các ch c năng c ả ự ề ạ ỗ ợ ứ ơb n nh qu n lí lu ng và b nh m c th p.ả ư ả ồ ộ ớ ứ ấ1.8 Nhân Linux c a Androidủ

Android d a trên n n Linux phiên b n 2.6, cung c p các d ch v c b n ự ề ả ấ ị ụ ơ ảcho h th ng nh b o m t, qu n lý b nh , qu n lý ti n trình, network stack, ệ ố ư ả ậ ả ộ ớ ả ếvà mô hình đi u khi n. H t nhân cũng ho t đ ng nh m t l p tr u t ng ề ể ạ ạ ộ ư ộ ớ ừ ượgi a ph n c ng và ph n m m.ữ ầ ứ ầ ề

2. Framework xây d ng ng d ng trên Androidự ứ ụ2.1 Các thành ph n c a m t ng d ngầ ủ ộ ứ ụ

M t đăc tr ng tr ng tâm c a Android là m i ng d ng có th s d ng ộ ư ọ ủ ỗ ứ ụ ể ử ụl i các thành ph n c a các ng d ng khác (n u cho phép). Đ đạ ầ ủ ứ ụ ế ể c nh v yượ ư ậ ,

Page 15: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

h th ng ph i kh i t o m t ti n trình b t c khi nào ng d ng c n đ n, đ ng ệ ố ả ở ạ ộ ế ấ ứ ứ ụ ầ ế ồth i khờ i t oở ạ các đ i t ng Java cho ph n đó. Vì v y, không gi ng nh ng ố ượ ầ ậ ố ư ứd ng trên h u h t các h th ng khác, ng d ng Android không có đi m vào ụ ầ ế ệ ố ứ ụ ểduy nh t cho ng d ng (không có hàm main ()). Thay vào đó, ấ ứ ụ ứng d ng có cácụ thành ph n mà h th ng có th t o ra và th c thi khi c n thi t.ầ ệ ố ể ạ ự ầ ế Có b n thành ph n c a m t ng d ng: ố ầ ủ ộ ứ ụ2.1.1 Activities:    M iỗ  activity t o ra m t giao di n tr c quan tạ ộ ệ ự ng tác v iươ ớ ng i dùng. ườCác activity có th thể c thiự cùng nhau đ t o m t giao di n ng i dùng c k t,ể ạ ộ ệ ườ ố ế nh ng cácư activity này đ c l p v i nhau. M i ộ ậ ớ ỗ activity là m t l p con c a l p cộ ớ ủ ớ ơ s ở Activity.     M t ng d ng có th g m m t hay nhi u ộ ứ ụ ể ồ ộ ề activity. Các activity là gì, s l ng ố ượbao nhiêu ph thu c vào vi c thi t k ng d ng. Thông th ng, ụ ộ ệ ế ế ứ ụ ườ activity đ u ầtiên t o ra cho ng i dùng là khi ng d ng đ c kh i ch y. Có th b t đ u ạ ườ ứ ụ ượ ở ạ ể ắ ầactivity k ti p t ế ế ừ activity hi n t i. ệ ạ    M i ỗ activity có 1 c a s m c đ nh đ hi n th . Thông th ng, c a s này l p ử ổ ặ ị ể ể ị ườ ử ổ ấđ y màn hình, cũng có th nh h n và n i trên c a s khác. ầ ể ỏ ơ ổ ử ổ Activity cũng có th t n d ng các c a s b sung .ể ậ ụ ử ổ ổ    N i dung hi n th trên c a s này th hi nộ ể ị ử ổ ể ệ qua cây phân c p các đ i t ng ấ ố ượview - d n xu t t l p c s View. ẫ ấ ừ ớ ơ ở M i đ i t ng ỗ ố ượ view chi m m t không gian ế ộc th (hình ch nh t) trong c a s . Không gian hi n th c a đ i t ng ụ ể ữ ậ ử ổ ể ị ủ ố ượ cha là t ng h p không gian c a các đ i t ng con. Các đ i t ng “lá” c a cây hi n thổ ợ ủ ố ượ ố ượ ủ ể ị trong không gian nó ki m soát và đáp l i yêu c u c a ng i dùng trên không ể ạ ầ ủ ườgian đó. Vì v y, view là đ i t ng trung gian trong t ng tác gi a ng i dùng ậ ố ượ ươ ữ ườv i thành ph n ớ ầ activity c a ng d ngủ ứ ụ . Android cung c p m t s đ i t ng ấ ộ ố ố ượview s n có đ s d ng - bao g m ẵ ể ử ụ ồ buttons, các tr ngườ text, thanh cu n, menu, ộcheck box,…    Đ i t ng view hi n th trong c a s c a ố ượ ể ị ử ổ ủ activity b i ph ng th c ở ươ ứActivity.setContentView (). C a s hi n th là không gian ki m soát c a đ i ử ổ ể ị ể ủ ốt ng View t i g c c a cây phân c p trên. ượ ạ ố ủ ấ

2.1.2 Service      Service không có giao di n ng i dùng, mà ch y n n trong m t kho ng ệ ườ ạ ề ộ ảth i gian không gi i h n. ờ ớ ạ Ví d : 1 ụ service có th b t nh c n n khi ng i dùng ể ậ ạ ề ườquan tâm đ n các v n đ khác, ho c có th l y d li u qua m ng hay tính ế ấ ề ặ ể ấ ữ ệ ạtoán m t cái gì đó và cung c p k t qu cho các activity c n nó. ộ ấ ế ả ầ M i ỗ service là m r ng c a l p c s ở ộ ủ ớ ơ ở Service.      Có th k t n i m t ể ế ố ộ service đang di n ra (và b t đ u ễ ắ ầ service n u nó ếch a có). Trong khi k t n i, có th giao ti p v i ư ế ố ể ế ớ service thông qua giao di n ệmà nó h tr . Đ i v i ỗ ợ ố ớ service âm nh c, giao di n này cho phép ng i dùng ạ ệ ườt m d ng, tua, d ng l i, kh i đ ng, hay phát l i. ạ ừ ừ ạ ở ộ ạ     Cũng gi ng nh activity và thành ph n khác, ố ư ầ service ch y trong lu ng ạ ồchính c a ti n trình ng d ng. ủ ế ứ ụ Vì v y, đ không ch n các thành ph n khác hayậ ể ặ ầ ch n giao di n ng i dùng, chúng th ng sinh ra các lu ng (cho các nhi m v ặ ệ ườ ườ ồ ệ ụtiêu t n th i gian) ố ờ

Page 16: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

2.1.3 Broadcast receivers      Thành ph n ầ receivers th c hi nự ệ nh n và phát đi các thông báo. Nhi u ậ ềch ng ươ trình receivers đ c ượ tích h pợ trong mã ngu n h th ng - ví d , thông ồ ệ ố ụbáo các múi gi đã thay đ i, pin th p, hình nh đã đ c ch p, ho c đ ng i ờ ổ ấ ả ượ ụ ặ ể ườs d ng thay đ i tuỳ ch n ngôn ng . ử ụ ổ ọ ữ ng d ng cũng có th khỨ ụ ể i t oở ạ trình receivers - ví d , báo cho các ng d ng khác bi t r ng m t s d li u đã đ c ụ ứ ụ ế ằ ộ ố ữ ệ ượt i v cho thi t b và s n có cho h s d ng. ả ề ế ị ẵ ọ ử ụ    M i ng d ng có s l ng thành ph n ỗ ứ ụ ố ượ ầ receivers tùy ý (đáp ng các thông ứbáo quan tr ng). ọ L pớ receiver là m r ng c a l p c s BroadcastReceiver. ở ộ ủ ớ ơ ở   Thành ph nầ  receiver không có giao di n vệ i ớ ng i dùng. Tuy v y, thành ườ ậph n này có th b t đ u m t activity đ đáp ng thông tin mà nó nh n đ c, ầ ể ắ ầ ộ ể ứ ậ ượho c có th s d ng NotificationManager đ c nh báo ng i s d ng. Các ặ ể ử ụ ể ả ườ ử ụthông báo gây s chú ý c a ng i dùng b ng nhi u cách khác nhau - nh p ự ủ ườ ằ ề ấnháy đèn n n, rung thi t b , t o m t âm thanh, vv. Và th ng đ t m t bi u ề ế ị ạ ộ ườ ặ ộ ểt ng trên thanh tr ng thái, ng i dùng có th m đ nh n thông báo. ượ ạ ườ ể ở ể ậ

2.1.4 Content providers      Thành ph n ầ Content providers t o m t b d li u c a ng d ng s n cóạ ộ ộ ữ ệ ủ ứ ụ ẵ cho các ng d ng khác. D li u có th l u tr trong h th ng t p, c s d ứ ụ ữ ệ ể ư ữ ệ ố ệ ơ ở ữli u SQLite, ... ệ L pớ content provider là m r ng c a l p c s ContentProvider, ở ộ ủ ớ ơ ởth c thi t p các ph ng thự ậ ươ cứ chu n, đ các ng d ng khác có th l y, l u tr ẩ ể ứ ụ ể ấ ư ữd li u theo cách ri ng. Tuy v y, các ng d ng không g i các phữ ệ ế ậ ứ ụ ọ ng th cươ ứ đó tr c ti p. Nó s d ng đ i t ng ContentResolver đ g i. ự ế ử ụ ố ượ ể ọ Đ i t ng ố ượContentResolver có th giao ti p v i b t kỳ lể ế ớ ấ p ớ content provider nào, nó cùng v i lớ pớ Provider th c thiự qu n lý b t kỳ giao ti p nào bên trong ti n trình nàoả ấ ế ế nó tham gia.

B t c khi nào có yêu c u c n đ c x lý b i m t thành ph n đ c bi t, ấ ứ ầ ầ ượ ử ở ộ ầ ặ ệAndroid đ m b o ti n trình ng d ng c a thành ph n đó đang th c thi (ho c ả ả ế ứ ụ ủ ầ ự ặkh i t o ở ạ nó n u c n thi t), và các đ i t ng thích h p c a thành ph n đó là ế ầ ế ố ượ ợ ủ ầs n có (ho c t o ra đ i t ng n u c n thi t). ẵ ặ ạ ố ượ ế ầ ế

Kích ho t các thành ph n: intents ạ ầCác thành ph nầ content provider đ c kích ho t khi nh n yêu c u t ượ ạ ậ ầ ừ

ContentResolver. Ba thành ph n khác - activity, service và ầ Broadcast receivers - đ c kích ho t b i các thông đi p không đ ng b intents. M i intentượ ạ ở ệ ồ ộ ỗ là m t ộđ i t ng ch a n i dung thông đi p. Đ i v i service và activity, nó ch đ nh ố ượ ứ ộ ệ ố ớ ỉ ịactivity đ c yêu c u và đ nh rõ URI c a d li u đ thao tác trên đó. V i thànhượ ầ ị ủ ữ ệ ể ớ ph n ầ Broadcast receivers, đ i t ng Intent ch đ nh hành đ ng đang đ c ố ượ ỉ ị ộ ượthông báo.

Có nhi u ph ng pháp kích ho t riêng cho t ng lo i thành ph n: ề ươ ạ ừ ạ ầ- M t ộ activity đ c kh i t o b ng cách truy n m t đ i t ng Intent vàoượ ở ạ ằ ề ộ ố ượ

ph ng th c Context.startActivity () ho c Activity.startActivityForResult ươ ứ ặ().Ph ng th c getIntent() c a 1 ho t đ ng tr v đ i t ng intent kích ho t ươ ứ ủ ạ ộ ả ề ố ượ ạ

Page 17: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

ho t đ ng đó.Android g i ph ng th c onNewIntent () c a ho t đ ng và ạ ộ ọ ươ ứ ủ ạ ộtruy n cho nó b t kỳ đ i t ng intents nào ti p theo. ề ấ ố ượ ế

- M t ộ activity th ng b t đ u các ườ ắ ầ activity k ti p. N u ế ế ế activity k ti p ế ếlà l y k t qu t ấ ế ả ừ activity tr c đó, nó g i startActivityForResult () thay vì ướ ọstartActivity (). K t qu tr v là đ i t ng Intent qua l i g i ph ng th c ế ả ả ề ố ượ ờ ọ ươ ứonActivityResult()      - M t ộ service đ c b t đ u b ng cách truy n m t đ i t ng Intent vào ượ ắ ầ ằ ề ộ ố ượph ng th c Context.startService (). Android g i ph ng th c onStart () c a ươ ứ ọ ươ ứ ủservice thông qua đ i t ng Intent. ố ượ      T ng t , đ i t ng intent có th đ c truy n vào ph ng th c ươ ự ố ượ ể ượ ề ươ ứContext.bindService () đ thi t l p m t k t n i liên t c gi a các thành ph n ể ế ậ ộ ế ố ụ ữ ầđang g i và ọ service m c tiêu. ụ Service này nh n đ c đ i t ng intent qua l i ậ ượ ố ượ ờg i onBind()ọ      - M t ng d ng có th kh i t o ộ ứ ụ ể ở ạ Broadcast receivers b ng cách truy n m t ằ ề ộđ i t ng Intent vào các ph ng th c nh Context.sendBroadcast (), ố ượ ươ ứ ưContext.sendOrderedBroadcast (), và Context.sendStickyBroadcast (). Android phân phát đ i t ng intent cho t t c các l p thu phát liên quan b ng cách g i ố ượ ấ ả ớ ằ ọph ng th c onReceive()ươ ứ

T t các thành ph n :ắ ầ    - M t ho t đ ng có th đ c t t b ng cách g i ph ong th c finish()ộ ạ ộ ể ượ ắ ằ ọ ư ứ c a ủnó. M t activity có th t t các activity khác b ng cách g i finishActivity (). ộ ể ắ ằ ọ    - Service có th đ c ng ng l i b ng cách g i ph ng th c stopSelf()ể ượ ừ ạ ằ ọ ươ ứ , ho c g i Context.stopService (). ặ ọ

Các thành ph n cũng có th đ c t t b i h th ng khi không còn đ c ầ ể ượ ắ ở ệ ố ượs d ng ho c đ l y b nh cho nhi u thành ph n khác đang ho t đ ng. ử ụ ặ ể ấ ộ ớ ề ầ ạ ộ

Các t p tin manifest ậ :Các ng d ng khai báo các thành ph n c a nó trong t p tin ứ ụ ầ ủ ậ manifest

đ t trong gói Android. Các file. apk ch a code, các file và tài nguyên c a ng ặ ứ ủ ứd ng. ụT p tin ậ manifest là m t c u trúc file XML có tên AndroidManifest.xml trong ộ ấm i ng d ng. ọ ứ ụ

Nhi m v chính c a file manifest là đ khai báo thành ph n ng d ng ệ ụ ủ ể ầ ứ ục a Android. M t ho t đ ng có th đ c khai báo nh sau: ủ ộ ạ ộ ể ượ ư

<?xml version="1.0" encoding="utf-8"?><manifest . . . >    <application . . . >        <activity android:name="com.example.project.FreneticActivity"                  android:icon="@drawable/small_pic.png"                  android:label="@string/freneticLabel"                   . . .  >        </activity>        . . .    </application></manifest>

Page 18: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Thu c tính “name” c a <activity> ch đ nh l p con th c thi ho t đ ngộ ủ ỉ ị ớ ự ạ ộThành ph n <service> khai báo cho các ầ service, các y u t <receiver> cho ế ốBroadcast receivers, và <provider> y u t cho content provider. ế ốB l c Intent:ộ ọ

B l c Intent c a m t thành ph n cho Android bi t các lo i intents màộ ọ ủ ộ ầ ế ạ thành ph n đó có kh năng x lý. ầ ả ử Chúng đ c khai báo trong t p tin manifest. ượ ậVí d sau thêm hai b l c vào ho t đ ng: ụ ộ ọ ạ ộ

<?xml version="1.0" encoding="utf-8"?><manifest . . . >    <application . . . >        <activity android:name="com.example.project.FreneticActivity"                  android:icon="@drawable/small_pic.png"                  android:label="@string/freneticLabel"                   . . .  >            <intent-filter . . . >                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>            <intent-filter . . . >                <action android:name="com.example.project.BOUNCE" />                <data android:mimeType="image/jpeg" />                <category android:name="android.intent.category.DEFAULT" />            </intent-filter>        </activity>        . . .    </application></manifest>

2.2 Màn hinh và tác vụ Các stack ch a các đ i t ng, vì v y n u m t ứ ố ượ ậ ế ộ task có nhi u đ i ề ố

t ng c a cùng m t l p con c a ượ ủ ộ ớ ủ Activity, stack có t ng vùng riêng bi t cho ừ ệm i Activityỗ . Các activity trong stack không bao gi s p x p l i, ch ờ ắ ế ạ ỉ push và pop.

Tác v (Task) ụ là m t ngăn x p các ộ ế activity. Vì v y, không có cách nào ậđ thi t l p giá tr cho m t ể ế ậ ị ộ task đ c l p v i ộ ậ ớ activity c a nó. Giá tr c a ủ ị ủ task đ c thi t l p trong ượ ế ậ activity g c. ố

Các activity trong m t ộ task th ng nh t v i nhau nh m t đ n v . ố ấ ớ ư ộ ơ ịT p h p ho t đ ng, nhi m v , và hành vi c a m t ậ ợ ạ ộ ệ ụ ủ ộ activity trong

Task, đ c đi u khi n b i s t ng tác gi a c đ t trong đ i t ng Intent b tượ ề ể ở ự ươ ữ ờ ặ ố ượ ắ đ u ho t đ ng và các thu c tính thi t l p th <activity> trong file manifest. ầ ạ ộ ộ ế ậ ở ẻ

C Intent ch y u là: ờ ủ ế

FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_CLEAR_TOP FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

Page 19: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

FLAG_ACTIVITY_SINGLE_TOP

Thu c tính <activity> :ộ

taskAffinity launchMode allowTaskReparenting clearTaskOnLaunch alwaysRetainTaskState finishOnTaskLaunch

2.3 Lu ng và ti n trinh.ồ ếKhi c n ch y thành ph n đ u tiên c a m t ng d ng, Android kh i ầ ạ ầ ầ ủ ộ ứ ụ ở

t o m t ti n trình Linux cho nó v i m t lu ng đ n th c thi. Theo m c đ nh, ạ ộ ế ớ ộ ồ ơ ự ặ ịt t c các thành ph n c a ng d ng ch y trên lu ng và ti n trình đó. ấ ả ầ ủ ứ ụ ạ ồ ế

Ti n trinh:ếTi n trình đ c ki m soát b i t p tin manifest. Các thành ph n: ế ượ ể ở ậ ầ

<activity>, <service>, <receiver>, và <provider> đ u có m t thu c tính ề ộ ộ process ch đ nh ti n trình phù h p. ỉ ị ế ợ Thu c tính này đ c thi t l p đ m i thành ph n ộ ượ ế ậ ể ỗ ầch y trong ti n trình riêng, chia s ti n trình, hay ạ ế ẻ ế ch y các thành ph n c a cácạ ầ ủ

ng d ng khác nhau trong cùng m t ti n trình. <application> có thu c tính ứ ụ ộ ế ộprocess, đ thi t l p giá tr m c đ nh áp d ng cho t t c các thành ph n. ể ế ậ ị ặ ị ụ ấ ả ầ

T t c các thành ph n đ c t o ra trong lu ng chính c a ti n trình ấ ả ầ ượ ạ ồ ủ ếch đ nh. ỉ ị Các thành ph n không nên th c thi các ho t đ ng kéo dài ho c ngăn ầ ự ạ ộ ặch nặ khi đ c g i b i h th ng. Có th sinh các lu ng riêng bi t cho các ho t ượ ọ ở ệ ố ể ồ ệ ạđ ng kéo dài.ộAndroid có th quy t đ nh t t đi m t ti n trình t i m t s đi m, khi dung ể ế ị ắ ộ ế ạ ộ ố ểl ng b nh th p và yêu c u c a ti n trình khác ph c v ngay l p t c. ượ ộ ớ ấ ầ ủ ế ụ ụ ậ ứThành ph n ng d ng đang ch y trong ti n trình đó sẽ b h y. ầ ứ ụ ạ ế ị ủ Ti n trình ếđ c kh i t o l i cho các thành ph n khi có yêu c u. ượ ở ạ ạ ầ ầ

Lu ngồ :M t lu ng đ c t o ra đ th c thi m t s công vi c. ộ ồ ượ ạ ể ự ộ ố ệ B t c ho t ấ ứ ạ

đ ng nào t n th i gian đ c đ t trong m t lu ng riêng.ộ ố ờ ượ ặ ộ ồ Lu ng đ c t o ra ồ ượ ạtrong mã ngu n b ng cách s d ng đ i t ng chu n Thread c a Java. Androidồ ằ ử ụ ố ượ ẩ ủ cung c p m t s l p thu n ti n cho vi c qu n lý lu ng – Looper: ch y m t ấ ộ ố ớ ậ ệ ệ ả ồ ạ ộvòng l p thong đi p bên trong 1 lu ng, Handler: x lí các thông đi p, và ặ ệ ồ ử ệHandlerThread : l p m t lu ng v i m t vòng l p thông đi p. ậ ộ ồ ớ ộ ặ ệ

2.4 Vòng đ i các thành ph nờ ầVòng đ i c a thành ph n ng d ng: t khi Android kh i t o chúng ờ ủ ầ ứ ụ ừ ở ạ

đ n k t thúc khi h y các đ i t ng. ế ế ủ ố ượVòng đ i c a activityờ ủ

M i ỗ activity có 3 tr ng thái c b n: ạ ơ ả    - active or running: khi đang trong m t tr c màn hình ( đ u ngăn ở ặ ướ ở ầx p các ho t đ ng cho nhi m v hi n hành). Đây là tr ng thái ế ạ ộ ệ ụ ệ ạ activity t p ậtrung các hành đ ng c a ng i dùng. ộ ủ ườ

Page 20: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

    - paused: t m d ng, nh ng v n hi n th cho ng i dùng. ạ ừ ư ẫ ể ị ườ Activity b ịt m d ng là còn “s ng” (nó duy trì t t c các tr ng thái, thông tin thành ph n ạ ừ ố ấ ả ạ ầvà v n thu c c a s qu n lý), có th b h y trong tr ng h p b nh v c kì ẫ ộ ử ổ ả ể ị ủ ườ ợ ộ ớ ựth p. ấ    -  stopped : d ng l i (n u b che khu t b i các ho t đ ng khác). ừ ạ ế ị ấ ở ạ ộ Nó v n gi ẫ ữl i t t c các tr ng thái và thông tin thành ph n. ạ ấ ả ạ ầ Nó không còn hi n th cho ể ịng i s d ng (c a s n), th ng b h y b i h th ng khi có yêu c u c n ườ ử ụ ử ổ ẩ ườ ị ủ ở ệ ố ầ ầthi t v b nh . ế ề ộ ớ

Quá trình chuy n đ i tr ng thái ho t đ ng th c hi n qua l i g i các ể ổ ạ ạ ộ ự ệ ờ ọph ng th c protected sau: ươ ứ

void onCreate (Bundle savedInstanceState) void onStart () void onRestart () void onResume () void onPause () void onStop () void onDestroy ()

M i activity ph i th c hi n onCreate () đ kh i t o đ i t ng đ u ọ ả ự ệ ể ở ạ ố ượ ầtiên,th c hi n onPause () đ thay đ i d li u và ch n t ng tác v i ng i ự ệ ể ổ ữ ệ ặ ươ ớ ườdùng. 7 ph ng th c trên đ nh nghĩa toàn b vòng đ i c a m t activity ươ ứ ị ộ ờ ủ ộ

S đ minh h a vòng đ i c a activity ơ ồ ọ ờ ủ

Page 21: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 2:Vòng đ i c a Activityờ ủTrong đó ph ng th c : ươ ứ- onCreate(): Đ c g i là khi ượ ọ activity t o ra l n đ u tiên. Ph ng pháp ạ ầ ầ ươ

này đ c truy n vào m t đ i t ng Bundle có ch a tr ng thái tr c đó c a ượ ề ộ ố ượ ứ ạ ướ ủactivity. Luôn theo sau b i onStart(). ở

- onRestart (): Đ c g i sau khi ượ ọ activity đã d ng l i (ừ ạ stopped), đ b t ể ắ

Page 22: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

đ u l i. ầ ạLuôn theo sau b i onStart () ở

- onStart (): Đ c g i ngay tr c khi ượ ọ ướ activity tr nên rõ ràng cho ng i ở ườdùng. Theo sau b i onResume() ho c onStop()ở ặ

- onResume(): Đ c g i ngay tr c khi b t đ u ượ ọ ướ ắ ầ activity t ng tác v i ươ ớng i s d ngườ ử ụLuôn theo sau b i onPause (). ở

- onPause(): Đ c g i khi h th ng chu n b b t đ u khôi ph c ượ ọ ệ ố ẩ ị ắ ầ ụ activity khác. Ph ng th c này th ng đ c dùng đ xác nh n nh ng thay đ i ch a ươ ứ ườ ượ ể ậ ữ ổ ưđ c l u vào d li u n đ nh, d ng hình nh đ ng ...ượ ư ữ ệ ổ ị ừ ả ộ Các activity ti p theo sẽ ếkhông đ c ti p t c cho đ n khi nó quay l i. ượ ế ụ ế ạTheo sau b i onResume() n u tr v ở ế ả ề activity tr c đó, ho c onStop () n u nó ướ ặ ế

n v i ng i dùng. ẩ ớ ườ- onStop(): Đ c g i khi ượ ọ activity không còn nhìn th y đ c. ấ ượ Đi u này ề

x y ra b i nó đang b hu , hay vì activity khác đã đ c ti p t c và bao ph nó. ả ở ị ỷ ượ ế ụ ủTheo sau b i onRestart() ho c onDestroy ()ở ặ

- onDestroy(): Đ c g i tr c khi ượ ọ ướ activity b h y. Đây là l i g i cu i ị ủ ờ ọ ốcùng v i m t ớ ộ activity. Nó có th đ c g i vì ể ượ ọ activity đã hoàn thành (finish()) ho c do h th ng t m th i h y đ i t ng c a ặ ệ ố ạ ờ ủ ố ượ ủ activity đ ti t ki m không ể ế ệgian.

Vòng đ i c a service :ờ ủHai cách s dung service : ử- Kh i t o và ch y, đ n khi m t ng i dùng d ng hay t d ng l i. B t ở ạ ạ ế ộ ườ ừ ự ừ ạ ắ

đ u b ng cách g i Context.startService() và d ng l i b ng cách g i ầ ằ ọ ừ ạ ằ ọContext.stopService(). Có th t d ng l i b ng cách g i Service.stopSelf() ho cể ự ừ ạ ằ ọ ặ Service.stopSelfResult().

- Ho t đ ng b ng cách s d ng m t giao di n t đ nh nghĩa và thi t ạ ộ ằ ử ụ ộ ệ ự ị ếl p. Client thi t l p k t n i đ n các đ i t ng service và s d ng k t n i đ ậ ế ậ ế ố ế ố ượ ử ụ ế ố ểg i service. K t n i đ c thi t l p b ng cách g i Context.bindService(), và ọ ế ố ượ ế ậ ằ ọđóng l i b ng cách g i Context.unbindService(). ạ ằ ọ Nhi u client có th k t n i ề ể ế ốv i cùng ớ service. N u ch a có service, bindService() sẽ kh i t o service. ế ư ở ạ

Các ph ng th c: ươ ứ- void onCreate () - void onStart (Intent ý đ nh) ị- void onDestroy () Các ph ng th c onCreate() và onDestroy() đ c g i cho t t c các ươ ứ ượ ọ ấ ả

service, cho dù b t đ u b i Context.startService () hay Context.bindService(). ắ ầ ởTuy nhiên, onStart() đ c g i ch v i các ượ ọ ỉ ớ service b t đ u b i startService (). ắ ầ ở

M t ộ service liên k t v i các ế ớ service khác b ng nhi u ph ng th c: ằ ề ươ ứ- IBinder onBind(Intent intent) - boolean onUnbind(Intent intent) - void onRebind(Intent intent)

S đ sau minh h a ph ng th c g i m t service:ơ ồ ọ ươ ứ ọ ộ

Page 23: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 3: Cách g i Service trong AndroidọVòng đ i c a receiver: ờ ủ

Ph ng th c duy nh t:ươ ứ ấ void onReceive(Context curContext, Intent broadcastMsg)

Khi m t thông đi p qu ng bá đ n cho ộ ệ ả ế receiver, Android g i ph ng ọ ươth c onReceive()và truy n vào các đ i t ng Intent có ch a thông đi p. ứ ề ố ượ ứ ệReceiver đang ho t đ ng ch khi nó đang th c hi n ph ng th c này. ạ ộ ỉ ự ệ ươ ứ

Ti n trình v i receiver đang ho t đ ng sẽ không b h y. ế ớ ạ ộ ị ủ Vòng đ i c a ti n trình: ờ ủ ế

H th ng Android sẽ duy trì m t ti n trình ng d ng càng lâu càng t t, ệ ố ộ ế ứ ụ ốvà lo i b các ti n trình cũ khi b nh m c th p. Đ xác đ nh l u gi , hay ạ ỏ ế ộ ớ ở ứ ấ ể ị ư ữh y m t ti n trình, Android th c hi n phân c p các ti n trình theo t m quan ủ ộ ế ự ệ ấ ế ầtr ng d a trên các thành ph n đang ch y trong nó và tr ng thái c a các thànhọ ự ầ ạ ạ ủ ph n. Đ u tiên là các ti n trình có t m quan tr ng th p nh t, ti p đó các m c ầ ầ ế ầ ọ ấ ấ ế ứquan tr ng tăng d n. Có năm m c trong h th ng. Danh sách sau trình bày các ọ ầ ứ ệ ốti n trình theo th t m c quan tr ng: ế ứ ự ứ ọ

Page 24: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Foreground process (ti n trình ti n c nh) yêu c u cho nh ng gì ng i ế ề ả ầ ữ ườdùng hi n t i đang làm. Các đi u ki n : ệ ạ ề ệ

- Đang ch y m t ạ ộ activity mà ng i dùng đang t ng tácườ ươ          - Có m t service liên k t v i activity mà ng i dùng đang t ng tác.ộ ế ớ ườ ươ- Có m t đ i t ng service g i l i ph ng th c (onCreate(), onStart(), ộ ố ượ ọ ạ ươ ứ

onDestroy (). - Có m t đ i t ng BroadcastReceiver g i ph ng th c onReceive(). ộ ố ượ ọ ươ ứVisible process ( ti n trình có th nhìn th y): M t ế ể ấ ộ ti n trình có th nhìn ế ể

th y th a mãn các đi u ki n sau: ấ ỏ ề ệ          - Có m t ộ activity tr c đó, v n còn hi n th cho ng i s d ng ướ ẫ ể ị ườ ử ụ(onPause()).          - Có m t service lien k t v i m t activity nhìn th y đ c. ộ ế ớ ộ ấ ượ

Service process (ti n trình d ch v ): ch y m t service b t đ u v i ế ị ụ ạ ộ ắ ầ ớph ng th c startService() và không thu c m t trong hai lo i trên.ươ ứ ộ ộ ạ

Background process ( ti n trình n n): mang m t activity không hi n ế ề ộ ệhi n th cho ng i dùng (onStop()). ể ị ườ Các ti n trình này không có tác đ ng tr c ế ộ ựti p đ n ng i dùng, và có th b h y b t c lúc nào có yêu c u l y l i b ế ế ườ ể ị ủ ấ ứ ầ ấ ạ ộnh . ớ Có r t nhi u ti n trình ch y n n, chúng đ c gi trong m t danh sách ấ ề ế ạ ề ượ ữ ộLRU.

Empty process ( ti n trình r ng): không gi thành ph n ng d ng nào ế ỗ ữ ầ ứ ụđang ho t đ ngạ ộ . H th ng th ng h y các ti n trình này đ cân đ i tài nguyênệ ố ườ ủ ế ể ố t ng th c a h th ng gi a vùng nh ti n trình và cùng nh h t nhân c b n. ổ ể ủ ệ ố ữ ớ ế ớ ạ ơ ả3. Công c phát tri nụ ể

Android SDK bao g m nhi u công c phát tri n ng d ng di đ ng trên ồ ề ụ ể ứ ụ ộn n t ng Android. Quan tr ng nh t là Android Emulator (B mô ph ng) và ề ả ọ ấ ộ ỏAndroid Development Tools plugin (plugin ADT) cho Eclipse. SDK cũng bao g m nhi u công c khác đ g l i, đóng gói, và cài đ t ng d ng trên ồ ề ụ ể ỡ ỗ ặ ứ ụEmulator. Android Development Tools Plugin (cho Eclipse IDE): Thêm các m ởr ng m nh mẽ vào Eclipse : tích h p môi tr ng, t o và g l i các ng d ng ộ ạ ợ ườ ạ ỡ ỗ ứ ụAndroid d dàng và nhanh chóng. ễ

Android Emulator: công c mô ph ng thi t b d a trên ụ ỏ ế ị ự QEMU, s d ng ử ụđ thi t k , g l i, và ki m th các ng d ng trong môi tr ng th c ch y ể ế ế ỡ ỗ ể ử ứ ụ ườ ự ạAndroid.

Android Virtual Devices (AVDs): c u hình thi t b o dùng đ mô hình ấ ế ị ả ểhóa tính năng thi t b trong Android Emulator. Trong m i c u hình, có th ch ế ị ỗ ấ ể ỉđ nh các n n t ng Android đ ch y, tùy ch n ph n c ng, skin mô ph ng s ị ề ả ể ạ ọ ầ ứ ỏ ửd ng.ụ

Hierarchy Viewer (h th ng phân c p Viewer)ệ ố ấ : cho phép g l i, t i u ỡ ỗ ố ưhóa giao di n ng i dùng, ệ ườ cung c p hình nh h th ng phân c p ấ ả ệ ố ấ Views và ki m tra đ phóng đ i c a màn hình hi n t i v i m t l i pixel. ể ộ ạ ủ ệ ạ ớ ộ ướ

layoutopt: cho phép nhanh chóng trình bày ng d ng hi u qu . ứ ụ ệ ảDraw 9-patch:  cho phép d dàng t o ra m t hình nh NinePatch s ễ ạ ộ ả ử

d ng m t trình so n th o WYSIWYG. ụ ộ ạ ảDalvik Debug Monitor Service (ddms): Tích h p Dalvik (máy o tùy ợ ả

ch nh trên n n t ng Android ), cho phép qu n lý các ti n trình trên b mô ỉ ề ả ả ế ộph ng hay thi t b th t, h tr g l i. Có th s d ng đ h y các ti n trình, ỏ ế ị ậ ỗ ợ ỡ ỗ ể ử ụ ể ủ ế

Page 25: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

l a ch n m t ti n trình c th đ g l i, đánh d u d li u, xem thông tin v ự ọ ộ ế ụ ể ể ỡ ỗ ấ ữ ệ ềheap và lu ng, ch p màn hình c a b mô ph ng ho c thi t b , ... ồ ụ ủ ộ ỏ ặ ế ịAndroid Debug Bridge (adb): cho phép b n cài đ t các file .apk c a ng d ng ạ ặ ủ ứ ụtrên b mô ph ng hay thi t b th t và truy c p vào b mô ph ng, thi t b đó ộ ỏ ế ị ậ ậ ộ ỏ ế ịt c a s ừ ử ổ command line, liên k t m t trình s a l i chu n v i mã ng d ng ế ộ ử ỗ ẩ ớ ứ ụđang ch y trên b mô ph ng Android ho c thi t b th t. ạ ộ ỏ ặ ế ị ậ

Android Asset Packaging Tool (aapt): cho phép t o ra các file .apk ch a ạ ứmã nh phân và tài nguyên c a ng d ng Android. ị ủ ứ ụ

Android Interface Description Language (aidl): Cho phép t o mã code ạcho m t giao di n bên trong ti n trình (ộ ệ ế interprocess)

sqlite3 : Cho phép truy c p vào các t p tin d li u SQLite - đ c t o ra ậ ậ ữ ệ ượ ạvà s d ng b i các ng d ng Android. ử ụ ở ứ ụ

Traceview: T o ra các ạ views phân tích đ h a c a d li u trace log có ồ ọ ủ ữ ệth t o ra t các ng d ng Android.ể ạ ừ ứ ụ

mksdcard: T o m t đĩa nh có th s d ng v i b mô ph ng, mô ph ngạ ộ ả ể ử ụ ớ ộ ỏ ỏ s hi n di n c a m t th l u tr ngoài (ch ng h n th SD). ự ệ ệ ủ ộ ẻ ư ữ ẳ ạ ẻ

Dx: Cho phép ghi đè bytecode .class lên bytecode Android (ch a trong ứfile .dex). UI/Application Exerciser Monkey: Ch ng trình ch y trên b mô ươ ạ ộph ng hay thi t b th t, t o ra các dòng gi ng u nhiên c a các s ki n nh ỏ ế ị ậ ạ ả ẫ ủ ự ệ ưng i dùng nh p chu t, ch m vào, …ườ ấ ộ ạ ki m tra các ng d ng đang phát tri n, ể ứ ụ ểm t cách ng u nhiên nh ng v n l p l i. ộ ẫ ư ẫ ặ ạ Android: Đo n mã cho phép qu n lýạ ả AVDs và t o ra file buid Ant, có th ạ ểdùng đ biên d ch các ng d ng Android. ể ị ứ ụ

Zipalign: M t công c t i u hóa file .apk quan tr ng. Công c này đ m ộ ụ ố ư ọ ụ ảb o t t c các d li u không nén b t đ u v i m t liên k t c th liên quan ả ấ ả ữ ệ ắ ầ ớ ộ ế ụ ểđ n ph n đ u c a file, th ng dùng đ ch nh các t p tin .apk sau khi chúng ế ầ ầ ủ ườ ể ỉ ậđ c đánh d u..ượ ấ

Page 26: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

CH NG 2:ƯƠ BÀI TOÁN ĐÓNG H C PHÍ QUA ĐI NỌ ỆTHO I DI Ạ Đ NG Ộ D A TRÊN N N ANDROID Ự Ề I-TUITION

1 Phát bi u bài toánể

1.1 Đ t v n đặ ấ ề- Th c tr ng đóng h c phí t i tr ng ĐHBK Hà N i: Đ i v i sinh viên h cự ạ ọ ạ ườ ộ ố ớ ọ

theo hình th c niên ch , thông tin h c phí sẽ đ c thông báo gi a kỳ. ứ ế ọ ượ ở ữVi c đóng h c phí thì có r t nhi u tr ng i và t n th i gian, công vi c ệ ọ ấ ề ở ạ ố ờ ệđ c th c hi n m t cách th công. M i l n sinh viên đóng h c phí thì ượ ự ệ ộ ủ ỗ ầ ọnhân viên phòng đào t o ph i rà soát l i trong s sau đó vi t biên lai ạ ả ạ ổ ếthu nh n ti n b ng tay. Ngoài ra thông th ng sinh viên sẽ t p trung ậ ề ằ ườ ậvào các ngày cu i đ đóng h c phí. Đi u này làm cho công vi c c a ố ể ọ ề ệ ủphòng đào t o quá t i, hi u qu làm vi c th p đ ng th i t n th i gian ạ ả ệ ả ệ ấ ồ ờ ố ờc a sinh viên.ủ

- C ch đóng h c phí m i thong qua hình th c thanh toán th ATM có ơ ế ọ ớ ứ ẻnhi u ti n l i h n. Sinh viên thay vì làm vi c v i phòng đào t o, thì ề ệ ợ ơ ệ ớ ạđ c chuy n qua ngân hang. Vi c đóng h c phí c a sinh viên đ c chia ượ ể ệ ọ ủ ượthành 3 đ t m i đ t thu 1/3 h c phí. Vi c thanh toán h c phí thong qua ợ ỗ ợ ọ ệ ọth ATM có nhi u đi m u th nh : Thanh toán m t cách t đ ng ẻ ề ể ư ế ư ộ ự ộ“Quét th ” do đó hi u qu tăng lên nh ng nh c đi m c a hình th c ẻ ệ ả ư ượ ể ủ ứnày là sinh viên không ch đ ng trong vi c đóng h c phí, ngoài ra đ ủ ộ ệ ọ ểki m tra tình tr ng h c phí c a mình sinh viên ph i lien h v i ngân ể ạ ọ ủ ả ệ ớhang.

- L i ích c a vi c đóng h c phí qua di đ ng: Do ngày nay m ng đi n tho iợ ủ ệ ọ ộ ạ ệ ạ đ c ph sóng r t nhi u n i do đó sinh viên hoàn toàn ch đ ng trong ượ ủ ấ ề ơ ủ ộvi c đóng h c phí c a mình. Vi c ki m tra tài kho n, l ch s đóng h c ệ ọ ủ ệ ể ả ị ử ọphí c a mình r t ti n l i. Đ n gi n ch c n s d ng đi n tho i nh n tin ủ ấ ệ ợ ơ ả ỉ ầ ử ụ ệ ạ ắđ n d ch v thanh toán h c phí c a ngân hang. ế ị ụ ọ ủ

Yêu c u chung đ i v i h th ng đóng h c phí qua m ng di đ ng nh ầ ố ớ ệ ố ọ ạ ộ ưsau:Các cá nhân ph i bi t đ c thông tin h c phí ả ế ượ ọDùng đi n tho i nh n tin đóng h c phíệ ạ ắ ọNg i dùng ph i nh n đ c thông tin ph n h iườ ả ậ ượ ả ồ

1.2 Mô t nghi p vả ệ ụTr c h t sinh viên ph i m tài kho n t i ngân hang. Tài kho n này ướ ế ả ở ả ạ ả

ch a thong tin c a sinh viên: S hi u sinh viên, Thông tin lien l c. Đ ng th i ứ ủ ố ệ ạ ồ ờtài kho n này dung đ thanh toán h c phí khi sinh viên g i ti n vào.ả ể ọ ử ề

Cách th c tính h c phí: Tr ng sẽ t ng h p thong tin h c t p c a sinh ứ ọ ườ ổ ợ ọ ậ ủviên: S môn h c, s tín ch h c ph n, s tín ch th c t p, s tín ch t ố ọ ố ỉ ọ ầ ố ỉ ự ậ ố ỉ ựh c….T đó tr ng sẽ t ng h p đ a ra m c h c phí cho t ng sinh viên. Đ ng ọ ừ ườ ổ ợ ư ứ ọ ừ ồth i tr ng sẽ g i thông tin này cho ngân hàng, do đó ngân hàng sẽ d a vào ờ ườ ử ựm c h c phí này đ thu ti n h c phí c a sinh viên.ứ ọ ể ề ọ ủ

N p h c phí: Vi c đóng h c phí c a sinh viên đ c chia làm ba đ t khác ộ ọ ệ ọ ủ ượ ợnhau, m i đ t thu 1/3 h c phí c a sinh viên. N u đ t 1 sinh viên ch a đóng thìỗ ợ ọ ủ ế ợ ư

Page 27: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

h c phí sẽ đ c d n vào l n 2. T ng t l n 2 ch a đóng sẽ đ c d n vào l n ọ ượ ồ ầ ươ ự ầ ư ượ ồ ầ3.

X lý thông tin sau đóng h c phí: Sau khi thu h c phí ngân hang sẽ g i ử ọ ọ ửthông tin đóng h c phí cho tr ng. Tr ng sẽ căn c vào k t qu này đ x lý ọ ườ ườ ứ ế ả ể ửh c t p ti p theo. ọ ậ ế

2. Đ c t yêu c u ph n m mặ ả ầ ầ ề

2.1 Đ c t ch c năngặ ả ứChương trình yêu cầu phải có đầy đủ các chức năng sau:

- Ch c năng đăng ký (Register)ứ

Thu c ộtính

Mô tả

T ng ổquát

Tr ng thái: proposed u tiên: Lowạ ƯStereotype: << Functional>> Đ khó : MediumộPh m vi: Public ạCh c năng này cho phép ng i dung đăng ký m t tài kho nứ ườ ộ ả trong h th ng ệ ốN i dungộHinh 4: Đ c t ch c năng đăng kýặ ả ứ

- Ch c năng đăng nh p (Login)ứ ậ

Thuộc tính

Mô tả

T ng quátổ Tr ng thái: proposed ạ

u tiên: MediumƯtype: << Functional>>

Đ khó : Mediumộ Ph m vi: Public ạ

Ch c năng này cho phép ng i dùng đăng ứ ườnh p vào h th ng đ th c hi n các d ch v ậ ệ ố ể ự ệ ị ụđóng h c phí. ọ

N i dungộ

Hinh 5: Đ c t ch c năng đăng nh pặ ả ứ ậ

- Ch c năng đóng h c phí (Paying Tuition)ứ ọ

Thu c ộ Mô tả

Page 28: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

tính

T ng ổquát

Tr ng thái: proposed u tiên: Highạ Ưtype: << Functional>> Đ khó : Highộ Ph m vi: Public ạ

Ch c năng này cho phép ng i dùng đóng h c phí thong ứ ườ ọqua h th ng liên k t v i ngân hàng. ệ ố ế ớ

N i dungộ

Hinh 6: Đ c t ch c năng Đóng h c phíặ ả ứ ọ

- Ch c năng ki m tra h c phí (Tuition Checking) ứ ể ọ

Thu c ộtính

Mô tả

T ng ổquát

Tr ng thái: proposed u tiên: Highạ Ưtype: << Functional>> Đ khó : Highộ Ph m vi: Public ạ

Ch c năng này cho phép ng i dùng ki m tra s h c phí ứ ườ ể ố ọcòn l i. ạ

N i dungộ

Hinh 7: Đ c t ch c năng Ki m tra h c phíặ ả ứ ể ọ

- Ch c năng ki m tra l ch s đong h c phí (Tuition History)ứ ể ị ử ọ

Thu c ộtính

Mô tả

T ng ổquát

Tr ng thái: proposed u tiên: Highạ Ưtype: << Functional>> Đ khó : Highộ Ph m vi: Public ạ

Ch c năng này cho phép ng i dùng ki m tra l ch s đóng ứ ườ ể ị ửh c phí c a mình: Ngày, gi , s ti n… ọ ủ ờ ố ề

N i dungộ

Hinh 8: Đ c t ch c năng L ch s h c phíặ ả ứ ị ử ọ

Page 29: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

2.2 Yêu c u phi ch c năngầ ứ

2.2.1 Tính ti n d ngệ ụCh ng trình ph i d dàng s d ng đ i v i sinh viên, đáp ng các yêu c u t i ươ ả ễ ử ụ ố ớ ứ ầ ốthi u c a d ch v đóng h c phí: Đóng h c phí, ki m tra tài kho n, ki m tra ể ủ ị ụ ọ ọ ể ả ểl ch s giao d ch.ị ử ị

2.2.2 Đ tin c yộ ậChương trình phải đáp ứng độ tin cậy hoàn toàn trong các giao dịch

2.2.3 Giao di nệGiao di n c a ch ng trình ph i d dàng s d ng, phù h p v i sinh viên. ệ ủ ươ ả ễ ử ụ ợ ớ

2.2.3 B o m tả ậCh ng trình ph i đáp ng các yêu c u b o m t v thông tin ng i dùng, ươ ả ứ ầ ả ậ ề ườthông tin tài kho n và thông tin giao d ch.ả ị

Page 30: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

CH NG 3:ƯƠ XÂY D NG NG D NG ĐÓNG H C PHÍ QUA ĐI N Ự Ứ Ụ Ọ ỆTHO I DI Đ NG D A TRÊN N N ANDROID I-TUITIONẠ Ộ Ự Ề 1. Phân tích h th ngệ ố

1.1 Bi u đ Use Case c a h th ngể ồ ủ ệ ố

1.1.1 Bi u đ Use Case trên clientể ồ

Hinh 9: Đ c t Use Case cho clientặ ả

Page 31: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

1.1.2 Đ c t UseCase trên Serverặ ả

Hinh 10: Đ c t Use Case cho Serverặ ả

Page 32: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

1.2. Bi u đ tr ng thái c a h th ngể ồ ạ ủ ệ ố

Hinh 11: Bi u đ tr ng thái các ch c năngể ồ ạ ứ

Page 33: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

1.3 Bi u đ tu n t c a h th ngể ồ ầ ự ủ ệ ố

1.3.1 Ch c năng đăng ký (Register)ứ

Hinh 12: Bi u đ tu n t ch c năng đăng kýể ồ ầ ự ứCh c năng đăng ký cho phép khách đăng ký m t tài kho n v i h th ng. Tài ứ ộ ả ớ ệ ốkho n này ph i có ít nh t 6 ch cái, không ch a ký t đ c bi t, không ch a ả ả ấ ữ ứ ự ặ ệ ứd u cách.ấ

1.3.2 Ch c năng đăng nh p (Login)ứ ậ

Page 34: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 13: Bi u đ tu n t ch c năng đăng nh pể ồ ầ ự ứ ậCh c năng đăng nh p ch dành cho ng i dung đã đăng ký v i h th ng. Sau ứ ậ ỉ ườ ớ ệ ốkhi ng i dung đăng nh p, c a s ch a các d ch v đóng h c phí đ c hi n ườ ậ ủ ổ ứ ị ụ ọ ượ ểth .ị

1.3.3 Ch c năng đóng h c phí (Paying tuition)ứ ọ

Page 35: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 14: Bi u đ tu n t ch c năng đóng h c phíể ồ ầ ự ứ ọCh c năng đóng h c phí cho phép sinh viên thanh toán h c phí thông qua vi c ứ ọ ọ ệchuy n kho n ngân hang. ể ả

1.3.4 Ch c năng ki m tra h c phí (Tuition Checking)ứ ể ọ

Page 36: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 15: Bi u đ tu n t ch c năng ki m tra h c phíể ồ ầ ự ứ ể ọCh c năng ki m tra h c phí cho phép ng i dung ki m tra s h c phí còn l i ứ ể ọ ườ ể ố ọ ạc a mình.ủ

1.3.5 Ch c năng ki m tra l ch s h c phí (Tuition History)ứ ể ị ử ọ

Page 37: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 16: Bi u đ tu n t ch c năng ki m tra l ch sể ồ ầ ự ứ ể ị ửCh c năng ki m tra l ch s cho phép ng i dung ki m tra thông tin các l n ứ ể ị ử ườ ể ầđóng h c phí c a mình: Ngày, gi , s ti nọ ủ ờ ố ề

1.4. Bi u đ đ l p cho các ch c năng trong h th ngể ồ ồ ớ ứ ệ ố

Page 38: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

1.4.1 Ch c năng đăng ký (Register)ứ

Hinh 17: Bi u đ l p ch c năng đăng kýể ồ ớ ứ

1.4.2 Ch c năng đăng nh p (Login)ứ ậ

Hinh 18: Bi u đ l p ch c năng đăng nh pể ồ ớ ứ ậ

Page 39: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

1.4.3 Ch c năng đóng h c phí (Paying tuition)ứ ọ

Hinh 19: Bi u đ l p ch c năng đóng h c phíể ồ ớ ứ ọ

1.4.4 Ch c năng ki m tra h c phí (Tuition Checking)ứ ể ọ

Page 40: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 20: Bi u đ l p ch c năng ki m tra h c phíể ồ ớ ứ ể ọ

1.4.5 Ch c năng ki m tra l ch s h c phí (Tuition History)ứ ể ị ử ọ

Hinh 21: Bi u đ l p module ki m tra l ch s h c phíể ồ ớ ể ị ử ọ2. Thi t k h th ngế ế ệ ố

2.1. T ch c d li uổ ứ ữ ệ

2.1.1 B ng qu n lý ng i dung h th ngả ả ườ ệ ốB ng qu n lý ng i dung h th ng dung đ truy xu t, ghi d li u vào ả ả ườ ệ ố ể ấ ữ ệ

khi đăng nh p, đăng ký ng i dung m i.ậ ườ ớ

Tên b ngả Tbl_user_account – Tài kho n ng i dùngả ườÝ nghĩa L u d các thông tin v tài kho n ng i dùngư ữ ề ả ườ

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép r ngỗ

Ý nghĩa

USERNAME varchar 30Không

Tên tài kho n đăng nh pả ậ

PASSWORD varchar 50Không

M t kh u đã mã hóa md5ậ ẩ

CSDL - B ng tài kho n ng i dùngả ả ườ

2.1..2 B ng qu n lý tin nh n h th ngả ả ắ ệ ố

Page 41: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Tên b ngả Tbl_mesage

Ý nghĩa L u tr các tin nh n c a h th ngư ữ ắ ủ ệ ố

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép r ngỗ

Ý nghĩa

MESSAGE_ID Bigint 4Không

Mã tài kho n -> Khóa chính , s t đ ngả ố ự ộ đ c t o ra trong SQLượ ạ

TO Varchar 30Không

Đ a ch đ nị ỉ ế

MESSAGE Varchar 100 Có N i dung tin nh nộ ắ

DATE DATEKhông

Ngày tin nh n g i điắ ử

TIME TIMEKhông

Gi tin nh n g i điờ ắ ử

CSDL - b ng l u tr tin nh n h th ngả ư ữ ắ ệ ố

Page 42: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

2.1..3 B ng qu n lý tài kho n ngân hangả ả ả

B ng này dung đ truy xu t thong tin, ki m tra trong quá trình đóng h c phí, ả ể ấ ể ọki m tra l ch s …ể ị ử

Tên b ngả Tbl_bank_account – Tài kho n ngân hàngảÝ nghĩa L u d các thông tin chính v tài kho n ngân hàngư ữ ề ả

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép r ngỗ

Ý nghĩa

BANK_ID varchar 30Không

Tên tài kho n đăng nh pả ậ

PASSWORD varchar 50Không

M t kh u đã mã hóa md5ậ ẩ

MONEY Float S ti n ng i dung n p vào ngân hàngố ề ườ ạ

CSDL – B ng tài kho n ngân hangả ả

Tên b ngả Tbl_profile

Ý nghĩa L u tr các thong tin c a tài kho n ngân hàngư ữ ủ ả

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép r ngỗ

Ý nghĩa

BANK_ID Varchar 30Không

Mã tài kho n -> Khóa chính , s t đ ngả ố ự ộ đ c t o ra trong SQLượ ạ

STUDENT_ID Varchar 30Không

S hi u sinh viênố ệ

MOBILE Varchar 100 Có S đi n tho i ng i dungố ệ ạ ườFIELD Varchar 50 Có Tr ng thông tinườFIELDNAME Varchar 50 Có Tên hi n th c a tr ng thong tinể ị ủ ườVALUE Varchar 50 Có Giá tr tr ng thong tinị ườ

CSDL – B ng thông tin tài kho nả ả

2.1..4 B ng qu n lý vi c đóng h c phí c a sinh viênả ả ệ ọ ủ

Tên b ngả Tbl_student_history

Ý nghĩa L u tr thong tin l ch s các l n đóng h c phíư ữ ị ử ầ ọ

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép

Ý nghĩa

Page 43: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

r ngỗHISTORY_ID INT 3

Không

Mã l ch s -> Khóa chính , s t đ ng ị ử ố ự ộđ c t o ra trong MYSQLượ ạ

BANK_ID Varchar 30Không

Tài kho n ngân hang ả

TIMES Varchar 100 có S l n đóng h c phíố ầ ọTUITION_FEE FLOAT 50 Có S ti n đóng h c phíố ề ọDATE DATE 50 Có Ngày đóng h c phíọTIME TIME 50 Có Gi đóng h c phíờ ọ

CSDL – B ng qu n lý đóng h c phíả ả ọ

2.1..5 B ng th i h n quy đ nh đóng h c phíả ờ ạ ị ọ

Tên b ngả Tbl_tuition_time

Ý nghĩa L u tr các th i h n đóng h c phí c a sinh viênư ữ ờ ạ ọ ủ

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép r ngỗ

Ý nghĩa

TIME_ID INT 3Không

Mã th i gian -> Khóa chính , s t đ ng ờ ố ự ộđ c t o ra trong MYSQLượ ạ

TIME Varchar 30Không

Tài kho n ngân hang ả

CSDL – B ng l u tr th i h n đóng h c phíả ư ữ ờ ạ ọ

2.1..6 B ng h c phí sinh viênả ọ

Tên b ngả Tbl_student_tuition

Ý nghĩa L u tr thong tin h c phi sinh viên ph i đóngư ữ ọ ả

Tên tr ngườ Ki u d ể ữli uệ

Kích th cướ

Cho phép r ngỗ

Ý nghĩa

TUITION_ID INT 3Không

Mã h c phí -> Khóa chính , s t đ ng ọ ố ự ộđ c t o ra trong MYSQLượ ạ

BANK_ID VARCHAR 30Không

Tài kho n c a sinh viênả ủ

FEE FLOAT Có S ti n h c phí ph i thanh toánố ề ọ ảYEAR DATE Khôn Th i gian c a năm h cờ ủ ọ

Page 44: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

g

CSDL - B ng h c phí sinh viênả ọ

2.2. Thi t k các moduleế ế

2.2.1 Thi t k module đăng kýế ếĐ c tr ng ngoài: ặ ư

Đ u vào: Thông tin ng i dung, m t kh uầ ườ ậ ẩĐ u ra: Đăng ký thành công ho c khôngầ ặ

Page 45: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Đ c tr ng trong:ặ ư

2.2.2 Thi t k module đăng nh pế ế ậĐ c tr ng ngoài: ặ ư

Đ u vào: Tên đăng nh p, m t kh uầ ậ ậ ẩĐ u ra: Đăng Nh p thành công ho c khôngầ ậ ặ

Page 46: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Đ c tr ng trong:ặ ư

2.2.3 Thi t k module đóng h c phíế ế ọĐ c tr ng ngoài: ặ ư

Đ u vào: Tên tài kho n ngân hàng và m t kh uầ ả ậ ẩĐ u ra: Đóng h c phí thành công ho c khôngầ ọ ặ

Page 47: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Đ c tr ng trong:ặ ư

2.2.4 Thi t k module ki m tra h c phíế ế ể ọĐ c tr ng ngoài: ặ ư

Đ u vào: Tên tài kho n ngân hàng và m t kh uầ ả ậ ẩĐ u ra: Thông tin h c phí còn l iầ ọ ạ

Page 48: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Đ c tr ng trong:ặ ư

2.2.5 Thi t k module l ch s h c phíế ế ị ử ọĐ c tr ng ngoài: ặ ư

Đ u vào: Tên tài kho n ngân hàng và m t kh uầ ả ậ ẩĐ u ra: Thông tin h c phí còn l iầ ọ ạ

Page 49: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Đ c tr ng trong:ặ ư

2.3. Thi t k giao di nế ế ệ

2.3.1 Giao di n chính c a ph n m mệ ủ ầ ềKhi s d ng ch ng trình ban đ u ph n m m ITuition sẽ hi n th các menu ử ụ ươ ầ ầ ề ể ịcho ng i dung l a ch n: Đăng ký, đăng nh p ho c thoát.ườ ự ọ ậ ặ

Page 50: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 22: MOCKUP – Giao di n chínhệ

2.3.2 Giao ti p đăng ký (Signup) v i h th ngế ớ ệ ố

Ng i dung th c hi n các thao tác sau:ườ ự ệ- Ch n button signup trong giao di n chínhọ ệ- Đi n các tr ng thong tin trong editTextề ườ- Click submit n u hoàn thành, Cancel n u mu n h y thao tácế ế ố ủ

Hinh 23: MOCKUP – giao di n đăng kýệ

Page 51: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

2.3.3 Giao di n đăng nh p (Login)ệ ậ

Ng i dung th c hi n các thao tác sau:ườ ự ệ- Ch n nút login trong giao di n chínhọ ệ- Đi n các tr ng thong tinh c a tài kho n: Usename, Passwordề ườ ủ ả- Click vào nút login n u mu n đăng nh p, Cancel n u mu n h y thao tácế ố ậ ế ố ủ

Hinh 24: MOCKUP – Giao di n đăng nh pệ ậ

2.3.4 Menu h c phíọSauk hi đăng nh p màn hình h c phí đ c hi n thi ch a các ch c năng nh : ậ ọ ượ ể ứ ứ ưĐóng h c phí, ki m tra h c phí …ọ ể ọ

Page 52: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 25: Menu h c phíọ

2.3.5 Giao di n đóng h c phíệ ọNg i dùng th c hi n các thao tác sau:ườ ự ệ- Nh p s tài kho n ngân hangậ ố ả- Nh p m t kh u tài kho nậ ậ ẩ ả- Click chu t vào nút payingộ

Hinh 26: Giao di n đóng h c phíệ ọ

2.3.6 Giao di n ki m tra h c phíệ ể ọNg i dung click vào nút “Tuition checking” trên menu h c phí.ườ ọ

Page 53: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hinh 27:Giao di n ki m tra h c phíệ ể ọ

2.3.7 Giao di n ki m tra l ch s h c phíệ ể ị ử ọNg i dung click vào nút “Tuition History” trên menu h c phí:ườ ọ

Hinh 28:Giao di n l ch s h c phíệ ị ử ọ

2.4 B o m t trong h th ngả ậ ệ ố

2.4.1 L h ng h th ngỗ ổ ệ ố và đe d aọH th ng đóng h c phí yêu c u tính chính xác và b o m t thông tin. có ệ ố ọ ầ ả ậ

hai l h ng nghiêm tr ng d khai thác:ỗ ổ ọ ễ

Page 54: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

- V n đ xác th c ng i dung: ấ ề ự ườVi c truy n tên đăng nh p và m t kh u trong h th ng đóng h c phí ệ ề ậ ậ ẩ ệ ố ọ

đ c th c hiên theo giao th c nh sau:ượ ự ứ ư Ng i dùng g i (ID, P) cho Host, trong đó P là plaintext password c a ườ ử ủ

ng i dùngườ Căn c vào ID, Host l y t database ra A, là m t bi n th c a password ứ ấ ừ ộ ế ể ủ

c a ng i dùng và salt, là m t chu i ng u nhiên g n li n v i ID c a ủ ườ ộ ỗ ẫ ắ ề ớ ủuser. Host th c hi n m t phép tính trên P (thông th ng là B = H(P, ự ệ ộ ườsalt), trong đó H là m t hàm băm MD5 m t chi u nào đó) đ tính ra B, ộ ộ ề ểr i so sánh A v i B, n u b ng nhau thì ti p theo b c 3, không thì ti p ồ ớ ế ằ ế ướ ếtheo b c 4. ướ

User đ c Host xác th c và c p cho m t session_id. ượ ự ấ ộ Host thông báo l i cho User, và yêu c u làm l i t b c 1.ỗ ầ ạ ừ ướ

Trong giao th c này ứ vấn đề lớn nhất là plaintext password của User bị truyền đi mà không có bất kỳ sự bảo vệ. Việc tấn công vào hệ thống rất dễ dàng như: Man-In-The-Middle hay replay attack...B ng vi c t n công này k t n công có th gi m o l y thông tin c a ng i ằ ệ ấ ẻ ấ ể ả ạ ấ ủ ườdùng, m t kh u. Vi c này sẽ làm cho tính b o m t thông tin c a ng i dùng bậ ẩ ệ ả ậ ủ ườ ị phá h y.ủ- V n đ quy n s d ng các APIấ ề ề ử ụTrong h th ng đóng h c phí qua di đ ng thì vi c truy n thông tin gi a Client-ệ ố ọ ộ ệ ề ữServer đ c th c hi n thông qua các API h tr . Các API này b l i trong vi c ượ ự ệ ỗ ợ ị ỗ ệphân quy n s d ng. ề ử ụGi s :ả ửNg i dùng g i (ID=1, P) cho host. Nh ng n u b ng cách nào đó chúng ta thay ườ ử ư ế ằđ i ID=2 đ g i lên server. N u Server không có c ch phân quy n API sẽ tr ổ ể ử ế ơ ế ề ảv thông tin c a ng i dùng có ID=2 thay vì tr v thông tin c a ng i dùng ề ủ ườ ả ề ủ ườcó ID=1.B ng vi c t n công này k t n công có th vô hi u hóa các phiên đóng h c phí,ằ ệ ấ ẻ ấ ể ệ ọ ho c gi m o đóng h c phíặ ả ạ ọ

2.4.2 Gi i phápả- Xác th c ng i dùngự ườ

Đ kh c ph c v n đ này, gi i pháp đ xu t là: Các thông tin tr c khi ể ắ ụ ấ ề ả ề ấ ướđ c g i đi đ c mã hóa b ng hàm băm m t chi u MD5. Ph ng th c th c ượ ử ượ ằ ộ ề ươ ứ ựhi n nh sau:ệ ư

Ng i dùng g i MD5(ID, P) cho Host, trong đó P là plaintext password ườ ửc a ng i dùng ủ ườ

Trên server chúng ta ki m tra có ng i dùng nào có MD5(ID, P) trùng ể ườv i thông tin g i lên không. N u b ng nhau thì ti p theo b c 3, không ớ ử ế ằ ế ướthì ti p theo b c 4. ế ướ

User đ c Host xác th c và c p cho m t session_id. ượ ự ấ ộ Host thông báo l i cho User, và yêu c u làm l i t b c 1.ỗ ầ ạ ừ ướ

- V n đ quy n s d ng các APIấ ề ề ử ụ

Page 55: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Đ kh c ph c l i phân quy n c a các API, ph i có c ch làm cho các ể ắ ụ ỗ ề ủ ả ơ ếAPI t ki m tra quy n c a mình. Đ làm đi u này chúng ta có th thêm tham ự ể ề ủ ể ề ểs cho các API: Thêm m t string ng u nhiên khó đoán cho m i ng i dùng. ố ộ ẫ ỗ ườTrong h th ng đóng h c phí này m t kh u c a ng i dùng sẽ dùng đ ki m ệ ố ọ ậ ẩ ủ ườ ể ểtra cho các API.

3. Cài đ t ng d ngặ ứ ụĐể cài đặt ứng dụng trên điện thoại di động, yêu cầu điện thoại sử dụng hệ điều hành Android và có kết nối được với internet bởi vì tất cả các giao dịch đều thông qua môi trường internet. Dưới đây là các cách cài đặt ứng dụng:

Cách 1: Android Market

Cách này là đơn giản nhất, chỉ cần kết nối điện thoại vào mạng (GPRS, WiFi), chạy ứng dụng Market và chọt vào ứng dụng cần cài, chọt vào Install để cài.

Cách 2: Cài đ t thông qua AppsInstallerặ

- Trên điện thoại Android vào Market tìm và cài ứng dụng AppsInstaller.

- Chép file ITuition.apk vào thẻ nhớ.

- Trên điện thoại chạy ứng dụng AppsInstaller, chương trình này sẽ tự tìm các file ITuition.apk và để nghị bạn cài vào. Chọn install sau đó hoàn tất.

Page 56: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Cách 3: Cài đ t thông qua ch ng trình qu n lí fileặ ươ ả

Cách này tương tự cách 2 có điều mình sẽ dùng chương trình quản lý file thay cho AppInstaller.

- Trên điện thoại Android vào Market tìm và cài ứng dụng OI File Manager (Free).

- chép sẳn file ITuition.apk vào thẻ nhớ.

- Trên điện thoại chạy ứng dụng OI File Mangager, tìm đến đường dẫn chứa file .apk, click vào nó là xong.

Lưu ý: phải vào Setting -> Applications -> check vào ô Unknown sources (cho phép cài đặt các ứng dụng không trong Market)

Cách 4: Cài các ng d ng Java di đ ngứ ụ ộ

- Trên điện thoại Android vào Market tìm và cài ứng dụng J2Me MIDP Runner.

- Chạy ứng dụng J2Me MIDP Runner lên.

- Trong ô Add jad url ta nhập vào địa chỉ chương trình java di động cần cài vào. ấm nút Add jad url, chờ tí, chọt Install nữa là xong. 

Page 58: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

4. Thi t k ki m thế ế ể ử

4.1 Ki m th Module đăng kýể ử

Mã Đ u vàoầ Đ u raầ K t qu mong đ iế ả ợDK01 Tên đăng nh p =123456ậ

M t kh u = 1234567ậ ẩHoàn t t MK =1234567ấ

Đăng ký thành công Đăng ký thành công

DK02 Tên đăng nh p =123@ 456ậM t kh u = 1234567ậ ẩHoàn t t MK =1234567ấ

Đăng ký không thành công (Tên đăng nh p không ậch a ký t đ c bi t)ư ự ặ ệ

Đăng ký không thành công

DK03 Tên đăng nh p =123456ậM t kh u = 1234567ậ ẩHoàn t t MK =12345678ấ

Đăng ký không thành công (M t ậkh u và hoàn t t ẩ ấMK ph i gi ng ả ốnhau)

Đăng ký không thành công

DK04 Tên đăng nh p =123456ậM t kh u = 1234567ậ ẩ

Đăng ký không thành công (Tên

Đăng ký không thành công

Page 59: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

Hoàn t t MK =1234567ấ(Tên đăng nh p đã t n t i)ậ ồ ạ

đăng nh p đã t n ậ ồt i)ạ

4.2 Ki m th module đăng nh pể ử ậ

Mã Đ u vàoầ Đ u raầ K t qu mong đ iế ả ợDN01

Tên đăng nh p =123456ậM t kh u = 1234567ậ ẩ

Đăng nh p thành ậcông

Đăng nh p thành ậcông

DN02

Tên đăng nh p =12345689ậM t kh u = 1234567ậ ẩ

Đăng nh p không ậthành công (Không t n t i ng i dùng ồ ạ ườnày)

4.3 Ki m th module đóng h c phíể ử ọ

Mã Đ u vàoầ Đ u raầ K t qu mong đ iế ả ợ

Page 60: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

DP01 Tên tài kho n =thiensonảM t kh u = 1234567ậ ẩ

Đóng h c phí ọkhông thành công (M t kh u sai)ậ ẩ

Đăng nh p thành ậcông

DP02 Tên tài kho n = thiensonảM t kh u = lethiensonậ ẩS ti n hi n có: 3e6ố ề ệT ng h c phí: 3e6ổ ọL n đóng: 1ầ

Đóng h c phí ọthành công

Đóng h c phí ọthành công

DP03 Tên tài kho n = thiensonảM t kh u = lethiensonậ ẩS ti n hi n có: 3ố ề ệ e5T ng h c phí: 2e6ổ ọL n đóng: 1ầ

Đóng h c phí ọkhông thành công (Không đ ti n)ủ ề

Đóng h c phí ọkhông thành công

DP04 Tên tài kho n = thiensonảM t kh u = lethiensonậ ẩS ti n hi n có: 2ố ề ệ e6

T ng h c phí: 3e6ổ ọL n đóng: 2ầL n 1 ch a đóngầ ư

Đóng h c phí ọthành công

Đóng h c phí ọthành công

DP05 Tên tài kho n = thiensonảM t kh u = lethiensonậ ẩS ti n hi n có: 2ố ề ệ e6

T ng h c phí: 3e6ổ ọL n đóng: 3ầL n 1,2 ch a đóngầ ư

Đóng h c phí ọkhông thành công (Không đ ti n)ủ ề

Đóng h c phí ọkhông thành công (Không đ ti n)ủ ề

4.4 Ki m th module ki m tra h c phí và l ch s h c phíể ử ể ọ ị ử ọ

Mã Đ u vàoầ Đ u raầ K t qu mong đ iế ả ợ

DN01 Tên tài kho n =thiensonảM t kh u = 1234567ậ ẩ

Sai m t kh u tàiậ ẩ kho nả

Sai m t kh u tàiậ ẩ kho nả

DN02 Tên tài kho n = thiensonảM t kh u = lethiensonậ ẩ

Thông tin h c phíọ Thông tin h c phíọ

Page 61: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

K T LU NẾ Ậ

Sau một quá trình nghiên cứu và tìm hiểu, đồ án đã đề xuất ra một giải pháp cho vấn đóng học phí qua điện thoại di động dựa trên nền tảng Android. Trong quá trình triển khai, bước đầu cho kết quả đúng đắn về các chức năng của hệ thống.

Các kết quả cụ thể mà đồ án đạt được:

- Tìm hiểu về hệ điều hành Android

- Xây dựng ứng dụng demo đóng học phí qua điện thoại di động: Phân tích, thiết kế, cài đặt, kiểm thử chương trình.

- Giải quyết hai vấn đề bảo mật: Xác thực người dùng và lỗi API của service

Tuy nhiên do trong khuôn khổ đồ án và thời gian có hạn nên có một số vấn đề em làm chưa tốt:

- Việc triển khai bảo mật cho hệ thống còn hạn chế: Cơ chế xác thực người dùng còn đơn giản

- Việc triển khai hệ thống thật với nhiều người dùng chưa được tiến hành

Hướng phát triển của đồ án:

- Xây dựng cơ chế bảo mật wireless

- Xây dựng cơ sở hạ tầng khóa công khai PKI với các chức năng: Tạo và xác nhận chữ ký điện tử, đăng ký và xác nhận người dùng mới, cấp chứng nhận cho người dùng mới.

Page 62: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tài Liệu …dulieu.tailieuhoctap.vn/.../file_goc_774708.docx · Web viewỨng dụng cũng có thể khởi tạo trình receivers

TÀI LI U THAM KH OỆ Ả

1. Bertrand Meyer: Object-Oriented Software Construction, second edition, Prentice Hall, January 1997.

2. Bertrand Meyer: Eiffel: The Language, Prentice Hall, 1991.

3. Bertrand Meyer: Object-Oriented Software Construction, second edition, Prentice Hall, January 1997.

4. Bertrand Meyer. Sequential and Concurrent Object-Oriented Programming, in TOOLS 2, (Technology of Object-Oriented Languages and Systems, Paris, 23-26 June 1990.

5. Collins-Sussman B., Fitzpatrick B. W., Michael Pilato C.: Version Control with Subversion.

6. Carmel, E. Global Software Teams. Prentice Hall, 1999.

7. E. Carmel and R. Agarwal. Tactical approaches for alleviating distance in global software development. IEEE Software, 18(2), 2001.

8. Information Technology Promotion Agency. Skill Standards for IT Professionals 3.0. 2009

9. Ed Burnette, Hello Android, 2009.