Mục lục
Ờ Ả Ơ L I C M N
ấ ướ ớ Ngày nay, v i th i k c ờ ỳ ông nghi p hệ ệ óa – hi n đ i h ạ óa đ t n c th ì công
ự ấ ờ ố ộ ọ ngh thệ ông tin th t s tr th ậ ự ở ành m t lĩnh v c r t quan tr ng trong đ i s ng con
ng i.ườ
ự ứ ụ ể ề ộ ể Sau m t tháng tìm hi u đ tài “Tìm hi u Android và xây d ng ng d ng trên
ộ ự ế ể ạ ượ ế ế ả mobile”, em đã hoàn thành ti n đ d ki n. Đ đ t đ c k t qu này, em đã n ỗ
ự ệ ậ ờ ượ ấ ề ự ỡ ồ ự l c th c hi n và đ ng th i cũng nh n đ ủ c r t nhi u s giúp đ , quan tâm, ng
1
ầ ạ ộ ủ h c a các th y cô b n bè và gia đình.
ả ơ Đ hoể àn thành đ tề ài này trư c h t t ớ ế ôi chân thành c m n Th y ầ Lê Quốc
ẳ ờ ơ Tuấn trong khoa công ngh thệ ông tin trư ng cao đ ng Bách Việt cùng c quan
ệ ạ ố ợ ự ậ ố ệ ự ậ th c t p đ ề ã t o đi u ki n gi úp đ tỡ ôi hoàn thành t t đ t th c t p t t nghi p n ày.
ấ ố ắ ệ ừ ề ồ Tuy b n thả ân đã r t c g ng t ìm hi u tể ài li u t nhi u ngu n th ông tin
ư ư ố ế ủ khác nhau nh là giáo trình, sách ,báo,google,...Cũng nh v ể n hi u bi t c a m ình
ữ ộ ỏ v đ tề ề ài nh ng n i dung đ t ề ài không sao tránh kh i thi u s ế ót.
ế ủ Kính mong đư c s đ ợ ự óng góp ý ki n c a qu ý Th y ầ Cô đ tể ôi có th hoể àn
ệ ở ữ ắ ể ờ ơ thi n h n v b ề áo cáo và là c sơ v ng ch c đ sau n ày ra trư ng l àm vi c.ệ
ả ơ Tôi xin chân thành c m n!
TP.HCM , ngày 24 tháng 06 năm
2
2017
L I MỜ Ở Đ UẦ
ể ủ ệ Hi n nay, s ph ự át tri n c a C ông ngh Thệ ông tin ở ướ n c ta đang b ướ ào c v
ớ ớ ể ộ ứ ụ ọ ệ th i kờ ì m i v i vi c tri n khai r ng r ãi các ng d ng tin h c cho c ác t ch c v ổ ứ à
ề ộ xã h i. Kh ông ai còn nghi ng gờ ì v vai tr ò c a Củ ông ngh Thệ ông tin trong đ iờ
ặ ủ ư ậ ọ ọ ỹ ố s ng, trong khoa h c k thu t, kinh doanh, cũng nh trong m i m t c a x ã h i,ộ
ả ố ớ ngay c đ i v i m t c ộ á nhân.
ừ ướ ộ ố ủ Công ngh Thệ ông tin đang t ng b c đi v ào cu c s ng c a ch úng ta nh mư tộ
ườ ạ ồ ấ ớ ự ể ủ ấ ướ ng i b n đ ng h ành, nó có vai trò r t l n trong s ph át tri n c a đ t n c v à
ờ ố ủ ườ trong đ i s ng c a con ng i.
ớ ỏ ủ ộ ứ ụ ệ ạ Và sau đây tôi xin gi i thi u v i c ớ ác b n m t ng d ng nh c a c ông
ộ ố ngh thệ ông tin vào trong cu c s ng:
ể ả ấ ờ ờ Đ gi m th i gian, chi ph í và l u trư trữ ên gi y t ệ trong vi c qu n l ả ý nhân
ể ạ ơ viên t i ạ Công Ty và đ giể úp các b n hi u h n v ề nền tảng ngôn ng ữ Android OS
ọ ế ố ớ ơ ở ữ ệ web nên tôi đã ch n đ t k t n i v i c s d li u ề ài : “Thiết kế ứng dụng quản
lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM trên Mobile” d aự
trên n n ề công cụ lập rìnhAndroid Studio.
ộ ụ ậ Android Studio là m t phi ên b n c a b c ả ủ ộ ông c l p tr ình, cho phép ngư iờ
ế ứ ậ ữ ậ dùng ti p c n nhanh c ách th c l p tr ình trên môi trư ng ờ Android. Nh ng ai đ ã
ữ ấ ộ ừ t ng quen thu c v i ớ AndroidOS thì tìm th y nh ng t ính năng tr giợ úp m i vớ à các
ụ ậ ệ ả công c l p tr ình hi u qu . Ng ườ ùng m i lớ àm quen v i ớ Android Studio cũng i d
ủ ượ có th lể àm ch đ c m t c ộ ách d dễ àng.
ằ ả ờ ẹ ứ ả ộ Nh m gi m th i gian v à nh m lằ àm gi m nh s c lao đ ng th c ủ ông, giúp
ệ ệ ơ ự chúng ta th c hi n m t c ộ ách nhanh chóng, hi u qu v ả à chính xác h n, làm gi mả
ấ ờ ứ ớ ượ b t đ ệ ư c vi c l u tr ữ ông tin gi y t th , tra c u v à tìm ki m ế quản lí thông tin
nhân viên trong doanh nghi p.ệ
ủ ề ụ ● M c đích c a đ tài:
ỗ ợ ườ ử ụ ứ ế ộ H tr ng ệ d ng tra c u thông tin tuy n xe m t cách hi u i s
ệ ệ ả ậ ườ ặ qu .Nhanh chóng và thu n ti n đ c bi c trên S.mast phone Tìm đ ằ ng đi b ng
3
ộ ố ư ỗ ợ ườ ử ụ ố google maps m t cách t ầ i u. Góp ph n h tr ng i s d ng trong thành ph và
ế ạ ọ ườ ử ụ ể ậ ngo i thành. Khuy n khích m i ng ằ i s d ng và v n chuy n hàng hóa b ng
ứ ụ ng d ng.
ấ ế ủ ề ● Tính c p thi t c a đ tài:
ệ ề ấ ạ ườ ử ụ ệ Hi n tr ng ngày nay có r t nhi u ng i s d ng xe giao hàng,vi c tìm
ế ế ườ ề ế ạ ả ề ki m thông tin v các tuy n và đ ng đi còn nhi u h n ch (ph i xem thông tin
ạ ạ ạ ả ồ ngay t ố i tr m hay b n đ xe Thành Ph và Ngo i Thành khó s d ng ử ụ ).
ả ● H ng gi ướ ế i quy t:
ế ỗ ợ ườ ử ụ ậ ượ ệ ứ ụ ộ ừ Vi t ra m t trang ng d ng h tr ng i s d ng nh n đ c l nh t Web
ỉ ơ ể ể ế ệ ấ ộ ị ề v đ a ch ,đ n hàng,đi m xu t phát và đi m đ n m t cách hi u qu , ả nhanh
ễ ử ụ ả ơ chóng,đ n gi n và d s d ng.
ươ ứ ● Ph ng pháp nghiên c u:
Ứ ướ ự ơ ế ệ ả ậ ấ ườ ụ ng d ng h ng đ n s đ n gi n và thu n ti n nh t cho ng i dùng
ể ệ ề ế ả ầ ờ ườ ủ ồ đ ng th i th hi n đ y đ thông tin v k t qu ng ụ ố Ứ i dùng mu n. ng d ng
ế ể ả ượ đ c vi t trên n n ề AndroidOS và SQL SEVER SQL LITE Đ gi ế ấ i quy t v n
ế ố ạ ớ ạ ứ ụ ệ ượ ề ề ệ đ v vi c h n ch t i đa vi c làm m i l i ng d ng vì trang web đ c nhúng
ớ ượ ỗ ầ ả ạ ố ả ớ ờ thêm google v i l ng hình nh khá l n m i l n t ề i t n khá nhi u th i gian i l
● Thu n l ậ ợ i:
ệ ạ ờ ạ ượ ể ề ẽ Đ c phát tri n trong th i đ i có nhi u công ngh m nh m và nhanh
ả ế ượ ề ố ộ chóng giúp gi i quy t đ ồ c các tình hu ng trong đ tài nhanh chóng, c ng đ ng
ẽ ạ ạ ả ế ượ ấ ề m ng m nh m giúp gi i quy t đ c v n đ khó khăn.
ẽ ủ ồ ố ề ạ ả ớ Google map api v3 b n đ s hóa m nh m c a google v i nhi u công c h tr ụ ỗ ợ
ự ư ể ả ầ ồ xây d ng cũng nh phát tri n b n đ hàng đ u.
● Khó khăn:
ượ ừ ả ồ ơ ở ữ ệ Không có ngu n c s d li u ph i vay m n t ư trang web khác nh ng
ượ ầ ứ ữ ệ ể ẫ ớ ủ theo cách th công và l ế ng d li u quá l n d n đ n ph n c ng không th đáp
ứ ượ ể ệ ườ ế ườ ủ ng đ c. Không th can thi t vào đ ng tuy n đ ng c a “Google map api v3”
ế ề ệ ậ ẫ d n đ n nhi u khó khăn trong vi c tìm ra thu t toán.
ệ ự Vi c lệ àm đ tề ài s rẽ èn luy n cho sinh vi ên t nghi ên c u, nứ âng cao trình đ vộ à
ệ ề ề ạ làm vi c theo nh óm, t o ti n đ cho sinh vi ên sau này khi đi làm.
ế ề ặ ư ờ M c dặ ù r t c g n ạ ấ ố ắ g nh ng do h n ch v m c th i gian v à trình đ nộ ên đ tề ài 4
ữ ế ỏ không tránh kh i nh ng thi u so át mong Th y vầ à các b n thạ ông c m. ả
ế ủ ầ Mong đ ượ ự óng góp ý ki n c a Th y v c s đ à các b n.ạ
TP.HCM ,ngày 24 tháng 06 năm 2017
Ớ
ng 1 GI
Ch
Ệ I THI U C
ÔNG TY
ươ 1.CÔNG TY TNHH PHẦN MỀM BSM
ể ủ ử ị 1.1 L ch s hình thành và phát tri n c a công ty:
c v công ty:
1.1 S l Tên đ y đ : ơ ượ ề ầ ủ CÔNG TY TNHH PHẦN MỀM BSM .
Ố Ồ THÀNH PH H CH Í MINH
ụ ở ạ ầ ậ Tr s ch ính: T ng 3A TN Global Tower, 12 Ph m Đ ình Toái, Qu n 3,
TP.HCM
ĐT: 08 2218 0468FAX:84 8 39433702
Email: thanhbinh@bsm.com.vn
Website : www.bsm.com.vn
ế ố Mã s thu : 0312556730
HÀ N IỘ
ầ ố ị ỉ ườ ưở ậ Đ a ch : T ng 3, 193 Ph Trich Sai, Ph ng B i, Qu n T ây H , Hồ à
N i ộ
ệ ạ ộ Đi n tho i di đ ng : 0932333828
Email : ducphong@bsm.com.vn
Website : www.bsm.com.vn
ề ầ ượ ậ 1.2 Quá trình hình thành và phát tri nể Công ty TNHH Ph n M m BSM đ c thành l p năm 2006.
ề ẩ ầ ả Năm 2006, Công ty TNHH Ph n M m BSM cho ra s n ph m đ u
ề ầ ả ầ tiên là ph n m m qu n lý kho WMS.
ề ầ ở ố Năm 2013, Công ty TNHH Ph n M m BSM đã tr thành đ i tác
ế ượ ủ chi n l c c a IBM.
ề ầ ạ ố ở Năm 2015, Công ty TNHH Ph n M m BSM tr thành đ i tác b c
5
ớ v i Honeywell.
ầ ế ề Đ n năm 2016, Công ty TNHH Ph n M m BSM là thành viên c a
ổ
ầ ễ ệ ễ ậ
ậ ượ
ậ ủ ữ
ệ ờ ỳ ộ ổ c thành l p vào ngày 14 tháng 05 năm 2002, là thành ầ ư ư ộ ệ
i Vi ệ ầ ạ ố ủ ở ữ ủ ấ ị
ệ ụ ễ ậ ị ậ
ệ ư ự ụ ệ ể ụ ụ
ệ ả
ệ ơ
ệ ấ ả ợ ố
ẩ ả ệ
ệ ề t Nam và Th Gi
i Vi ữ ế ầ ệ ả ả ầ ấ ượ i pháp ph n m m hi u qu và ch t l ng trong các
ủ ầ Công ty C Ph n Công Ngh Vi n Thông Sài Gòn (SaigonTel), khi mà ắ ầ Vi t Nam b t đ u th i k h i nh p. Công ty C Ph n Vi n Thông Sài Gòn (SaigonTel) đ ậ Sài Gòn (SGI) – m t trong nh ng t p đoàn t viên c a T p đoàn Đ u t ả t Nam, ch s h u c a 38 Khu Công Nghi p tr i dài nhân hàng đ u t ụ ạ ầ trên toàn qu c, hi n đang cung c p các d ch v h t ng, d ch v vi n thông cho các Khu Công Nghi p trong T p đoàn SGI. SaigonTel t p trung ứ vào xây d ng, phát tri n và đ a các ng d ng công ngh thông tin ph c v cho công vi c qu n lý, kinh doanh. Ngoài nhóm khách hàng FDI (Foreign ị Direct Investment) trong các Khu Công Nghi p, SaigonTel và các đ n v ị thành viên hi n đang là đ i tác h p tác/ nhà cung c p các s n ph m/ d ch ấ ạ ụ ễ v vi n thông và công ngh thông tin cho các nhà m ng/ hãng s n xu t ầ ạ ớ i. Công ty TNHH Ph n M m BSM hàng đ u t ề ấ cung c p nh ng gi lĩnh v c: ự
ệ ố H th ng qu n l ả ý Kho bãi WMS
ệ ố ả H th ng Qu n l ả ý Tài s n AMS
ệ ố ể ậ H th ngqu n l ả ý v n chuy n TMS
ệ ố ả ấ H th ng qu n l ả ý s n xu t MMS
Qu n lả ý quan h khệ ách hàng CRM
ồ ự ả ế ậ ạ ấ L p k ho ch ngu n l c s n xu t
ự ộ T đ ng ho á và t ố ư óa i u h
ứ ỗ Qu n lả ý chu i cung ng
ậ ầ Gi i phả áp h u c n
ệ Qu n lả ý Gi i phả ệ áp B nh vi n
̀ ̀ ̀ ̣ ̉ ́ư 1.3 Tâm nhin va s mang cua công ty
● T m nh ầ ìn
ụ ậ ỗ ự ữ ừ ạ ậ Sáng t o và n l c không ng ng, chuyên môn v ng vàng, liên t c c p nh t
ấ ượ ụ ễ ệ ấ ớ ự thông tin m i nh t áp d ng vào th c ti n công vi c, nâng cao ch t l ả ng s n
ế ố ụ ầ ẩ ạ ọ ị ươ ứ ph m, d ch v và đào t o, đáp ng m i nhu c u k t n i trong t ng lai. Kim ch ỉ
ạ ộ ữ ề ơ nam ho t đ ng: “Luôn gi ni m tin n i khách hàng”.
6
● S m nh ứ ệ
ụ ấ ị ả ệ ớ Cung c p các gói d ch v , gi ạ i pháp CNTT chuyên nghi p v i chi phí c nh
ể ủ ự ậ ở ố ồ tranh. Tr thành đ i tác tin c y, đ ng hành cùng s phát tri n c a khách hàng.
ố ượ ộ ● S l ng lao đ ng
ụ ớ ờ ố ệ V i m c ti êu t o thạ ề êm nhi u vi c l ả ệ àm, chăm lo và c i thi n đ i s ng, thu
ườ ự ượ ữ ộ ộ ạ ậ ủ nh p c a ng i lao đ ng, trong nh ng năm qua l c l ng lao đ ng t i C ông ty
ừ ầ ớ ố ượ ữ đã tăng lên. T nh ng năm đ u m i th ậ ành l p, s l ng c án b nhộ ân viên làm
ệ ạ ơ ế vi c t ị i đ n v ch c ờ ỉ ó ch cỉ ó 10 ngư i, đ n nay con s n ố ày đã lên t ớ ơ 30 i h n
ườ ờ ể ế ụ ể ng i. Trong th i gian t ớ ây, đ ti p t c ph i đ át tri n kinh doanh v à thúc đ yẩ
ể ớ ự ượ ị ộ tri n khai h àng lo t cạ ác d ch v v ụ à d ự án m i, l c l ẽ ế ụ ng lao đ ng s ti p t c
ả ề ố ượ ấ ượ tăng lên c v s l ng v à ch t l ng.
ố ộ ưở ● T c đ tăng tr ng
ớ ở ạ Là đ n vơ ộ ị ẻ tr , năng đ ng v i nhi u ề ý tư ng s áng t o trong kinh doanh v à
ầ ộ v i tớ ôn ch luỉ ặ ôn đ t uy t ín c a Củ ông ty lên hàng đ u, c ng th ộ êm đ i ngũ l ãnh đ o,ạ
ộ ự ạ ượ nhân viên năng đ ng, chuy ên nghi p, ệ BSM đã và đang t o d ng đ c th ươ ng
ủ ệ ạ hi u m nh c a m ình t i ạ khu vực TP.HCM,Hà Nội và trong lĩnh v c ự Công Nghệ
Thông Tin.
ệ ả ờ ộ ● Vi c đ m b o thu nh p v ả ậ à ch đ ch ế ộ ính sách cho ngư i lao đ ng
ề ấ ộ Đây là m t v n đ xuy ên su t, luố ôn đư c lợ ãnh đ o cạ ông ty đ t lặ ên hàng
ờ ố ầ đ u. Đ i s ng c a ủ nhân viên đang làm vi c t ệ ạ BSM Software Corpkhông ng ngừ i
ệ ả ế ộ ả ượ đ c c i thi n, n ợ âng cao.Đư c tham gia c ể ác ch đ b o hi m: BHXH, BHYT,
ượ ưở ề ợ BHTN, đ c h ng c ế ộ ác ch đ ph úc l i xợ ã h i, cộ ác quy n l i kh ác theo đúng
ủ ị ề ươ quy đ nh c a Nh à nư c. Hớ àng năm Công ty đ u cề ỉ ó đi u ch nh tăng l ng v à các
ụ ấ ả ờ kho n ph c p k èm theo cho ngư i lao đ ng ộ không những thế trong những ngày
lễ Công Ty sẽ tổ chức du lịch tham quan.
ự ố ế ủ ườ ọ Công ty luôn trân tr ng s c ng hi n đ óng góp c a ng ộ i lao đ ng, coi đ ó là m tộ
7
ế ố ơ ả ạ ự ứ trong nh ng y u t c b n t o d ng th ành công c a Củ ông ty.
ạ ộ 1.4 Ho t đ ng đo àn th vể à các phong trào khác
ữ ườ Hình 1.1 Phát quà cho nh ng ng ả i có hoàn c nh khó khăn
8
ặ ườ Hình 1.2 Quà T ng cho ng i nghèo
Hinh 1.3 Giúp đỡ bệnh nhân hoàng cảnh khó khăn
9
ơ Hình 1.4 Các trò ch i di công ty t ổ ứ ch c
ệ ạ ộ Hình 1.5 Ho t đ ng văn ngh
10
ộ ổ ứ Hình 1.6 H i thao t ch c cho các nhân viên
ổ ứ ậ Hình 1.7 T ch c sinh nh t cho các nhân viên hàng tháng
ơ ồ ổ ứ Hình 1.8 S đ t ch c công ty
Đại hội đồng Cổ đông:
Đại hội đồng Cổ đông là cơ quan quyết định cao nhất của Công ty,
quyết định phương hướng, nhiệm vụ phát triển của Công ty và lập kế hoạch kinh doanh hàng năm, thảo luận và thông qua bảng tổng kết năm tài chính, bầu, bãi nhiễm thành viên hội đồng quản trị và kiểm soát viên. Quyết định số lợi nhuận trích lập các quỹ, xem xét quyết định giải pháp khắc phục các biến động lớn về tài chính, xem xột các sai phạm của Hội đồng quản trị gây hại cho Công ty.
11
Ban Kiểm soát:
Kiểm tra sổ sách kế toán, tài sản, các bảng tổng kết năm tài chính của công ty và triệu tập Đại hội đồng khi xét thấy cần thiết. Trình Đại hội đồng báo cáo thẩm tra các bảng tổng kết năm tài chính của Công ty, báo cáo về sự kiện tài chính bất thường xảy ra, báo cáo về những ưu khuyết điểm trong quản lý tài chính của Hội đồng quản trị.
Hội đồng quản trị:
Hội đồng quản trị là cơ quan quản lý cao nhất ở Công ty, có toàn
quyền
nhân danh Công ty để quyết định mọi vấn đề liên qua đến mục đích, quyền lợi
của Công ty, chịu trách nhiệm trước Đại hội đồng cổ đông về những sai phạm
điều lệ, vi phạm pháp luật gây thiệt hại cho Công ty. Thành viên Hội đồng quản
trị được hưởng lương hoặc thù lao theo quyết định của Đại hội đồng.
Giám đốc điều hành:
Giám đốc Công ty là người chịu trách nhiệm trước Hội đồng quản trị về toàn bộ công tác tài chính của Công ty theo quyết định của pháp luật, có nhiệm vụ và quyền hạn sau:
Là chủ tài khoản của Công ty mở tại ngân hàng và chịu trách
nhiệm quản lý, sử dụng tài khoản theo đúng quy định của pháp luật.
Lập và ký các kế hoạch kinh doanh hàng năm của Công ty trình Hội đồng quản trị phê duyệt.
Tổ chức thực hiện kế hoạch sản xuất kinh doanh và kế hoạch đầu tư
của Công ty.
Trong các báo cáo quyết toán tháng, quý, năm lên Hội đồng quản trị.Định kỳ hoặc đột xuất bỏo cáo tình hình tài chính của Công ty theo yêu cầu của Hội đồng quản trị hoặc khi Công ty gặp khó khăn về tài chính ảnh hưởng đến việc thanh toán các khoản nợ và nghĩa vụ tài sản khác.
Quyết định kết toán và sử dụng các khoản chờ phân bổ, dự phòng của Công ty.
Phê duyệt kế hoạch thu – chi quỹ phúc lợi và khen thưởng của Công
ty.Duyệt chi toàn bộ các khoản chi của Công ty.
12
Thực hiện các quyền và nghĩa vụ khác được quy định tại điều lệ của Công ty.
Phòng Tổ chức Hành chính tổng hợp:
Bộ phận tổ chức hành chính:
Có nhiệm vụ tuyển dụng lao động, bố trí sắp xếp cán bộ, lái xe để đảm bảo cho hoạt động của Công ty được liên tục, không bị gián đoạn. Ngoài ra, bộ phận này sẽ thực hiện một số công việc mang tính chất hành chính như phụ trách vấn đề liên quan đến công đoàn, đến người lao động.
Bộ phận đào tạo:
Có nhiệm vụ đào tạo kĩ thuật. Tổ chức các khóa học ngắn hạn và dài hạn khác (ví dụ: Lớp học văn hóa doanh nghiệp, Quản trị chất lượng, Đào tạo bồi dưỡng kỹ năng quản lý cho cán bộ).
Phòng Kinh doanh Tiếp thị:
Bộ phận kinh doanh tiếp thị:
Có nhiệm vụ chớnh là mở rộng thị trường nghiên cứu, phân tích thị
trường hiện tại, từ đó có dự báo cho xu hướng tương lai của thị trường để tham
mưu cho giám đốc có những điều chỉnh về chớnh sách kinh doanh cho phù hợp.
Ngài ra, bộ phận cũn cú nhiệm vụ rất quan trọng là chăm sóc khách hàng.
Phòng Kế toán – Tài chính:
Có nhiệm vụ hạch toán kế toán, theo chế độ kế toán – thống kê của
13
Nhà nước, quản lý giám sát mọi hoạt động tài chính của Công ty, giúp Giám đốc trong việc lập kế hoạch tài chính hàng năm, tham mưu giúp giám đốc một số vấn đề lớn trong lĩnh vực tài chính.
Ứ Ơ Ở
Ế
ng 2 KI N TH C C S
ươ Ch Ề
Ổ
ị A. Android và l ch s phát tri n
I. T NG QUAN V ANDROID ể ầ ử ề ả ự ề ở ồ Android là 1 n n t ng ph n m m d a trên mã ngu n m Linux OS (Kernel
ữ ề ầ ộ ả 2.6) cho máy di đ ng, máy tính b ng và nh ng ph n m m trung gian
ệ ề ụ ậ ầ ơ (middleware). Nó không đ n thu n là 1 h đi u hành, 1 công c l p trình hay 1
ề ầ ồ ph n m m trung gian mà nó g m t ấ ả t c .
ệ ề ầ ế ị ầ ự Ban đ u, Android là h đi u hành cho các thi t b c m tay d a trên lõi
ỹ ế ế Linux do công ty Android Inc. (California, M ) thi t k . Công ty này sau đó đ ượ c
ạ ắ ầ ự Google mua l i vào năm 2005 và b t đ u xây d ng Android Platform.
ề ế ố ộ ế ị ầ Và sau ti p, vào cu i năm 2007, thu c v Liên minh thi t b c m tay mã
ủ ở ồ ụ ngu n m (Open Handset Alliance). M c tiêu c a liên minh này là nhanh chóng
ớ ể ứ ố ơ ầ ườ ả ầ ế ổ đ i m i đ đáp ng t t h n cho nhu c u ng ủ i tiêu dùng và k t qu đ u tiên c a
ề ả ượ ế ế ể ụ ầ nó chính là n n t ng Android. Android đ c thi ủ ụ t k đ ph c v nhu c u c a
ấ ế ậ ế ị ầ ả các nhà s n xu t thi t, các nhà khai thác và các l p trình viên thi t b c m tay.
ầ ầ ả Phiên b n SDK l n đ u tiên phát hành vào tháng 11 năm 2007, hãng T
ế ệ ế ạ ầ ố Mobile cũng công b chi c đi n tho i Android đ u tiên đó là chi c TMobile G1,
ự ế ả ầ ộ ề chi c smartphone đ u tiên d a trên n n t ng Android. M t vài ngày sau đó,
ạ ế ụ ố ự ả ắ Google l i ti p t c công b s ra m t phiên b n Android SDK release Candidate
ượ ấ ấ ở ồ 1.0.Trong tháng 10 năm 2008, Google đ c c p gi y phép mã ngu n m cho
14
Android Platform.
ượ ụ ế ộ Khi Android đ ố c phát hành thì m t trong s các m c tiêu trong ki n trúc
ể ươ ứ ụ ượ ớ ủ c a nó là cho phép các ng d ng có th t ng tác đ c v i nhau và có th s ể ử
ạ ầ ừ ử ụ ữ ứ ụ ệ ụ d ng l i các thành ph n t nh ng ng d ng khác. Vi c tái s d ng không ch ỉ
ụ ụ ị ượ ụ ả ượ đ c áp d ng cho cho các d ch v mà nó còn đ c áp d ng cho c các thành
ầ ữ ệ ệ ườ ph n d li u và giao di n ng i dùng.
ố ộ ế ị ầ ượ Vào cu i năm 2008, Google cho phát hành m t thi t b c m tay đ ọ c g i
ể ạ ượ ụ ứ là Android Dev Phone 1 có th ch y đ c các ng d ng Android mà không b ị
ụ ủ ệ ấ ạ ạ ộ ộ ràng bu c vào các nhà cung c p m ng đi n tho i di đ ng. M c tiêu c a thi ế ị t b
ự ệ ệ ể ộ ộ này là cho phép các nhà phát tri n th c hi n các cu c thí nghi m trên m t thi ế ị t b
ệ ề ộ ả ự ể ả ạ ợ ồ th c có th ch y h đi u hành Android mà không ph i ký m t b n h p đ ng
ả ờ ộ ả nào. Vào kho ng cùng th i gian đó thì Google cũng cho phát hành m t phiên v n
ỗ ủ Ở ả ư ả vá l ệ ề i 1.1 c a h đi u hành này. c hai phiên b n 1.0 và 1.1 Android ch a h ỗ
ỏ ợ ế ị ả ử ụ ậ tr softkeyboard mà đòi h i các thi t b ph i s d ng bàn phím v t lý. Android
ư ề ấ ằ ố ị c đ nh v n đ này b ng cách phát hành SDK 1.5 vào tháng T năm 2009, cùng
ộ ố ư ạ ả ẳ ề ớ v i m t s tính năng khác. Ch ng h n nh nâng cao kh năng ghi âm truy n
ậ ụ thông, v t d ng, và các live folder.
15
ế 2.1 Ki n trúc Android
ầ ủ ệ ề ổ Hinh 2.1 Mô hình t ng quát các thành ph n c a h đi u hành Android
ệ ề ượ ể ự ụ ể ạ 2.2 Linux Kernel H đi u hành android đ ạ c phát tr n d a trên h t nhân linux, c th là h t
ề ượ ể ệ ở ớ ướ ả nhân linux phiên b n 2.6, đi u đó đ c th hi n l p d i cùng này. T t c ấ ả
ạ ộ ủ ạ ọ ố ượ ề ượ ự ệ m i ho t đ ng c a đi n tho i mu n thi hành đ c thì đ u đ c th c hi n ệ ở
ứ ấ ấ ở ớ ả ồ ộ ớ m c c p th p l p này bao g m qu n lý b nh (memory management), giao
ứ ế ệ ả ả ậ ầ ớ ế ự ti p v i ph n c ng (driver model), th c hi n b o m t (security), qu n lý ti n
trình (process).
Hinh 2.2 Mô hình Linux kernel
ượ ự ự ư ể Tuy đ c phát tri n d a vào nhân linux nh ng th c ra nhân linux đã đ ượ c
ử ổ ấ ấ ủ ữ ề ể ấ ợ ớ nâng c p và s a đ i r t nhi u đ phù h p v i tính ch t c a nh ng thi ế ị ầ t b c m
ư ạ ử ượ ộ ướ ế ề ộ tay nh h n ch v b vi x lý, dung l ớ ng b nh , kích th c màn hình, nhu
ế ố ạ ầ c n k t n i m ng không dây...
ầ ủ Các thành ph n c a nhân Linux:
ư ệ ể ề ể ậ ữ ị Display Driver : Đi u khi n vi c hi n th lên màn hình cũng nh thu nh n nh ng
ể ủ ề ườ ả ứ ể đi u khi n c a ng i dùng lên màn hình (di chuy n, c m ng...).
ữ ệ ừ ạ ộ ủ ể ề ậ ồ Camera Driver : Đi u ki n ho t đ ng c a camera, nh n lu ng d li u t camera
ả ề tr v .
ề ể ế ị Bluetooth Driver : Đi u khi n thi t b phát và thu sóng Bluetooth.
16
ạ ộ ủ ế ả ổ USB driver : Qu n lý ho t đ ng c a các c ng giao ti p USB.
ể ề Keypad driver : Đi u khi n bàn phím.
ề ệ ị ệ Wifi Driver : Ch u trách nhi m v vi c thu phát sóng wifi.
ề ể ộ ả ệ Audio Driver : đi u khi n các b thu phát âm thanh, gi ạ i mã các tính hi u d ng
ệ ố audio thành tín hi u s và ng ượ ạ c l i.
ụ ệ ệ Power Madagement : Giám sát vi c tiêu th đi n năng.
ệ ọ ả ế ị ớ ư ẻ MSystem Driver : Qu n lý vi c đ c ghi... lên các thi t b nh nh th SD, flash.
ế ố ề ệ ệ ạ ạ ớ ị Binder IPC Driver : Ch u trách nhi m v vi c k t n i và liên l c v i m ng vô
ứ ư ữ ề ế ả ể ả tuy n nh CDMA, GSM, 3G, 4G, E đ đ m b o nh ng ch c năng truy n thông
ự ệ ượ đ c th c hi n.
2.3 Library và Android Runtime ầ ầ ầ Ph n này có 2 thành ph n là ph n Library và Android Runtime
Hình 2.3 Mô hình Library và Android Runtime
2.3.1 Library
ư ệ ề ầ ượ ế ằ ể Thành ph n này có nhi u th vi n đ c vi ầ t b ng C/C++ đ các ph n
ể ử ụ ư ệ ề ượ ậ ộ ố ợ m m có th s d ng, các th vi n đó đ ư c t p h p thành m t s nhóm nh :
ư ệ ự ư ệ ệ ố ẩ Th vi n h th ng (System C library)(Libc) : th vi n d a trên chu n C, đ ượ ử c s
ỉ ở ệ ề ụ d ng ch b i h đi u hành.
ể ỗ ợ ệ ư ệ ề Th vi n Media (Media Libraries) : Có nhi u codec đ h tr vi c phát và
ạ ị ụ ả ạ ghi các lo i đ nh d ng âm thanh, hình nh, video thông d ng.
ư ệ ể ầ ộ Th vi n web (LibWebCore) : Đây là thành ph n đ xem n i dung trên web,
ự ệ ề ể ầ ượ ử ụ đ c s d ng đ xây d ng ph n m m duy t web (Android Browse) cũng nh đ ư ể
ự ỳ ạ ỗ ợ ượ ụ ứ ể các ng d ng khác có th nhúng vào. Nó c c k m nh, h tr đ ề c nhi u công
17
ẽ ư ệ ạ ngh m nh m nh : HTML5, JavaScript, CSS, DOM, AJAX..
ể ả ị Surface Manage: qu n lý hi n th 2D và 3D.
SGL công ngh 2Dệ
ủ ứ ụ ả SQLite : qu n lý database c a ng d ng.
ị ả ể Free Type : dùng cho hi n th nh, font.
ầ ế ậ ứ ụ ị SSL(Secure Socket Layer): T ng thi t l p giao d ch an toàn trên 2 ng d ng trên 1
ổ c ng (socket).
ỗ ợ ư ệ ọ ộ Open GL/EL: h tr th vi n tùy ch n 3D tĩnh và đ ng.
2.3.2 Android runtime
ư ệ ứ ầ ộ ươ ế ằ ữ Ph n này ch a các th vi n mà m t ch ng trình vi t b ng ngôn ng Java
ạ ộ ậ ươ ể ộ ự ư ạ ầ có th ho t đ ng. Ph n này có 2 b ph n t ng t nh mô hình ch y Java trên
ườ ư ệ ứ ứ ấ ớ máy tính th ng. Th nh t là các th vi n lõi (Core Library) , ch a các l p nh ư
ả ộ ứ JAVA IO, Collections, File Access. Th hai là m t máy o java (Dalvik Virtual
Machine).
ặ ượ ộ ứ ữ ư ụ M c dù cũng đ c vi ế ừ t t ủ ngôn ng Java nh ng m t ng d ng Java c a
ượ ằ ạ ệ ề h đi u hành android không đ c ch y b ng JRE(Java Runtime Environment)
ả ằ ả ạ ủ c a Sun (nay là Oracle) (JVM) mà là ch y b ng máy o Dalvik (máy o dalvik đc
ủ ể ạ ầ ề ặ đ t tên sau khi 1 nhà phát tri n ph n m m c a google t o ra nó sau khi đi thăm 1
ự ể ả ố ngôi làng ở ơ ổ n i t tiên ông sinh s ng) do Google phát tri n. máy o davik th c thi
ể ạ ạ ậ ớ ị cái t p tin davik(dex), khác v i java là chuy n sang d ng bytecode. Đ nh d ng này
ớ ố ộ ượ ố ư đ c t i u hóa cho b nh t ể i thi u.
18
2.3.3 Framework
Hinh 2.4 Mô hình Framework
ộ ề ả ể ấ ằ ấ ở 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 các thi t b ph n c ng, thông tin đ a đi m truy
ụ ạ ề ị ế ậ ệ ố ộ ậ c p, các d ch v ch y n n, thi t l p h th ng báo đ ng, thêm các thông báo đ ể
ể ề ể ề ậ ạ ơ các thanh tr ng thái, và nhi u, nhi u h n Nhà phát tri n có th truy c p vào các
ổ ượ ử ụ ứ ế ở ộ API cùng m t khuôn kh đ ứ ụ c s d ng b i các ng d ng lõi. Các ki n trúc 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. C b n
ộ ộ ệ ố ụ ụ ứ ồ ấ ả t ị t c các ng d ng là m t b các d ch v và các h th ng, bao g m:
ợ ấ ộ ậ ả ế ừ ẫ ề View Manage:M t t p h p r t nhi u các View có kh năng k th a l n
ể ế ệ ứ ư ế ầ nhau dùng đ thi ụ t k ph n giao di n ng d ng nh : gridview, tableview,
linearlayout…
ỳ ố ộ ứ ụ ủ ả Activity Manager : Qu n lý các chu k s ng c a m t ng d ng cũng nh ư
ụ ề ể ấ cung c p công c đi u khi n các Activity.
ụ ể ự ệ ệ ấ ạ ư ọ Telephony Manager : Cung c p công c đ th c hi n vi c liên l c nh g i
ệ ạ đi n tho i.
ạ ự ủ ệ ạ ị ị Location Manager : Cho phép xác đ nh v trí c a đi n tho i tho i d a vào
ị ị ầ ệ ố h th ng đ nh v toàn c u GPS và Google Maps.
ự ể ệ ệ ả ị Window Manager : Qu n lý vi c xây d ng và hi n th các giao di n ng ườ i
ư ổ ứ ữ ụ ứ ệ ả dùng cũng nh t ch c qu n lý các giao di n gi a các ng d ng.
ư ể ệ ả ị Notication Manager : Qu n lý vi c hi n th các thông báo (nh báo có tin
ắ ớ nh n, có email m i)
ủ ụ ứ ả ồ Resource Manager : Qu n lý tài nguyên tĩnh c a các ng d ng bao g m các
ữ ầ ả ượ file hình nh, âm thanh, layout, string. (Nh ng thành ph n không đ c vi ế ở t b i
ữ ậ ngôn ng l p trình).
ấ ữ ệ ừ ứ ụ ể Content Provider: cho phép các ng d ng có th truy xu t d li u t các
ứ ẻ ữ ệ ụ ữ ư ặ ẳ ạ ứ ng d ng khác (ch ng h n nh Contacts) ho c là chia s d li u gi a các ng
ụ d ng đó.
19
2.3.4 Application
ớ ứ ế ớ ườ ứ ồ ụ Đây là l p ng d ng giao ti p v i ng ụ i dùng, bao g m các ng d ng
ơ ả ụ ư ứ ượ ề ệ ề ặ ớ nh : Các ng d ng c b n, đ ọ c cài đ t đi li n v i h đi u hành là g i
ệ ệ ạ ắ ả ị đi n(phone), qu n lý danh b (Contacts), duy t web (Browser),nh n tin(SMS),l ch
ệ ả ọ ồ ụ làm vi c (Calendar), đ c email (EmailClient), b n đ (Map), quay phim ch p
ả ứ ụ ượ ư ứ ề nh (camera)... Các ng d ng đ ầ c cài thêm nh các ph n m m ch ng khoán
ơ ừ ể ứ ụ ủ ứ (Stock), các trò ch i (Game), t đi n, các widget các ng d ng c a bên th 3…
ứ ụ ế ẽ ữ ặ Các ng d ng vi t s có nh ng đ c tính sau:
ế ằ ở ộ ầ Vi t b ng Java, ph n m r ng là .apk.
ỗ ứ ụ ượ ả ạ ộ Khi m i ng d ng đ c ch y, nó có m t phiên b n Virtual Machine đ ượ ự c d ng
ụ ụ ể ể ộ ươ lên đ ph c v cho nó. Nó có th là m t Active Program: Ch ng trình có giao
ệ ớ ườ ử ụ ặ ộ ươ ề di n v i ng i s d ng ho c là m t background: ch ạ ng trình ch y n n hay là
ụ ị d ch v .
ệ ề ệ ề ộ ờ ể Android là h đi u hành đa nhi m, đi u đó có nghĩa là trong cùng m t th i đi m,
ề ể ươ ỗ ứ ụ ạ ộ ớ có th có nhi u ch ng trình cùng ch y m t lúc, tuy nhiên, v i m i ng d ng thì
ể ấ ộ ượ ề ạ ự có duy nh t m t th c th (instance) đ ụ c phép ch y mà thôi. Đi u đó có tác d ng
ế ự ạ ệ ố ạ ộ ụ ố ơ ạ h n ch s l m d ng tài nguyên, giúp h th ng ho t đ ng t ứ t h n. Các ng
ượ ề ự ệ ố ứ ư ẽ ấ ụ d ng đ c phân quy n và t ế h th ng s kill n u m c u tiên th p.
ụ ứ ượ ủ ố ườ ử ụ ề ằ ạ ị Các ng d ng đ c gán s ID c a ng i s d ng nh n phân đ nh quy n h n khi
ầ ứ ệ ố ấ ử ụ s d ng tài nguyên, c u hình ph n c ng và h th ng.
ộ ệ ề ệ ề ề ớ ộ ở Android là m t h đi u hành có tính m , khác v i nhi u h đi u hành di đ ng
ụ ủ ứ ượ ề ộ ứ khác, android cho phép m t ng d ng c a bên th ba đ ạ c phép ch y n n. Các
ứ ộ ạ ụ ế ỏ ỉ ượ ng d ng đó ch có m t h n ch nh đó là nó không đ ử c phép s dung quá
ề ề ằ ấ ộ ệ ử ụ ể 5~10% công su t CPU, đi u đó nh n đ tránh đ c quy n trong vi c s d ng
CPU.
ầ ủ B.Các thành ph n c a Android
ầ ủ ươ 1.Thành ph n c a 1 ch ng trình Android
2. Activity và Intent
Activity:
ồ ọ ể ệ ệ ộ ườ ụ ộ M t activity th hi n m t giao di n đ h a ng ộ i dùng. Ví d m t
20
ể ể ễ ể ộ ườ activity có th bi u di n m t danh sách các menu item đ ng i dùng có th ể
ể ể ộ ứ ị ả ụ ử ề ắ ọ ớ ả ch n và có th hi n th nh cùng v i tiêu đ . M t ng d ng g i tin nh n văn b n
ệ ể ử ạ ộ ị ộ ể ể ộ ắ có th có m t ho t đ ng là hi n th m t danh sách các liên h đ g i tin nh n
ạ ộ ứ ế ắ ớ ệ ượ ạ ộ ọ ớ t i, ho t đ ng th hai là vi t tin nh n t i liên h đ c ch n, các ho t đ ng khác
ạ ệ ặ ặ ắ ổ ữ n a là xem l i tin nh n cũ hay thay đ i cài đ t. M c dù chúng làm vi c cùng nhau
ệ ườ ữ ỗ ớ ộ ể ạ đ t o thành m t giao di n ng ộ ậ i dùng, m i activity đ c l p v i nh ng cái khác.
ủ ớ ơ ở ộ ớ ỗ 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 ch m t activity hay nhi u activity. Thông
ườ ộ ượ ư ấ ầ th ố ng, m t trong s các activity đ ả c đánh d u nh là activity đ u tiên ph i
ễ ớ ườ ụ ượ ở ộ ượ đ c trình di n t i ng ứ i dùng khi ng d ng đ c kh i đ ng. Chuy n t ể ừ ộ m t
ượ ệ ằ ờ activity sang activity khác đ ở c hoàn thành b ng cách cho activity hi n th i kh i
ế ế ộ đ ng activity k ti p.
ỗ ượ ư ộ ử ổ ặ ể ẽ ị ườ M i activity đ c đ a ra m t c a s m c đ nh đ v vào. Thông th ng,
ỏ ơ ư ể ằ ầ ử ổ ẽ ấ c a s s l p đ y màn hình, nh ng nó có th nh h n màn hình và n m trên các
ử ổ ổ ể ử ụ ư ộ ụ ộ ử ổ c a s khác. M t activity có th s d ng c a s b sung ví d nh m t popup
ứ ọ ộ ườ ở ữ ủ dialog g i cho m t đáp ng ng i dùng ộ ử ổ ể gi a c a activity, hay m t c a s bi u
ễ ườ ọ ọ ớ ọ ộ ữ di n nh ng cho ng i dùng v i thông tin quan tr ng khi h ch n m t item c th ụ ể
trên màn hình.
ủ ử ổ ượ ự ộ ấ ấ ở N i dung tr c quan c a c a s đ ộ c cung c p b i m t cây phân c p các
ấ ừ ớ ể ả ỗ ộ ố ượ đ i t ẫ ng view d n xu t t ề l p View. M i view đi u khi n m t kho ng hình
ậ ụ ể ử ổ ữ ứ ổ ố ụ ứ ch nh t c th bên trong c a s . View cha ch a và t ch c b c c các view
ữ ứ ẽ ề ể ạ ậ con. Các view lá v trong hình ch nh t mà chúng đi u khi n và đáp ng l i các
ườ ế ở ả ơ ố ộ hành đ ng ng ự i dùng tr c ti p kho ng tr ng này. Do đó, các view là n i mà
ươ ủ ớ ườ ể ể ễ các t ng tác c a activity v i ng ụ ộ i dùng di n ra. Ví d m t view có th hi n th ị
ạ ộ ả ỏ ộ ộ ườ ấ ở ạ m t hình nh nh và kh i t o m t ho t đ ng khi ng ả i dùng nh n vào hình nh
ể ử ụ ộ ố ự ẵ ạ ồ đó. Android có m t s view đã xây d ng s n mà b n có th s d ng – g m có
các buttons, text fields, scroll bars, menu items, check boxes…
ấ ộ ượ ộ ử ổ ủ ặ ằ M t cây phân c p view đ c đ t trong m t c a s c a activity b ng ph ươ ng
ố ượ ứ ở ố ủ th c Activity.setContentView(). Content view là đ i t ng View g c c a cây
21
phân c p.ấ
ự ệ ơ ở ề ạ ộ ị ỉ ờ ủ Class c s Activity đ nh nghĩa m t lo t các s ki n mà đi u ch nh vòng đ i c a
ự ệ ạ ộ ộ ị m t ho t đ ng. Class Activity đ nh nghĩa các s ki n sau đây:
ượ ọ ạ ộ ượ ạ ầ onCreate():Đ c g i khi ho t đ ng đ ầ c t o ra l n đ u tiên.
ượ ọ ạ ộ ữ ớ ở ườ onStart(): Đ c g i khi ho t đ ng tr nên h u hình so v i ng i dùng.
ắ ầ ươ ạ ộ ượ ọ ớ onResume(): Đ c g i khi ho t đ ng b t đ u t ng tác v i ng ườ ử i s
d ng.ụ
ọ ể ừ ạ ộ ệ ạ ượ ố ạ onPause(): Đ c g i đ d ng các ho t đ ng hi n t i và n i l ạ i các ho t
ướ ộ đ ng tr c đó.
ượ ọ ị ớ ể ườ ạ ộ onStop(): Đ c g i khi ho t đ ng không còn hi n th v i ng i dùng.
ượ ọ ướ ủ ở ệ ố ạ ộ ị onDestroy(): Đ c g i tr ằ c khi ho t đ ng b phá h y b i h th ng (b ng
ể ả ồ ặ ằ ệ ố ộ ớ tay ho c b ng h th ng đ b o t n b nh ).
ệ ố ọ ượ ừ ạ ở ộ ượ onRestart(): Đ c g i khi h th ng đã đ c d ng l i và kh i đ ng l ạ i
22
ộ ầ ữ m t l n n a.
Hình 2.1 Mô hình Activity
Intent:
ộ ấ ữ ệ ả ố ượ ự ủ Là m t c u trúc d li u mô t ứ cách th c, đ i t ộ ệ ng th c hi n c a m t
ụ ứ ữ ầ ố ườ Activity. Là c u n i gi a các Activity: ng d ng Android th ề ồ ng bao g m nhi u
ạ ộ ộ ậ ự ữ ệ ỗ ớ ệ Activity, m i Activity ho t đ ng đ c l p v i nhau và th c hi n nh ng công vi c
ườ ư ể ệ ư ọ khác nhau. Intent chính là ng i đ a th , giúp các Activity có th tri u g i cũng
ữ ệ ầ ư ề ề ố ộ nh truy n các d li u c n thi ế ớ t t i m t Activity khác. Đi u này cũng gi ng nh ư
ể ệ ạ ữ vi c di chuy n qua l ậ i gi a các Forms trong l p trình Windows Form.
Hình 2.2 Mô hình Intent
3. Service
ệ ề ạ ộ ộ ự M t service không có giao di n tr c quan, nó ch y trên n n trong m t
ạ ề ể ơ ả ờ ị ụ ộ kho ng th i gian không xác đ nh. Ví d m t service có th ch i nh c n n, hay nó
ữ ệ ế ả ấ ạ ạ n p d li u trên m ng hay tính toán cái gì đó và cung c p k t qu cho activity
ở ộ ế ỗ ừ ớ ơ ở ầ c n đ n nó. M i service m r ng t l p c s Service.
ụ ổ ể ộ ơ ừ ộ M t ví d c đi n là media player ch i các bài hát t Ứ m t danh sách. ng
ể ộ ườ ụ d ng player có th có m t hay hai activity cho phép ng ọ i dùng ch n bài hát và
ơ ự ượ ử ở ộ ắ ầ b t đ u ch i. Tuy nhiên, music playback không t nó đ c x lý b i m t activity
ườ ơ ế ọ ờ ẽ ố ỏ ở b i vì ng ạ i dùng s mong mu n ch i ti p nh c khi h r i kh i player và làm cái
ể ế ụ ở ộ ể ạ ơ ộ gì đó khác. Đ ti p t c ch i nh c, media player activity có th kh i đ ng m t
ệ ố ẽ ữ ạ ạ ậ ề service ch y trên n n. H th ng s gi cho music playback service ch y th m chí
ở ộ ờ ỏ khi activity kh i đ ng nó r i kh i màn hình.
ế ố ớ ị ụ ể ệ ạ ế Trong khi k t n i, b n có th giao ti p v i d ch v thông qua giao di n mà
ư ụ ư ệ ể service đó tr ng ra. Ví d nh trong music service, giao di n này có th cho phép
23
ườ ạ ng i dùng pause, rewind, stop và restart l i playback.
ư ạ ầ ố Gi ng nh các activity và các thành ph n khác khác, service ch y trong
ữ ụ ứ ủ ể ế ế ặ thread chính c a ti n trình ng d ng. Vì th chúng không th ch n nh ng thành
ệ ầ ườ ườ ạ ph n khác hay giao di n ng i dùng, chúng th ng t o ra các thead khác cho các
ụ ệ ố ờ nhi m v hao t n th i gian.
Hình 3 Mô hình Service
ệ ầ ộ ộ 4. Broadcast Reveive ậ M t Broadcast Rreceiver là m t thành ph n không làm gì ngoài vi c nh n
ạ ệ ố ở ầ ề và đáp l i các thông báo broadcast. Nhi u broadcast kh i đ u trong mã h th ng
ư ụ ờ ế ả ổ ượ ụ ví d nh thông báo múi gi thay đ i, pin y u, nh đã đ c ch p, hay ng ườ i
ể ạ ữ ứ ụ ổ ẳ dùng đã thay đ i ngôn ng … Các ng d ng có th t o ra các broadcast, ch ng
ể ứ ụ ộ ố ữ ệ ượ ả ề ế ị ạ h n đ ng d ng khác bi ế ượ t đ c m t s d li u đã đ i v thi c t ẵ t b và s n
ệ ử ụ sàng cho vi c s d ng chúng.
ộ ứ ụ ể ể ộ ố M t ng d ng có th có m t s Broadcast Receiver đ đáp l ạ ấ ứ i b t c
ấ ả ở ộ ừ ớ ọ thông báo nào mà nó cho là quan tr ng. T t c các receiver m r ng t l p c s ơ ở
BroadcastReceiver.
ị ộ ể ệ ườ Broadcast Receiver không hi n th m t giao di n ng i dùng. Tuy nhiên
ể ắ ầ ể ộ ạ ậ chúng có th b t đ u m t activity đ đáp l i thông tin mà chúng nh n, hay chúng
ể ử ụ ể ả ườ có th s d ng NotificationManager đ c nh báo ng i dùng. Notifications có
ể ấ ự ủ ườ ằ ề ạ th l y s chú ý c a ng
i dùng b ng nhi u cách, lóe sáng đèn sau, rung, t o ra 24
ườ ể ượ ấ ữ ề âm thah, vân vân. Chúng th ộ ng l y m t bi u t ạ ng b n v ng trong thanh tr ng
ườ ệ thái, cái mà ng ể ở ể ấ i dùng có th m đ l y thông đi p.
ữ ệ ủ ứ ụ ạ ộ 5. Content Provider ộ ậ ụ ể M t content provider t o ra m t t p c th các d li u c a ng d ng kh ả
ữ ệ ể ượ ư ụ ứ ữ ụ d ng cho các ng d ng khác. D li u có th đ c l u tr ệ ố trong h th ng file,
ộ ơ ở ữ ệ ộ trong m t c s d li u SQLite, hay trong m t cách khác nào đó. Content provider
ộ ậ ơ ở ở ộ ể ẩ ặ ớ m r ng l p c s ContentProvider đ cài đ t m t t p các chu n các ph ươ ng
ạ ượ ứ ụ ữ ữ ệ ủ ể ứ th c cho phép các ng d ng khác đ t đ ư c và l u tr d li u c a ki u mà nó
ọ ự ứ ụ ề ế ể ươ đi u khi n. Tuy nhiên, các ng d ng không g i tr c ti p các ph ứ ng th c này,
ộ ố ượ ử ụ ọ ươ chúng s d ng m t đ i t ng ContentResolver và g i các ph ứ ủ ng th c c a nó.
ớ ấ ứ ể ệ ộ M t ContentResolver có th nói chuy n v i b t c content provider nào, chúng
ế ể ế ớ ả ộ c ng tác v i provider đ qu n lý giao ti p liên ti n trình.
ướ ở ộ ầ ứ ụ ể 6. Manifest File Tr ả ộ c khi Android có th kh i đ ng m t thành ph n ng d ng, nó ph i
ế ằ ồ ạ ầ ậ ứ ữ ụ bi t r ng thành ph n đó t n t ầ i. Vì v y, ng d ng khai báo nh ng thành ph n
ượ ắ ộ ủ c a mình trong m t manifest file đ c g n vào Android package, file .apk này
ữ ứ ủ ứ cũng gi ụ ch a mã c a ng d ng và các tài nguyên.
ấ ộ ườ ượ ặ Manifest file là m t file XML có c u trúc và th ng đ c đ t tên là
ộ ố ổ ọ ứ ụ ự ể ệ AndroidManifest.xml cho m i ng d ng. Nó th c hi n m t s b sung đ khai
ầ ủ ứ ư ệ ứ ư ụ ụ ầ ế báo các thành ph n c a ng d ng, nh là nêu tên các th vi n ng d ng c n đ n,
ạ ủ ứ ố ượ ấ ụ ề ị và xác đ nh các quy n h n c a ng d ng mu n đ c c p.
ư ụ ươ ủ Ví d nh nó khai báo các Activity trong ch ng trình c a chúng ta, khi
ở ộ ươ ẽ ượ ự ệ ầ kh i đ ng ch ng trình thì Activity nào s đ ề c th c hi n đ u tiên, các quy n
ề ề ử ộ ọ ấ ậ ắ ậ truy c p Internet, SDCard, hay các v n đ v g i nh n tin nh n, cu c g i...
i dùng trong Android
ệ ộ ứ ườ ụ ệ ườ ượ 7. Giao di n ng Trong m t ng d ng Android, giao di n ng i dùng đ ằ ự c xây d ng b ng
ử ụ ố ượ ề ể ạ cách s d ng View và ViewGroup đ i t ng. Có nhi u lo i quan đi m và các
ệ ủ ớ ậ ỗ ộ ố nhóm view, m i m t trong s đó là h u du c a l p View. View objects là các
ị ơ ả ủ ệ ệ ườ ề ả ể ơ đ n v c b n c a bi u hi n giao di n ng i dùng trên n n t ng Android. Các
25
ơ ở ụ ụ ư ượ ọ class xem nh là c s ph c v cho class con đ c g i là "widget", trong đó cung
ố ượ ầ ự ư ự ệ ệ ố ủ ấ c p đ y đ các đ i t ả ng th c hi n giao di n, gi ng nh các lĩnh v c văn b n
ụ ụ ư ơ ở ớ ượ ọ và nút. Class ViewGroup ph c v nh là c s cho l p con đ c g i là " layouts",
ủ ư ế ấ ạ ố cung c p các lo i khác nhau c a ki n trúc b trí, nh linear, tabular và relative.
ệ ầ
ử ụ ề ệ ề ạ ấ ố ơ 8. Các thành ph n giao di n Widget Có r t nhi u cách b trí giao di n. S d ng nhi u h n và các lo i khác
ể ấ ủ ạ nhau c a các view group, b n có th c u trúc views con và view groups trong vô
ị ượ ấ ở ọ ố s cách. Xác đ nh các nhóm xem đ c cung c p b i Android (g i là layouts) bao
ỗ ồ g m LinearLayout, RelativeLayout, TableLayout, GridLayout và khác. M i cung
ộ ộ ấ ủ ố ố ượ ử ụ ể ị ị ấ c p m t b duy nh t c a các thông s b trí đ ủ c s d ng đ xác đ nh v trí c a
ề ộ ố ơ ấ ủ ể ể ạ views con và c c u layout Đ tìm hi u v m t s các lo i khác nhau c a các
ượ ử ụ ố ượ ệ ộ ọ ườ view group đ c s d ng cho m t layout, đ c Giao di n đ i t ng th ặ ng g p.
ư ộ ể ươ ụ ệ ộ ụ Widget là m t object View ph c v nh m t giao di n đ t ớ ng tác v i
ườ ộ ậ ự ủ ệ ấ ầ ố ng i dùng. Android cung c p m t t p các widgets th c hi n đ y đ , gi ng nh ư
ự ể ạ các button, Checkbox, và textentry , do đó b n có th nhanh chóng xây d ng giao
ệ ườ ủ ạ ộ ố ượ ấ ở di n ng i dùng c a b n. M t s widgets đ ứ ạ c cung c p b i Android ph c t p
ư ộ ư ố ơ h n, gi ng nh m t date picker, clock, và zoom controls. Nh ng nó không gi ớ i
ạ ượ ề ả ấ ở ạ h n trong các lo i widgets đ c cung c p b i các n n t ng Android.
ắ ự ệ
ộ ố ế ệ ể ượ 9. B t s ki n trong Android Khi đã thêm m t s Views/widgets đ n giao di n. Đ đ c thông báo v ề
ườ ề ả ầ ộ ị UI events ng ộ ự ệ i dùng, c n ph i làm m t trong hai đi u: Xác đ nh m t s ki n
ự ệ ắ ớ nghe và đăng ký nó v i các View. Đây là cách l ng nghe s ki n. Các class View
ươ ộ có m t ph ọ ng pháp g i là On().
ể ử ấ ộ ộ Ví d :ụ View.OnClickListener (đ x lý "nh p chu t" trên m t View),
ự ệ ả ứ ể ử ộ View.OnTouchListener ( đ x lý các s ki n màn hình c m ng trong m t
ể ử ế ị ọ ộ View), và View.OnKeyListener (đ x lý thi t b ép quan tr ng trong m t View).
ế ậ ố ượ ư ẳ ạ Vì v y n u mu n View đ c thông báo khi nó là " clicked" (ch ng h n nh khi
ộ ượ ự ủ ệ ọ ọ ị m t nút đ c ch n), th c hi n và xác đ nh OnClickListener c a nó g i method
ự ệ ấ ơ ộ ộ onClick() (n i th c hi n các hành đ ng sau khi nh p chu t), và đăng ký nó vào
26
ớ Xem v i setOnClickListener().
ữ ệ ộ Ghi đè m t callback method hi n cho View. Đây là nh ng gì nên làm gì khi
ố ắ ệ ớ ự ủ ạ đã th c hi n l p View c a riêng b n và mu n l ng nghe cho các s ki n c th ự ệ ụ ể
ự ệ ụ ề ể ử ồ ả x y ra trong nó. Ví d v các s ki n có th x lý bao g m màn hình là touched
ặ ộ ể onTouchEvent() khi trackball là di chuy n onTrack ballEvent() ho c khi m t phím
ề ấ ị trên thi ế ị ượ t b đ c nh n onKeyDown(). Đi u này cho phép xác đ nh các hành vi
ự ệ ự ệ ặ ị ừ ỉ ị ỳ m c đ nh cho t ng s ki n bên trong tu ch nh View và xác đ nh xem s ki n này
ộ ầ ữ ữ ể ầ ượ c n đ c thông qua ngày đ View con khác. M t l n n a, đây là nh ng callbacks
ấ ủ ạ ơ ộ ể ạ ị ự View class, do đó, c h i duy nh t c a b n đ xác đ nh đó là khi b n xây d ng
ầ ộ ỉ m t ph n tùy ch nh.
ủ ệ ầ ộ ọ ườ 10. Menu ơ Menu đ n có m t ph n quan tr ng c a giao di n ng ộ i dùng trong m t
ứ ấ ằ ụ ậ ấ ộ ứ ệ ng d ng. Menus cung c p m t giao di n đáng tin c y cho th y r ng các ch c
ổ ế ơ ứ ứ ụ ụ ấ ặ năng ng d ng và cài đ t. Trong trình đ n ng d ng ph bi n nh t là ti ế ộ t l
ấ ế ị ể ằ b ng cách b m phím MENU trên thi t b . Tuy nhiên, cũng có th thêm Context
ị ườ ử ụ ấ ắ ữ ể ể Menus, có th hi n th khi ng i s d ng máy nh n và n m gi ộ phím trên m t
ụ ự ơ ượ ệ ố ử ụ ấ ằ ấ m c. Th c đ n cũng đ ộ c h th ng phân c p c u trúc b ng cách s d ng m t
ư ấ ạ ị xem, nh ng b n không xác đ nh c u trúc này cho mình.
ị Thay vào đó, xác đ nh onCreateOptionsMenu() or onCreateContext Menu()
ạ ộ ủ ụ ố ố ọ g i method cho ho t đ ng c a mình và tuyên b các m c mà mình mu n bao
ủ ợ ờ ộ ồ g m trong menu c a mình. Trong m t th i gian thích h p, Android s t ẽ ự ộ đ ng
ấ ầ ệ ố ế ỗ ỗ ạ t o ra h th ng View phân c p c n thi t cho menu, và rút ra m i trong m i menu
items đó.
II. PHÂN TÍCH XML TRONG ANDROID
ổ ề A.T ng quan v XML
ữ 1.Khái ni mệ t t XML (vi ế ắ ừ ế t t ti ng Anh Extensible Markup Language, “Ngôn ng Đánh
ở ộ ữ ụ ề ấ ớ ấ d u M r ng”) là ngôn ng đánh d u v i m c đích chung do W3C đ ngh , đ ị ể
ả ủ ộ ậ ữ ấ ơ ạ t o ra các ngôn ng đánh d u khác. Đây là m t t p con đ n gi n c a SGML, có
ả ả ạ ữ ệ ủ ụ ề kh năng mô t ơ nhi u lo i d li u khác nhau. M c đích chính c a XML là đ n
ẻ ữ ệ ệ ố ệ ặ ả ệ ữ gi n hóa vi c chia s d li u gi a các h th ng khác nhau, đ c bi t là các h ệ
ượ ế ố ớ ữ ự ụ ố th ng đ c k t n i v i Internet. Các ngôn ng d a trên XML (thí d : RDF, RSS, 27
ượ ị ườ MathML, XHTML, SVG, và cXML) đ c đ nh nghĩa theo cách thông th ng, cho
ươ ợ ệ ằ ử ữ ể ổ phép các ch ng trình s a đ i và ki m tra h p l b ng các ngôn ng này mà
ể ầ ế ướ ề ứ ủ không c n có hi u bi c v hình th c c a chúng. t tr
ặ ể ủ
ấ ộ ươ ệ ể ả ả 2.Đ c đi m c a XML XML cung c p m t ph ng ti n dùng văn b n (text) đ mô t thông tin và
ộ ấ ụ ứ ể ạ ả ọ áp d ng m t c u trúc ki u cây cho thông tin đó. T i m c căn b n, m i thông tin
ể ệ ướ ạ ữ ấ ớ ề đ u th hi n d ệ ẻ i d ng text, chen gi a là các th đánh d u (markup) v i nhi m
ứ ậ ủ ệ ự ộ ấ ữ ệ ụ v ký hi u s phân chia thông tin thành m t c u trúc có th b c c a các d li u
ự ầ ử ể ứ ữ ệ ầ ử ủ ộ ký t , các ph n t dùng đ ch a d li u, và các thu c tính c a các ph n t đó.
ề ặ ươ ự ớ ứ ủ ể V m t đó, XML t ng t ữ ậ v i các bi u th c S (Sexpression) c a ngôn ng l p
ở ỗ ề ả ể ấ ỗ trình LISP ch chúng đ u mô t các c u trúc cây mà trong đó m i nút có th có
ấ ủ ộ m t danh sách tính ch t c a riêng mình.
ị ơ ở ủ ơ ự ủ ị Đ n v c s c a XML là các ký t theo đ nh nghĩa c a Universal
ộ ự ầ ự ượ ế ợ ổ ợ Character Set (B ký t toàn c u). Các ký t c k t h p theo các t đ ỗ h p chu i
ệ ệ ề ặ ộ ồ ộ ợ ệ ể ạ h p l ự đ t o thành m t tài li u XML. Tài li u này g m m t ho c nhi u th c
ể ườ ự ể ỗ ủ ầ ộ ự ệ ộ th , m i th c th th ng là m t ph n nào đó c a các ký t thu c tài li u, đ ượ c
ướ ạ ộ ệ ư ả ộ ỗ mã hóa d ữ i d ng m t chu i các bit và l u tr trong m t t p văn b n (text file).
ự ổ ế ủ ề ầ ả ả ạ S ph bi n c a các ph n m m so n th o văn b n (word processor) đã h ỗ
ợ ệ ạ ả ả ộ ướ ệ tr vi c so n th o và b o trì tài li u XML m t cách nhanh chóng. Tr c XML,
ữ ấ ả ữ ệ ể ệ ặ ớ ớ có r t ít ngôn ng mô t d li u v i các đ c đi m đa năng, thân thi n v i giao
ễ ọ ễ ạ ự ế ứ ố ị th c Internet, d h c và d t o. Th c t ổ ữ ệ ạ , đa s các đ nh d ng trao đ i d li u
ụ ề ề ờ ộ ỗ ị ị ệ ạ th i đó đ u chuy n d ng, có tính đ c quy n, và có đ nh d ng nh phân (chu i bit
ữ ứ ụ ề ỗ ự ầ thay vì chu i ký t ) khó dùng chung gi a các ng d ng ph n m m khác nhau hay
ệ ạ ệ ề ữ ả ạ ả gi a các h n n (platform) khác nhau. Vi c t o và b o trì trên các trình so n th o
ụ ạ thông d ng l i càng khó khăn.
ữ ệ ứ ậ ấ ằ ượ B ng cách cho phép các tên d li u, c u trúc th b c đ c phép, và ý
ầ ử ủ ể ượ ấ ộ ở ị nghĩa c a các ph n t và thu c tính có tính ch t m và có th đ c đ nh nghĩa
ế ả ộ ồ ượ ấ ở b i m t gi n đ tùy bi n đ ệ ạ ộ ơ ở c, XML cung c p m t c s cú pháp cho vi c t o
ữ ự ủ ầ ấ ậ l p các ngôn ng đánh d u d a XML theo yêu c u. Cú pháp chung c a các ngôn
28
ố ị ữ ủ ệ ả ắ ả ng đó là c đ nh – các tài li u ph i tuân theo các quy t c chung c a XML, b o
ấ ả ể ề ả ả ầ ọ ằ ả đ m r ng t t c các ph n m m hi u XML ít ra cũng ph i có kh năng đ c (phân
ố ụ ươ ể ố ủ ệ tích cú pháp – parse) và hi u b c c t ng đ i c a thông tin trong các tài li u đó.
ồ ỉ ổ ộ ậ ả ắ ả ộ Gi n đ ch b sung m t t p các ràng bu c cho các quy t c cú pháp. Các gi n đ ồ
ườ ầ ử ủ ế ạ ứ ậ ấ ộ th ng h n ch tên c a ph n t và thu c tính và các c u trúc th b c đ ượ c
ầ ử ụ ộ ỉ ầ ử ứ ộ phép, ví d , ch cho phép m t ph n t tên ‘ngày sinh’ ch a m t ph n t tên
ầ ử ộ ầ ử ỗ ứ ả ộ ‘ngày’ và m t ph n t có tên ‘tháng’, m i ph n t ph i ch a đúng m t ký t ự .
ệ ộ ộ ầ ử ữ ể Đây là đi m khác bi t gi a XML và HTML. HTML có m t b các ph n t và
ụ ể ẻ ề ộ ộ ỉ thu c tính không m m d o, ch có m t tác d ng và nói chung là không th dùng
ụ cho m c đích khác.
ế ề ệ ạ ượ ử ụ ư ế ặ XML không h n ch v vi c nó đ c s d ng nh th nào. M c dù XML v c ề ơ
ừ ượ ứ ề ạ ầ ớ ị ả b n là d ng text, các ph n m m v i ch c năng tr u t ng hóa nó thành các đ nh
ừ ượ ệ ấ ơ ạ d ng khác giàu thông tin h n đã nhanh chóng xu t hi n, quá trình tr u t ng hóa
ượ ệ ử ụ ủ ế ồ ị ự ệ ả ướ này đ c th c hi n ch y u qua vi c s d ng các gi n đ đ nh h ể ng ki u d ữ
ẫ ậ ệ ướ ố ượ li u (datatypeoriented schema) và khuôn m u l p trình h ng đ i t ng (mà
ệ ỗ ượ ộ ố ượ trong đó, m i tài li u XML đ ư c thao tác nh là m t đ i t ầ ữ ng). Nh ng ph n
ư ậ ư ề ể ạ ượ ầ ự m m nh v y có th coi XML nh là d ng text đã đ c tu n t ỉ hóa ch khi nó
ề ữ ệ ạ ầ c n truy n d li u qua m ng.
ấ ủ
ầ ử ộ 3.C u trúc c a XML ơ ả Cú pháp XML c b n cho m t ph n t là:
ộ n i dung
29
Ví d :ụ
ộ ạ ượ ở ầ ấ 4. RSS RSS là m t d ng file XML đ ệ ế c cung c p b i h u h t các trang báo đi n
ụ ớ ườ ể ấ ộ ử t ngày nay v i m c đích cho phép ng i dùng có th l y n i dung bài vi ế ể t đ
ớ ụ ử ụ s d ng v i các m c đích khác nhau.
ớ ệ
ộ 5. Các l p, giao di n phân tích XML trong Android ậ Java API for XML Processing, hay JAXP, là m t trong các API cho l p
ứ ể ả ấ ệ trình Java XML. Nó cung c p kh năng ki m ch ng và phân tích các tài li u
ơ ả ệ ể ạ XML. Hai lo i giao di n (interface) đ phân tích c b n là:
ố ượ ệ ạ ệ Giao di n phân tích d ng Mô hình đ i t ng tài li u (Document Object
Model), vi ế ắ t t t là DOM
ệ ả ơ Giao di n phân tích API đ n gi n dành cho XML (Simple API for XML)
vi ế ắ t t t là SAX
ẫ ồ StAX, API d n lu ng cho XML (the Streaming API for XML).
ệ ấ ớ ộ ệ Cùng v i các giao di n phân tích, API này còn cung c p m t giao di n
ổ ữ ệ ể ệ ể ấ ấ ừ ộ ệ XSLT đ cung c p vi c chuy n đ i d li u và c u trúc t m t tài li u XML
ộ ạ sang m t d ng khác.
ệ 5.1.Giao di n DOM
ệ ẽ ễ ể ệ ấ ộ Giao di n DOM có l là m t giao di n d hi u nh t. Nó phân tích toàn b ộ
ế ệ ế ộ ấ ệ ạ ả ỉ tài li u XML và ki n thi ệ t m t c u trúc hoàn ch nh đ i di n cho b n tài li u,
ớ ằ ệ ộ ớ ể trong b nh , b ng cách dùng các l p đ mô hình hóa các khái ni m đã ghi trong
ậ ủ ấ ộ ệ Tài li u chi ti ế ặ ả t đ c t kĩ thu t c a Document Object Model(DOM) C p đ 2.
ộ ượ ạ ộ ọ B phân tích DOM đ c g i là DocumentBuilder, vì nó t o nên m t hình
ứ ệ ạ ộ ớ th c đ i di n cho Document trong b nh . javax.xml.parsers.DocumentBuilder
ạ ở ượ đ c t o nên b ijavax.xml.parsers.DocumentBuilderFactory. DocumentBuilder
30
ộ ườ ộ ấ ủ ứ ợ ạ t o ra m t tr ứ ng h p c a org.w3c.dom.Document, t c m t c u trúc cây ch a
ỗ ố ự ệ ệ ấ ố ộ ệ các n t trong Tài li u XML. M i n t cây trong c u trúc th c hi n m t giao di n
ạ ữ ệ ạ ố ề ệ ạ ấ org.w3c.dom.Node. Có nhi u lo i n t cây đ i di n cho lo i d li u tìm th y
ạ ố ệ ấ ả ọ trong b n tài li u XML. Lo i n t quan tr ng nh t là:
ầ ử ố ằ ở ể ạ ộ N t ph n t . Lo i này có th có các thu c tính n m bên trong.
ẻ ở ữ ệ ầ ạ ằ ả ạ ả ố N t văn b n. Lo i này đ i di n cho ph n văn b n n m gi a th m và
ầ ử ẻ ộ ệ ủ th đóng c a m t ph n t tài li u.
ệ 5.2.Giao di n SAX
ộ ượ ọ ượ ạ B phân tích SAX đ c g i là SAXParser và đ ằ c t o b ng
ớ ộ ộ javax.xml.parsers.SAXParserFactory. Khác v i b phân tích DOM, b SAXParser
ứ ạ ệ ủ ế ệ ạ ộ ộ ớ không t o ra m t hình th c đ i di n c a tài li u XML trong b nh và vì th nó
ạ ộ ớ ơ ơ ố ộ ộ ho t đ ng nhanh h n, ít t n b nh h n. Thay vào đó, b phân tích SAXParser
ệ ằ ấ ọ ủ thông báo cho các trình khách c u trúc c a tài li u XML b ng cách g i các hàm
ọ ươ ủ ườ ợ ằ callbacks, nghĩa là, b ng cách g i các ph ng pháp c a tr ẫ ả ng h p b n m u:
ượ ấ ộ Javadoc:SE đã đ c cung c p cho b phân tích.
ự ằ ớ ớ ệ L p DefaultHandler n m trong gói org.xml.sax.helpers. L p này th c hi n
ệ ạ các giao di n ContentHandler, ErrorHandler, DTDHandler, và EntityResolver. Đ i
ữ ế ậ ỉ ươ ượ ị ộ b ph n các trình khách ch quan tâm đ n nh ng ph ng pháp đ c đ nh nghĩa
ệ trong giao di n ContentHandler mà thôi.
ươ ủ ượ Các ph ệ ng pháp c a giao di n ContentHandler, đ c DefaultHandler
ự ệ ượ ắ ặ ọ ế ữ ộ th c hi n, đ c g i đ n khi b phân tích SAX b t g p nh ng ph n t ầ ử ươ ng t
ứ ữ ả ươ ủ ế ệ ệ ng trong b n tài li u XML. Nh ng ph ng pháp ch y u trong giao di n này
bao g m:ồ
ươ ứ ượ ọ ệ Ph ng th c startDocument(): đ ắ ầ c g i khi b t đ u tài li u.
ươ ứ ượ ọ ế ệ Ph ng th c endtDocument(): đ c g i k t thúc tài li u.
ươ ứ ượ ọ ộ Ph ng th c startElement(): đ ẻ ắ ầ c g i khi b t đ u m t th .
ươ ứ ượ ọ ế ộ Ph ng th c endElement(): đ ẻ c g i khi k t thúc m t th .
ươ ứ ượ ọ ọ ươ Ph ng th c characters(): đ c g i sau khi g i ph ứ ng th c
ể ẻ ộ startElement(), đ phân tích n i dung bên trong th đó.
ủ ấ ớ ộ ớ Các trình khách cung c p m t phân l p c a DefaultHandler. Phân l p này đ ượ c
31
ể ấ ữ ề ươ ữ ệ ử ử ụ s d ng đ l n quy n nh ng ph ng pháp trên và x lý d li u. Quá trình này có
ệ ư ể ồ ữ ữ ệ ơ ở ữ ệ ặ ế th bao g m vi c l u tr d li u vào trong c s d li u, ho c vi t chúng ra
ữ ệ ồ ộ m t lu ng (d li u).
ệ 5.3.Giao di n XSLT
ữ ậ ể ệ ạ ổ ị Ngôn ng t p tin đ nh d ng XML dành cho vi c chuy n đ i (The XML
ế ổ ộ ả Stylesheet Language for Transformations, hay XSLT) cho phép bi n đ i m t b n
ứ ữ ệ ệ ạ tài li u XML sang các d ng th c d li u khác.
ử ụ ộ 6. Phân tích n i dung XML trong Android s d ng SAX
ơ ượ ề 6.1.S l c v SAX
ồ SAX (Simple API for XML), g m có 2 interface chính: XMLReader là
ể ọ ử ể ậ interface dùng đ đ c XML và ContentHandler dùng đ nh n và x lý d li u t ữ ệ ừ
ả ầ ủ ế ườ XML. Hai interface này gi i quy t 90% nhu c u c a ng ớ i dùng v i SAX.
ượ SAX (Simple API for XML) đ ố c phát minh vào cu i năm 1998 khi Peter,
ộ ố ả ượ ế ằ MurrayRust và m t s tác gi phân tích cú pháp XML đ c vi ậ t b ng Java nh n
ẽ ề ằ ợ ộ ra r ng s không h p lý khi dùng quá nhi u các b APIkhác nhau cho chung 1
ụ ọ ườ ầ ữ ề ấ m c đích là đ c XML . MurrayRust là ng ọ i đ u tiên đ xu t nh ng gì ông g i
ặ ố là "YAXPAPI". Lý do MurrayRust mu n đ t tên là Yet Another XML Parser API
ị ệ ề ỏ ả đã vì ông đã hoàn toàn b m t m i vì ph i dùng nhi u hàm API phân tích cú pháp
ụ ứ ố ộ XML cho ng d ng JUMBO. Thay vào đó, ông mu n có m t API chu n t ẩ ấ ả t c
ườ ể ồ ắ ộ ượ ọ m i ng ờ i có th đ ng ý. Sau m t th i gian ng n beta SAX 1.0 đ c phát hành
vào ngày 11 tháng năm 1998.
Ư ể ủ 6.2. u đi m c a SAX
ả ơ Đ n gi n
ử ụ ộ ớ S d ng ít b nh
ố ộ ử T c đ x lý nhanh
ữ ệ ệ ậ T p trung vào d li u hi n hành
ể ọ ữ ệ ễ ử ụ D s d ng đ l c d li u
ượ ể Tuy nhiên SAX có các nh c đi m sau:
ữ ệ ể ộ Không th tác đ ng lên d li u XML
ế ộ ư ứ ạ ữ ạ Ch đ l u tr tr ng thái ph c t p
32
ấ ớ Khó khăn khi phân tích c u trúc XML l n
ệ 6.3. Các khái ni m dùng trong SAX
ữ ệ ư ủ ấ ọ Parsing: là quá trình đ c file XML và l y d li u c a XML đ a vào
ươ ồ ờ ỗ ủ ch ng trình đ ng th i check l i cú pháp c a XML.
ử ụ ố ượ Callback Interface: SAX s d ng các đ i t ể ọ ữ ệ ng Observer đ đ c d li u
ộ ớ ế ậ ậ trong file XML. L p trình viên JAVA đã quen thu c v i ki n trúc l p trình theo
ụ ư ế ự ự ệ ủ s ki n c a AWT và Swing. Ví d nh khi chúng ta vi t 1 class th c thi t ừ
ự ệ ủ ẽ ặ interfaceMouseListener, class này s m c nhiên có các s ki n c a interface này.
ụ ư Sau đó chúng ta đăng ký class này vào cho 1 object ví d nh là button, button này
ự ệ ủ ể ế ậ ỏ ạ ộ có th nh n các s ki n liên quan đ n thao tác c a con tr . SAX cũng ho t đ ng
ể ấ ệ ớ ữ ấ theo c u trúc đó. Tuy nhiên đi m khác bi t l n nh t gi a Swing và SAX là SAX
ự ệ ề ắ ơ không cho phép g n nhi u h n 1 s ki n cho cùng 1 object
III. SQL SERVER ệ
ộ ị 1. Khái ni m, đ nh nghĩa SQL server? ế ắ ủ t t SQL Server là vi t c a Structure Query Language, nó là m t công c ụ
ữ ệ ả ượ ử ụ ổ ế ở ự ế ề qu n lý d li u đ c s d ng ph bi n ầ nhi u lĩnh v c. H u h t các ngôn ng ữ
ỗ ợ ư ề ậ b c cao đ u có trình h tr SQL nh Visual BASic,Oracle,Visual C…
ươ ụ ụ ứ ả ị Các ch ng trình ng d ng và các công c qu n tr CSDL cho phép ng ườ i
ậ ớ ầ ử ụ ự ế ư ử ụ s d ng truy nh p t ữ i CSDL mà không c n s d ng tr c ti p SQL. Nh ng nh ng
33
ứ ả ử ụ ụ ạ ng d ng đó khi ch y ph i s d ng SQL.
ị ử ể
ượ ể ừ ữ ở 2. L ch s phát tri n SQL Server đ c phát tri n t ngôn ng SEQUEL2 b i IBM theo mô hình
ạ ủ ứ ở Codd t i trung tâm nghiên c u c a IBM ữ California ,vào nh ng năm 70 cho h ệ
ớ ố th ng QTCSDL l n.
ầ ượ ử ụ ữ ả Đ u tiên SQL Server đ c s d ng trong các ngôn ng qu n lý CSDL và
ơ ẻ ạ ủ ự ể ầ ch y trên các máy đ n l . Song do s phát tri n nhanh chóng c a nhu c u xây
ữ ủ ớ ộ ự d ng nh ng CSDL l n theo mô hình khách ch ( trong mô hình này toàn b CSDL
ữ ệ ượ ủ ử ọ ự ượ ậ đ c t p trung trên máy ch (Server)). M i thao tác x lý d li u đ ệ c th c hi n
ặ ấ ủ ằ ể ậ ệ ậ ỉ ạ trên máy ch b ng các l nh SQL máy tr m ch dùng đ c p nh p ho c l y thông
ừ ữ ậ ủ ề ậ tin t máy ch ). Ngày nay trong các ngôn ng l p trình b c cao đ u có s tr ự ợ
ể ủ ủ ữ ự ấ giúp c a SQL. Nh t là trong lĩnh v c phát tri n c a Internet ngôn ng SQL càng
ọ ơ ượ ử ụ ể ạ đóng vai trò quan tr ng h n. Nó đ c s d ng đ nhanh chóng t o các trang Web
ộ đ ng..
ượ ệ ẩ ỹ ổ ứ SQL đã đ ố c vi n tiêu chu n qu c gia M (ANSI)và t ẩ ch c tiêu chu n
ố ế ư ộ ệ ẩ ấ ậ qu c t ư ữ (ISO) ch p nh n nh m t ngôn ng chu n cho CSDL quan h .Nh ng
ư ư ủ ế ẩ cho đ n nay chu n này ch a đ a ra đ 100%.Nên các SQL nhúng trong các ngôn
ữ ậ ượ ở ộ ẩ ổ ng l p trình khác nhau đã đ ợ c b xung m r ng cho SQL chu n cho phù h p
ụ ự ứ ư ủ ậ ớ v i các ng d ng c a mình.Do v y có s khác nhau rõ ràng gi ã các SQL.
ủ ể ố ượ ệ ng làm vi c
ặ ể 3. Đ c đi m c a SQL Server và đ i t ặ 3.1. Đ c đi m
ữ ự ế – SQL là ngôn ng t a ti ng Anh.
ủ ụ ữ ứ ầ ậ – SQL là ngôn ng phi th t c, nó không yêu c u ta cách th c truy nh p CSDL
ề ấ ễ ử ụ ư ế ấ ả ủ ả nh th nào. T t c các thông báo c a SQL đ u r t d s d ng và ít kh năng
ắ ỗ m c l i.
ấ ậ ệ ệ ỏ – SQL cung c p t p l nh phong phú cho các công vi c h i đáp DL
ậ ậ ộ ệ + Chèn, c p nh t, xoá các hàng trong m t quan h
ử ổ ố ượ ạ + T o, s a đ i, thêm và xoá các đ i t ủ ng trong c a CSDL.
ậ ớ ơ ở ữ ệ ố ượ ể ệ ề ủ + Đi u khi n vi c truy nh p t i c s d li u và các đ i t ng c a CSDL đ ể
ậ ủ ơ ở ả ả ả đ m b o tính b o m t c a c s DL
34
ộ ủ ự ả ả ấ +Đ m b o tính nh t quán và s ràng bu c c a CSDL.
ấ ể ử ụ ả ắ ữ ầ ỏ ượ – Yêu c u duy nh t đ s d ng cho các h i đáp là ph i n m v ng đ ấ c các c u
ủ trúc CSDL c a mình.
ố ượ ệ ủ 3.2. Đ i t ng làm vi c c a SQL Server
ả ả ổ ồ ệ ữ ệ Là các b ng ( t ng quát là các quan h )d li u hai chiêù .Các b ng này bao g m
ộ ọ ề ặ ộ ộ ườ ọ m t ho c nhi u c t và hàng.Các c t g i là các tr ả ng ,các hàng g i là các b n
ể ữ ệ ộ ớ ỗ ộ ủ ể ấ ọ ị ạ ghi.C t v i tên g i và ki u d li u (ki u dl c a m i c t là duy nh t)xác đ nh t o
ủ ả ể ể ấ ấ ệ nên c u trúc c a b ng (Ta có th dùng l nh Desc[ribe] TABLEname đ xem c u
ủ ả ể ượ ầ ọ ỳ ả ỏ trúc c a b ng ,ph n tu ch n[] có th đ c b trong Oracle).Khi b ng đã đ ượ c
ộ ộ ổ ứ ệ ố t ụ ch c h th ng cho m t m c đích nào đó có m t CSDL
IV. CLOUD SERVER
Cloud server là gì?
ữ ệ Trong nh ng năm g n đây, ngành công ngh thông tin Internet càng ngày
ầ ớ ự ể ổ ứ ẽ ệ
ậ
ớ ờ ủ ệ ẽ ớ
ể ở ữ ể ủ ể ụ ụ ươ
ạ ộ ả ạ ứ ụ ấ ể ả ầ càng phát tri n. Cùng v i s phát tri n đó, các doanh nghi p, t ch c s ph i đ u ủ ả ớ ư chi phí l n cho khâu mua m i, b o trì và v n hành máy ch (server). Tuy nhiên t ệ ệ ổ ứ ớ ự ch c v i s ra đ i c a công ngh đi n toán đám mây (Cloud Computing), các t ế ả ầ ư chi phí quá l n cũng có th s h u 1 chi c doanh nghi p s không ph i đ u t server (máy ch ) đ ph c v cho các ho t đ ng kinh doanh, phát tri n th ng ệ m i, ng d ng công ngh thông tin vào s n xu t.
ọ ệ ể ự ổ ứ ủ ả Các t
ể ể ử ụ ch c doanh nghi p có th l a ch n các máy ch o hay VPS ầ ủ ư
ệ ệ ổ ứ ể ử ụ ch c có th s d ng công
ệ ả ấ
ệ ượ ư ể ả
ư
(Virtual Private Server) đ có th s d ng nh 1 server riêng cho nhu c u c a doanh nghi p. Tuy nhiên ngày nay các doanh nghi p t ơ ệ ớ ngh Cloud Server v i hi u qu và công ngh cao h n. Cloud server cung c p ề ể ư ố ộ c tri n khai và phát tri n trên n n m t server riêng o gi ng nh VPS nh ng đ ể ế ừ ệ ệ ủ ả t ng c a công ngh đi n toán đám mây, do đó Cloud server k th a các u đi m ượ ộ ủ v t tr i c a công
ẽ ể ượ ử ụ ngh đi n toán đám mây mà s không th có đ c khi s d ng các VPS
ườ thông th ệ ệ ng.
ữ
ớ ư ử ụ Ngoài ra, Cloud Server c a DIGISTAR có thêm nh ng tính năng cao c p ể ệ
ậ
ề ủ ệ ố ắ ổ ượ ể ủ ấ ế ủ ả i pháp công ngh Cloud Storage tiên ti n c a ắ ể ạ i cho
35
c đi m th t c chai (bottleneck) c a h th ng SAN, mang l ộ ố ộ ớ ủ ạ m i đi n hình nh s d ng gi ổ Parallels dùng SSD Caching và phân b I/O đ u trên các Server v t lý đ kh c ụ ph c nh CLoud Server m i c a DIGISTAR m t t c đ đáng kinh ng c.
Tính năng Cloud Server
(cid:0) Đ c xây d ng trên các máy ch CISCCO m nh nh t cùng v i công ngh ệ
ượ ấ ớ
ả ứ ấ ủ ố ạ ệ ố ự ả hàng đ uầ đ m b o s c m nh ạ t t nh t cho h th ng Cloud Server.
(cid:0) công nghệ o ả
ươ ầ ứ – Hardware Virtualization t ấ ng t ủ ế ự ơ ế c ch KVM thông
Tính năng Cloud Server do DIGISTAR cung c p ch y u là hóa ph n c ng d ng.ụ
ế ố ộ ấ ữ ệ ằ
(cid:0) Dùng xu t
ớ ổ ứ c ng truy xu t d li u hoàn toàn b ng SSD đem đ n t c đ truy ấ ổ ứ c ng lên t i trên 800 Mbps/s.
(cid:0) ậ
dùng cách phân ph i I/O trên các Server v t ấ ậ ỗ ả ố ấ ệ ấ ả ố ổ ị ủ Cloud Server c a DIGISTAR lý nhàn r i đ m b o hi u xu t v n hành t t nh t và n đ nh nh t.
(cid:0) DIGISTAR cam k tế tài nguyên cung c p cho t ng
ấ ừ Cloud Server là riêng
ệ ử ụ ư ụ ị ườ bi t và không s d ng chung nh các d ch v VPS thông th ng.
(cid:0) ấ ớ ả ả i hàng trăm ngàn CPU,
Tài nguyên Cloud Server đ m b o cung c p t Gygabyte RAM và Petabyte d li u ữ ệ cho hàng ngàn khách hàng.
(cid:0) ụ
36
ắ ữ ữ ệ ậ ệ ủ ượ ư ể ữ ệ ử ụ S d ng công ngh Cloud Storage phân tán d li u kh c ph c hoàn ệ ố Cloud l u tr d li u t p trung. toàn nh c đi m c a các h th ng
ươ
Ế Ệ Ố
Ế
Ch
ng 3 PHÂN TÍCH THI T K H TH NG
ứ
ụ ● ả ả I. Danh m c các ch c năng chính Qu n lý tài kho n
ậ ấ Đăng nh p/Đăng xu t
ệ ố ẩ ậ ổ ậ Thay đ i m t kh u đăng nh p h th ng
● ả ệ ạ ệ ộ ề Qu n lý l nh đi u đ ng (hi n t i)
ủ ệ ề ộ Xem thông tin chung c a l nh đi u đ ng
ộ ề ả Xem l ồ ấ trình đ xu t (b n đ )
ệ ạ ộ ự ế ả ị Xem v trí hi n t i, l trình th c t ồ , tình hình giao hàng (b n đ )
ậ ạ ệ ậ ự ố C p nh t tr ng thái l nh (giao hàng, s c )
● ả ệ ạ ơ Qu n lý đ n hàng (hi n t i)
ệ ơ Xem danh sách các đ n hàng trên l nh
ế ơ Xem thông tin chi ti t đ n hàng
ậ ậ ậ ạ ơ C p nh t tr ng thái đ n hàng (Xác nh n giao hàng thành công,
ể ả ậ ấ ạ thông báo giao hàng th t b i, xác nh n chuy n t i)
ể ả Xem thông tin chuy n t ơ i các đ n hàng
ứ ừ Scan các ch ng t liên quan
● ị ử L ch s
ử ệ ạ ị Xem danh sách l ch s l nh đã ch y
37
● Barcode
ể ậ ơ ậ Scan barcode trên đ n hàng v t lý đ truy c p nhanh vào form
ụ ủ ơ ả qu n lý các tác v c a đ n hàng này
ả ơ ượ ứ II.Mô t s l c ch c năng TMS cho di đ ngộ
38
ủ ệ ố ơ ồ ứ ấ Hình 3.0 S đ phân c p ch c năng c a h th ng
ể ồ ồ ử ệ III.Bi u đ lu ng d li u
ể
ồ
Nhìn t
ố
ể
ậ ấ ể ự ầ
ế ữ ệ
ệ ủ
ồ ứ
ể
ể
ả
ử ụ ồ
ủ ệ ố
ữ ệ ổ
ượ ấ ừ ứ ộ ổ ứ ể m c đ t ng quát trên bi u đ phân c p ch c năng ta không th nh n th y rõ đ c ệ ệ ữ ệ ớ ữ ệ ầ ấ ữ ệ t liên h v i d li u c n đ th c hi n các các m i quan h gi a các d li u. Đ cho nhìn th y chi ti ể ệ ồ ồ công vi c c a bài toán nhóm s d ng bi u đ lu ng d li u. Bi u đ m c khung c nh c n th hi n các tác nhân c a h th ng, các lu ng d li u t ng quan.
ể ồ ồ ứ ả ữ ệ 3.1 Bi u đ lu ng d li u m c khung c nh
ồ ồ ữ ệ ứ ể ả Hình 3.1 Bi u đ lu ng d li u m c khung c nh
ể ồ ồ ứ ỉ
3.2 Bi u đ lu ng d li u m c đ nh ứ ỉ ữ ệ ể ồ ữ ệ ể ệ ệ ủ ứ ố Bi u đ d li u m c đ nh th hi n m i quan h c a các ch c năng chính
39
ệ ố ớ ữ ệ trong h th ng v i các tác nhân,d li u
ể ồ ồ ứ ỉ ữ ệ Hình 3.2 Bi u đ lu ng d li u m c đ nh
ể ồ ồ ữ ệ ứ ủ ể ả ứ 3.3 Bi u đ lu ng d li u m c 1 c a ch c năng chuy n t i
40
ể ồ ồ ữ ệ ủ ứ ứ ể ả Hình 3.3 Bi u đ lu ng d li u m c 1 c a ch c năng chuy n t i
ể ồ ồ ứ
ủ ượ ứ ế ứ ữ ệ 3.4 Bi u đ lu ng d li u m c 1 c a ch c năng Tìm ki m ủ ệ ố ế Ch c năng tìm ki m c a h th ng đ ế c chia làm 2 tiêu chí tìm ki m khác nhau:
ủ ả ế ế ẩ ả ẩ ườ ố tìm ki m theo giá c a s n ph m và tìm ki m theo tên s n ph m.Khi ng i dùng mu n
ệ ố ế ế ẽ ẽ ả tìm ki m theo tiêu chí nào thì s tìm ki m theo tiêu chí đó và h th ng s tìm trong b ng
ầ ừ ườ ử ả ạ ơ ở ữ ệ c s d li u và g i tr l i thông tin yêu c u t phía ng i dùng.
41
ể ồ ồ ữ ệ ủ ứ ứ ế Hình 3.4 Bi u đ lu ng d li u m c 1 c a ch c năng tìm ki m
ể ồ ồ ữ ệ ủ ứ ứ ả ị 3.5 Bi u đ lu ng d li u m c 1 c a ch c năng qu n tr
42
ể ồ ồ ữ ệ ứ ứ ủ ả ị Hình 3.5 Bi u đ lu ng d li u m c 1 c a ch c năng qu n tr
3.6 Mô hình ERD:
43
Hình 3.6 Mô hình ERD
ể ừ ượ ồ ệ 3.7 Chuy n t ERD sang l c đ qan h
44
ượ ồ ệ Hình 3.7 L c đ quan h
ệ ố
ế ế ả IV.Thi t k CSDL cho h th ng APP TMS Các b ng trong CSDL
ể ơ ộ ơ ệ ớ ơ 1. Order: ỗ M i Đ n hàng có m t mã Đ n hàng đ phân bi t v i các Đ n hàng
ố ượ ể ậ ậ ơ ờ ị ơ khác, tên Đ n hàng, s l ng nh p theo th i đi m ngày nh p, đ n v hay
ề ộ ỗ ả ỗ ả ẩ ạ ộ ẩ qui cách m i s n ph m, m i s n ph m thu c v m t lo i theo nhà nhà
ấ ả s n xu t.
Hình 4.0 Order
2.TMS_Driver:
45
Hình 4.1 TMS_Driver:
3. TMS_Location
Hình 4.2 TMS_Location
4. TMS_Order_Status
Hình 4.3 TMS_Order_Status
5. TMS_Route
Hình 4.4 TMS_Route
6. TMS_Shipping_Order
46
Hình 4.5 TMS_Route
7. TMS_Shipping_Order_Status
Hình 4.6 TMS_Shipping_Order_Status
TMS_Order_Status Order_Status_ID
Status_Name
Description
TMS_Order Order_ID
TMS_Route
Order_Code
Route_ID
Order_Date
TMS_Shipping_Order_Status
Route_Code
Shipping_Order_Status_ID
Shipping_Date
Route_Name
Shipping_Order_Status_Name
Customer
Distance
Description
TMS_Location_ID
Description
ItemType
UserCreate
Total_Carton
Create_Date
Total_Weight
Total_CBM
TMS_Location Location_ID
COD
Location_Code
TMS_Shipping_Order Shipping_Order_ID
COD_Is_Receive
Location_Name
Shipping_Order_Code
Order_Status_ID
Location_Address
Shipping_Order_Date
TMS_Driver Driver_ID
Location_ID
Location_Latitude
Order_ID
Driver_Code
Address
Location_Longitude
Driver_ID
Driver_Name
County
Location_Description
Route_ID
Diver_User
District
Country_ID
DeliveredDate
Driver_Password
Ward
District_ID
Total_Carton
Phone
Receiver
Province_ID
Total_Weight
Truck_Number
Phone
Ward_ID
Total_CBM
User_Create
User_Create
Phone
Shipping_Order_Status_ID
Create_Date
Create_Date
Fax
ClosedDate
Is_Tranfer
Created_Date
User_Create
Created_By
DescriptionErr
Updated_By
ặ
Hình 4.7 Mô hình cài đ t SQL Server
47
ặ 8.Mô hình cài đ t SQL Server
ƯƠ
CH
Ự NG 4 XÂY D NG APP TMS
ả ả I.Qu n lý tài kho n
48
Hình 4.1.0 Flash screen
ấ ậ 1.1 Đăng nh p/Đăng xu t
Hình 4.1.1 Màn hình Đăng nh pậ
ả Gi i thích
(cid:0) D li u đ u vào : UserName,Password
ữ ệ ầ
(cid:0) ID Component: txtUserName(UserName),txtPassword(Password)
(cid:0) X lý d li u:
ữ ệ ử
(cid:0) Activity ch a các hàm x lý đ ph c v cho Login là ử
ể ụ ụ ứ
Login_Activity
(cid:0) ể ậ Thu t toán ki m tra thông tin user và password:
1. Bi n d li u:
ế ữ ệ username=txtUserName.text
Password=txtPassWord.text
2. Truy v n : SELECT Driver_ID From TMS_Driver Where Driver_User = userName and Driver_PassWord=password
49
ấ
3. N u t n Driver_ID v i các đi u ki n trên thì đóng
ế ồ ề ệ
ớ ể Login_Activity chuy n sang Main_Activity
ổ ậ ệ ố ậ ẩ 1.2 Thay đ i m t kh u đăng nh p h th ng
ậ ẩ ổ Hình 4.1.2 Thay đ i m t kh u
ả Gi i thích
(cid:0) D li u đ u vào :M t kh u hi n t
ữ ệ ệ ạ ẩ ầ ậ ẩ ậ ẩ ậ ậ ớ i,M t Kh u M i,Xác Nh n M t Kh u
M iớ
(cid:0) ID Component: txtPassword_Temp,txtPassword_New,txtPassword_Re
(cid:0) X lý d li u:
ữ ệ ử
(cid:0) ể ậ Thu t toán ki m tra thông tin user và password:
Ki m tra n u không có Driver nào đ
ế ể
50
ượ ạ ế ể ổ màn hình Login ng c l ượ ư c l u thì chuy n sang ậ i ti n hành thu t toán thay đ i
ư ộ ượ ấ ừ c l y t trong l u b nh c a h ớ ủ ệ
ớ password v i Driver_ID đ th ngố
Bi n d li u:
ế ữ ệ password_temp= txtPassword_Temp.text
password_new= txtPassword_New.text
Password_re= txtPassword_Re.text
Truy v n d li u :SELECT Driver_ID From TMS_Driver Where Driver_User= UserName and Driver_PassWord= password_temp
ấ ữ ệ
N u t n Driver_ID v i các đi u trên và ậ
ế ồ ớ
ề ế ậ
Password_new=Password_re ti n hành c p nh t thông tin password
Truy v n d li u :Upate Driver SET Driver_PassWord=
ấ ữ ệ
51
Password_new WHERE Driver_ID=DriverID
ề ộ ệ ạ ả ệ II. Qu n lý danh sách l nh đi u đ ng (hi n t
ủ ệ i) ề ộ 2.1 Xem thông tin chung c a l nh đi u đ ng
ủ ệ ề ộ Hình 4.1.3 Xem thông tin chung c a l nh đi u đ ng
ả Gi i thích
(cid:0) D li u đ u vào : Id Tài X (Driver_ID)
ữ ệ ế ầ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ể Thu t toán ki m tra Driver_ID
Ki m tra thông tin Driver_ID đ
ể ệ ố
ồ ạ ế ượ ư c l u trong h th ng ,n u ể i Driver_ID thì chuy n sang màn hình Login . không t n t
ệ ớ ở ượ ạ ấ c l i l y danh sách l nh theo Driver_ID v i các lênh
Ng ạ tr ng thái : “CONFIRM”
Truy v n d li u :
52
ấ ữ ệ
SELECT a.Shipping_Order_ID,a.Shipping_Order_Code,b.Shipping_Order_ Status_Name from TMS_Shipping_Order a
LEFT JOIN TMS_Shipping_Order_Status b on a.Shipping_Order_ID=b.Shipping_Order_Status_ID WHERE b.Shipping_Order_Status_Name =“CONFIRM”
ử ệ ạ ị 2.2 Xem danh sách l ch s l nh đã ch y
ử ạ ị Hình 4.1.4 Xem danh sách l ch s đã ch y
ả Gi i thích
(cid:0) D li u đ u vào : Id Tài X (Driver_ID)
ữ ệ ế ầ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ể Thu t toán ki m tra Driver_ID
Ki m tra thông tin Driver_ID đ
ể ệ ố
ồ ạ ế ượ ư c l u trong h th ng ,n u ể i Driver_ID thì chuy n sang màn hình Login . không t n t
53
Ng ượ ạ ấ c l ệ i l y danh sách l nh theo Driver_ID
Truy v n d li u :
ấ ữ ệ SELECT
a.Shipping_Order_ID,a.Shipping_Order_Code,b.Shipping_Order_ Status_Name from TMS_Shipping_Order a
LEFT JOIN TMS_Shipping_Order_Status b on
a.Shipping_Order_ID=b.Shipping_Order_Status_ID
ế ệ t l nh
2.3 Xem chi ti 1.Thông tin l nhệ
ế ệ Hình 4.1.5 Xem chi ti t l nh
ả Gi i thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Shipping_Order_ID)
ữ ệ ệ ề ầ ộ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ấ ữ ệ ể ế ệ t l nh theo
Thu t toán ki m tra và l y d li u chi ti Shipping_Order_ID
(cid:0) ấ ữ ệ Truy v n d li u :
54
SELECT c.Truck_Number,d.Route_Name,a.Shipping_Order_Date,c.Driver_Name,
c.Phone,a.Total_Carton,a.Total_Weight,a.Total_CBM,a.DeliveredDate,C losedDate
FROM TMS_Shipping_Ordera LEFT JOIN TMS_Shipping_Order_StatusbONa.Shipping_Order _ID=b.Shipping_Order_Status_ID LEFT JOIN TMS_Driver c on a.Driver_ID=c.Driver_ID LEFT JOIN TMS_Routedona.Route_ID=d.Route_ID WHERE b.Shipping_Order_Status_Name=”CONFIRM” And a.Shipping_Order_ID=Shipping_Order_ID ể ậ ệ ậ ậ ạ ề ế ự ố 2.4 C p nh t tr ng thái l nh(V n Chuy n,V B n,S C )
Hình 4.1.6 Cập nhật trạng thái lệnh
Giải thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Shipping_Order_ID)
ữ ệ ề ệ ầ ộ
(cid:0) X lý d li u :
55
ữ ệ ử
(cid:0) ậ ữ ệ ệ ể ậ
ậ Thu t toán ki m tra và c p nh t d li u l nh theo Shipping_Order_ID
(cid:0) ấ ữ ệ Truy v n d li u:
Tr
ườ ể ậ ợ ớ ng h p V n Chuy n v i Shipping_OrderCode=”ISDRIVING”
Truy v n: ấ UPDATE TMS_Shipping_Order SET Shipping_Order_Status_ID=(
SELECT Shipping_Order_Status_ID WHERE
Shipping_Order_Status_Name='ISDRIVING'
)
Tr
ườ ể ậ ớ ợ ng h p V n Chuy n v i
Shipping_OrderCode=”ISTROUBLE”
Truy v n: ấ UPDATE TMS_Shipping_Order SET Shipping_Order_Status_ID=(
SELECT Shipping_Order_Status_ID WHERE
Shipping_Order_Status_Name=’ISTROUBLE’
ể ậ ợ ớ ) ườ 3.Tr
ng h p V n Chuy n v i Shipping_OrderCode=’ISCOMEBACK’
Truy v n: ấ UPDATE TMS_Shipping_Order SET Shipping_Order_Status_ID=(
SELECT Shipping_Order_Status_ID WHERE
Shipping_Order_Status_Name=’ISCOMEBACK’
56
)
ơ 2.5 Xem danh sách đ n hàng
ơ Hình 4.1.7 Xem dah sách đ n hàng
ả Gi i Thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Shipping_Order_ID)
ữ ệ ệ ề ầ ộ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ấ ữ ệ ể ơ
Thu t toán ki m tra và l y d li u đ n hàng theo Shipping_Order_ID
(cid:0) ấ ữ ệ SELECT
Truy v n d li u : c.Order_Code,c.Address,c.County,c.District,c.Ward,d.Status_Name
57
FROM TMS_Shipping_Order a LEFT JOIN TMS_Shipping_Order_Status b ON a.Shipping_Order_ID=b.Shipping_Order_Status_ID LEFT JOIN TMS_Ordercona.Order_ID=c.Order_ID LEFT JOIN TMS_Order_Status d on c.Order_Status_ID=d.Order_Status_ID WHERE b.Shipping_Order_Status_Name=”CONFIRM”
ế ơ 2.6 Xem chi ti t đ n hàng
ế ơ Hình 4.1.8 Xem chi ti t đ n hàng
ả Gi i Thích
(cid:0) D li u đ u vào :Mã đ n hàng(Order_ID)
ữ ệ ầ ơ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) Ki m tra và l y d li u đ n hàng theo Order_ID
ấ ữ ệ ể ơ
(cid:0) ấ ữ ệ SELECT
(cid:0)
Truy v n d li u : a.Shipping_Date,a.Customer,a.Receiver,a.Phone ,a.County,a.District,a.Ward,a.Address,a.DescriptionErr FROM TMS_Order a
58
LEFT JOIN TMS_Shipping_Order_Status c ON a.Shipping_Order_ID=c.Shipping_Order_Status_ ID WHERE a.Shipping_Order_Code= “CONFIRM” and Order_ID= Order_ID
ấ ạ ơ ậ ạ ậ 2.7 C p nh t tr ng đ n hàng(thành công, th t b i)
ậ ơ ậ ạ Hình 4.1.9 C p nh t tr ng thái đ n hàng
ả Gi i thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Order_ID) ệ
ữ ệ ề ầ ộ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ể ậ ơ ấ ữ ệ Thu t toán ki m tra và l y d li u đ n hàng theo Order_ID
(cid:0)
Tr
ng h p Thành Công(“ISSUSCESS”)
Truy v n d li u : ợ ữ ệ ầ ơ ấ ữ ệ ườ D li u đ u vào :Mã đ n hàng(Order_ID)
X lý d li u :
ữ ệ ử
(cid:0) ậ ể ậ ữ ệ ơ
ề ạ ậ
ớ ậ Thu t toán ki m tra và C p nh t d li u đ n hàng ậ ơ theoOrder_ID : C p nh t đ n hàng v tr ng thái thành công v i Order_Status_Name= ”ISSUSCESS”
59
(cid:0) Truy v n: ấ UPDATE TMS_Order
SET Order_Status_ID=(
SELECT Order_Status_ID WHERE Order_Status_Name=“ISSUSCESS”
Tr
)
ấ ạ ng h p Th t b i:(“ISFAIL”) ầ ợ ữ ệ ơ ườ D li u đ u vào :Mã đ n hàng(Order_ID)
X lý d li u :
ữ ệ ử
(cid:0) ậ ể ậ ữ ệ ơ
ề ạ ậ
ớ ậ Thu t toán ki m tra và C p nh t d li u đ n hàng ậ ơ theo Order_ID : C p nh t đ n hàng v tr ng thái thành công v i Order_Status_Name= ”ISFAIL”
(cid:0)
Truy v n: ấ UPDATE TMS_Order SET Order_Status_ID=(
60
SELECT Order_Status_ID WHERE Order_Status_Name=“ISFAIL” )
ệ ạ ủ ệ ể ị 2.8 Xem v trí hi n t ả ồ i, Đi m giao hàng c a L nh (b n đ )
ể ị Hình 4.1.10 Xem v trí và đi m giao hàng
ả Gi i thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Shipping_Order_ID)
ữ ệ ệ ề ầ ộ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ể ơ
ả ồ ấ ữ ệ Thu t toán ki m tra và l y d li u đ n hàng theo ơ ẽ ị Shipping_Order_IDvà v v trí đ n hàng lên b n đ
(cid:0) ấ ữ ệ SELECT
Truy v n d li u : d.TMS_Location_Name,d.TMS_Location_Latitude,d.TMS_Location _Longitude
61
FROM TMS_Shipping_Order a LEFT JOIN TMS_Shipping_Order_Status b ON a.Shipping_Order_ID=b.Shipping_Order_Status_ID LEFT JOIN TMS_Order c on a.Order_ID=c.Order_ID LEFT JOIN TMS_Location d on a.Location_ID=d.Location_ID
LEFT JOIN TMS_Order_Status e on c.Order_Status_ID=e.Order_Status_ID WHERE a.Shipping_Order_Code='XACNHAN'
ậ ậ 2.9 Thông tin COD và C p nh t COD
ậ ậ Hình 4.1.11 C p nh t COD và thông tin COD
ả Gi i thích
1. Thông tin COD
(cid:0) D li u đ u vào :Mã Đ n Hàng(Order_ID)
ữ ệ ầ ơ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) Ki m tra và l y d li u đ n hàng theo Order_ID
ấ ữ ệ ể ơ
(cid:0) ấ ữ ệ
Truy v n d li u : SELECT COD,COD_Is_Receive,Receiver,Phone,Create_Date FROM TMS_Order WHERE Order_ID=Order_ID
ậ ậ 2.C p nh t COD
(cid:0) D li u đ u vào :Mã Đ n Hàng(Order_ID)
ữ ệ ầ ơ
(cid:0) X lý d li u :
62
ữ ệ ử
(cid:0) Ki m tra và c p nh t d li u COD th c t
ậ ữ ệ ự ế ủ ơ ể ậ c a đ n hàng theo
Order_ID
(cid:0) ấ ữ ệ Update TMS_Order SET
Truy v n d li u : COD_Is_Receive=COD_INPUT WHERE Order_ID=Order_ID
2.10 Thông tin Hàng Hóa
Hình 4.1.12 Thông tin hàng hóa
ả Gi i Thích
(cid:0) D li u đ u vào :Mã Đ n Hàng(Order_ID)
ữ ệ ầ ơ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) Ki m tra và l y d li u đ n hàng theo Order_ID
ấ ữ ệ ể ơ
ấ ữ ệ SELECT
63
Truy v n d li u : Total_Carton,Total_Weight,Total_CBM,ItemType,Is_Tranfer,DescriptionErr FROM TMS_Order WHERE Order_ID=Order_ID
ệ ạ ệ ả III. Qu n lý l nh (hi n t i)
ơ ệ 3.1 Xem danh sách các đ n hàng trên l nh
ệ ơ Hình 4.3.1 Xem danh sách các đ n hàng trên l nh
ả Gi i thích
(cid:0) D li u đ u vào : Id Tài X (Driver_ID)
ữ ệ ế ầ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ể Thu t toán ki m tra Driver_ID
Ki m tra thông tin Driver_ID đ
ể ệ ố
ồ ạ ế ượ ư c l u trong h th ng ,n u ể i Driver_ID thì chuy n sang màn hình Login . không t n t
ệ ệ ớ ở ượ ạ ấ c l i l y danh sách l nh theo Driver_ID v i các l nh
Ng ạ tr ng thái : “ISDRIVING”
ấ ữ ệ Truy v n d li u :SELECT
a.Shipping_Order_ID,a.Shipping_Order_Code,b.Shipping_Order_ Status_Name from TMS_Shipping_Order a
64
LEFT JOIN TMS_Shipping_Order_Status b on a.Shipping_Order_ID=b.Shipping_Order_Status_ID WHERE b.Shipping_Order_Status_Name =“ISDRIVING”
ơ 3.2 Xem danh sách đ n hàng
ơ Hình 4.3.2 Xem danh sách đ n hàng
ả Gi i Thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Shipping_Order_ID)
ữ ệ ệ ề ầ ộ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ấ ữ ệ ể ơ
Thu t toán ki m tra và l y d li u đ n hàng theo Shipping_Order_ID
(cid:0)
(cid:0)
ấ ữ ệ Truy v n d li u SELECT c.Order_Code,c.Address,c.County,c.District,c.Ward,d.Status_ Name
65
FROM TMS_Shipping_Ordera LEFT JOIN TMS_Shipping_Order_Statusb ON a.Shipping_Order_ID=b.Shipping_Order_Status_ID LEFT JOIN TMS_Order c on a.Order_ID=c.Order_ID LEFT JOIN TMS_Order_Status d on c.Order_Status_ID=d.Order_Status_ID WHERE b.Shipping_Order_Status_Name=”CONFIRM”
ể ả 3.3 Xem thông tin chuy n t ơ i các đ n hàng
ể ả Hình 4.3.3 Xem thông tin chuy n t ơ i các đ n hàng
66
ứ ừ Scan các ch ng t liên quan
ệ ạ
ơ IV. Danh Sách Đ n Hàng (hi n t
i)
ệ ạ ơ 4.1 Xem danh sách đ n hàng hi n t i:
ệ ạ ơ Hình 4.4.1 Xem danh sách đ n hàng hi n t i
ả Gi i Thích
(cid:0) D li u đ u vào :Mã l nh đi u đ ng(Shipping_Order_ID)
ữ ệ ệ ề ầ ộ
(cid:0) X lý d li u :
ữ ệ ử
(cid:0) ậ ấ ữ ệ ể ơ
Thu t toán ki m tra và l y d li u đ n hàng theo Shipping_Order_ID
(cid:0) ấ ữ ệ SELECT
Truy v n d li u : c.Order_Code,c.Address,c.County,c.District,c.Ward,d.Status_Name
67
FROM TMS_Shipping_Order a LEFT JOIN TMS_Shipping_Order_Status b ON a.Shipping_Order_ID=b.Shipping_Order_Status_ID LEFT JOIN TMS_Order c on a.Order_ID=c.Order_ID LEFT JOIN TMS_Order_Status d on c.Order_Status_ID=d.Order_Status_ID WHERE b.Shipping_Order_Status_Name=”ISDRIVING”
V. Barcode
ậ ả ậ ơ ể Scan barcode trên đ n hàng v t lý đ truy c p nhanh vào form qu n lý các
ụ ủ ơ tác v c a đ n hàng này
Hình 4.5.1 Scan barcode
ả Gi i thích
68
(cid:0) Scan l nh:ệ
(cid:0) ữ ệ ế ầ D li u đ u vào : Id Tài X (Shipping_Order_ID)
ượ ấ ừ đ c l y t Scan BarCode
(cid:0) ữ ệ ử X lý d li u :
(cid:0) ể ậ Thu t toán ki m tra Shipping_Order_ID
ể ế
ể ồ Ki m tra thông tin Shipping_Order_ID,n u không t n ạ t i Shipping_Order_ID thì chuy n sang màn hình Chính .
ệ ớ
ượ ạ ấ i l y thông tin l nh theo Shipping_Order_ID v i Ng c l ở ạ tr ng thái : các lênh “ISDRIVING”
ấ ữ ệ Truy v n d li u :SELECT a.Shipping_Order_ID,a.Shipping_Order_Code,b.Shipping_ Order_Status_Name from TMS_Shipping_Order a
LEFT JOIN
TMS_Shipping_Order_Status b on a.Shipping_Order_ID=b.Shipping_Order_Stat us_ID WHERE b.Shipping_Order_Status_Name =“ISDRIVING”
Sau khi scan thành công n u có l nh t n t ứ ệ
ồ ạ ể i thì chuy n
ượ ế sang màn hình ch a l nh đ ệ c Scan
(cid:0) ơ Scan đ n hàng:
(cid:0) ầ ữ ệ ệ
ượ ấ ừ c l y t Scan
ề D li u đ u vào :Mã l nh đi u ộ đ ng(Shipping_Order_ID),Order_ID đ BarCode
(cid:0) ữ ệ ử X lý d li u :
(cid:0) ấ ữ ệ ể ậ ơ Thu t toán ki m tra và l y d li u đ n hàng theo
Shipping_Order_ID,và Order_ID
(cid:0) ấ ữ ệ Truy v n d li u :
SELECT c.Order_Code,c.Address,c.County,c.District,c.Ward,d.Status_ Name
69
FROM TMS_Shipping_Order a LEFT JOIN TMS_Shipping_Order_Status b ON a.Shipping_Order_ID=b.Shipping_Order_Status_ID LEFT JOIN TMS_Order c on a.Order_ID=c.Order_ID LEFT JOIN TMS_Order_Status d on c.Order_Status_ID=d.Order_Status_ID
WHERE
ơ b.Shipping_Order_Status_Name=”ISDRIVING” and c.Order =’Order_ID’ Sau khi scan thành công n u có đ n hàng t n t i thì
ể ượ ế ứ ơ chuy n sang màn hình ch a đ n hàng đ ồ ạ c Scan
Ậ
Ế
K T LU N
ế ậ
ầ
ả ế
ạ
ạ ự ậ ạ ơ c th c t p t ạ ườ i tr ứ ề ệ ể
ủ ầ ờ
ự ấ ướ ố
ắ
ầ ầ ườ ữ ế ế ộ
ẽ
ọ ữ ữ ư ệ
ầ ộ ầ ữ ề
ộ ờ ế ơ ầ 1.K t lu n ầ ề ả ơ Công ty TNHH Ph n M m BSM đã cho c h i cho em ơ ộ Đ u tiên em xin c m n ờ ị ượ ả ơ ầ đ i đ n v trong th i gian qua. Và c m n đ n các th y cô gi ng ệ ẳ ố ừ ng Cao đ ng Bách Vi viên t t đã d y em trong su t ba năm v a qua, các ế ề ế ki n th c mà các th y cô đã truy n đ t giúp em hi u bi t thêm v công vi c sau ứ ệ ố ế ơ này c a và cũng nh các ki n th c đó giúp em th c hi n t t bài báo cáo này. H n ầ ơ ế ẫ h t, em xin chân thành cám n th y Lê Qu c Tu n, giáo viên h ng d n trong ườ ự ậ ọ ậ ớ quá trình th c t p và báo cáo, ng i th y đã g n bó v i quá trình h c t p trong ả ầ ạ ừ i th y đ y tâm huy t và luôn h t mình d y b o nh ng năm v a qua, m t ng ẽ ượ chúng em, sau bài báo cáo này có l em s hoàn thành khóa h c và không đ c ớ ườ ả ầ ng này n a nh ng v i nh ng gì th y đã làm vi c cùng th y trong gi ng đ ự ớ ạ ẽ ệ truy n đ t s là m t đ ng l c l n cho em trong công vi c sau này. M t l n n a ố ớ ử t n đ i v i th y. em xin g i m t l ộ ộ i bi
ờ ộ ề ể ề ể ự ứ
ệ ượ ề ủ ụ ớ
ư ự ế ữ ậ ể ớ
ự ề ệ ề ộ ệ ế ớ ứ ụ ể
ế ề ệ ề ạ ộ ắ ắ
70
ể ướ ầ ụ ụ Sau m t th i gian tìm hi u đ tài “Tìm hi u v Android và xây d ng ng d ng Quản Lý Vận Chuyển Hàng Hóa cho Công Ty TNHH Phần Mềm BSM trên Mobile” em đã th c hi n đ c đ tài c a mình theo nh d ki n.V i m c đích là ể ế ề tìm hi u v h đi u hành Android, hi u bi t v ngôn ng l p trình m i cho đi n ủ ệ ề i tho i di đ ng và tìm hi u các ng d ng c a h đi u hành Android trong th gi ể di đ ng ngày nay. Thông qua vi c tìm hi u và n m b t lý thuy t v h đi u hành Android đ b ệ ể ứ c đ u tìm hi u ng d ng Qu ản Lý Vận Chuyển Hàng Hóa cho
ệ ề ề
ệ ộ Công Ty TNHH Phần Mềm BSM trên Mobile trên n n h đi u hành Android cho ạ đi n tho i di đ ng.
ể ứ ể
ế ị ộ ượ ế t b di đ ng em đã thu đ c k t
ả ướ ầ ư ế ề ệ ề Trong quá trình tìm hi u lý thuy t v h đi u hành Android và tìm hi u ng ụ d ng Qu qu b ản Lý Vận Chuyển Hàng Hóa cho thi c đ u nh sau:
ướ ầ ể
ạ ạ c đ u hi u v h đi u ạ ắ ộ ề ệ ề t và n m v ng quá trình t o m t file
ề ậ ứ ề ể Sau quá trình tìm hi u và nghiên c u đ tài, em đã b ữ ế ệ hành Android ch y trên đi n tho i. Bi project trong l p trình trên n n Android.
ố ượ ươ ứ ỗ ợ ậ ề ớ c các l p đ i t ng, ph ng th c h tr l p trình trên n n
ượ ử ụ ể Hi u và s d ng đ ệ ề h đi u hành Android.
ệ ớ ậ ữ ệ ậ c c ch làm vi c v i Webservice đ l y và c p nh t d li u cho
ể ượ ơ ế ữ ứ ể ấ ườ ụ ầ Hi u đ nh ng ng d ng c n thông tin nhanh chóng, th ng xuyên và chính xác.
ớ ờ ắ ế ế ạ
ứ
i h đi u hành Android nên ch ể ươ ề ấ ể ư ươ ng trình ng trình thân
ề ễ ử ụ ẽ ố ắ ơ ế ề ứ ệ ứ ủ ả Do th i gian ng n cùng v i ki n th c c a b n thân còn h n ch nên em ch a tìm ớ ệ ề ế ể hi u sâu v các ki n th c liên quan t ạ ẫ v n còn r t nhi u h n ch , em s c g ng phát tri n thêm đ ch thi n, d s d ng và nhi u ch c năng h n.
ể ủ ề ả ể ọ ị ị
ả i có th chia s nh ng đ a ẻ ệ ặ ườ ể ế ế t đ n đ c bi ẻ ữ ữ t trong nh ng h m
ể ỏ ườ ướ 2. H ng phát tri n c a đ tài: ứ Thêm ch c năng du l ch và qu ng bá đ m i ng ị ở đi m thú v ữ nh hay nh ng con đ tp.hcm mà không ph i ai cũng bi ấ ng khu t sâu.
ệ
ứ ả ữ ườ ề ị ọ ấ ị ọ i cũng có ch n
ể ậ ề ị ứ ể ặ ị Ch c năng trên hi n th rõ các quán ăn, nhà hàng ,…theo nh ng icon nh t đ nh ế ồ trên b n đ và có bài vi t liên quan v đ a đi m này m i ng ch c năng thích ho c không thích và bình lu n v đ a đi m.
ậ ệ ố ế ể ậ ộ C p nh t h th ng thông tin tuy n đi m m t cách chính xác.
ợ ứ ụ ề ầ ộ Tích h p ng d ng trên các ph n m m di đ ng
ả ơ
ạ ầ ầ ế ỡ ạ ể
ơ Em xin chân thành c m n các th y cô cùng các b n đã giúp đ em hoàn thành.Trong bài báo cáo còn có thi u sót mong th y cô và các b n góp ý đ em ệ hoàn thi n h n.
ệ ợ ở ọ ọ ơ
Ư ể 3. u đi m: ườ i cho ng
Ti n l i dùng m i lúc m i n i trên Smarphone
ủ ệ ễ ạ ả D dàng qu n lý các tr ng thái c a l nh
ế ệ ả ờ ườ Ti t ki m th i gian qu ng đ ng giao hàng
ế ượ ả Ti ệ t ki m đ c chi phí qu n lý
71
ườ ằ ộ ố ư Tìm đ ng đi b ng googlemaps m t cách t i u.
ậ ạ ậ ơ ủ ệ C p nh t tr ng thái c a l nh và đ n hàng realtime
ế ị ụ
ể ế 4. Khuy t đi m: ầ ư Chi phí đ u t
thi t b chuyên d ng cao
Ả
Ệ
TÀI LI U THAM KH O
Website
1. http://diendan.vietandroid.com/forum.php
2. http://developer.android.com/reference/android/util/Log.html
3. PragmaticHello Android(2008)Ed Bunette
4. http://www.anddev.org/
5. http://markana.com/forums/android/
6. http://khoapham.vn/khoahoclaptrinh...
7. http://www.nhatnghe.com/
8. http://sinhvienit.net
ế Ti ng Anh
Tên giáo trình: Android Design Patterns: Interaction Design Solutions for
Developers
Tác gi :ả (By: Ian G. Clifton)
Tên giáo trình: Android Recipes: A ProblemSolution Approach
Tác gi :ả (By: Dave Smith & Jeff Friesen )
72
Tên giáo trình: Programming Android,
Tác gi :ả (By: Zigurd Mednieks, Laird Dornin, G. Blake Meike & Masumi
Nakamura)
ề
V google map api v3: developers.google.com
Ebook tham khảo: Ebook tham khao\Ki thuat lap trinh ajax.pdf
ả ơ
Em xin chân thành c m n!
73