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 T­Mobile 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  soft­keyboard 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.

ệ ọ ả ế ị ớ ư ẻ M­System 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ó e­mail 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 e­mail (Email­Client), 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 pop­up

ứ ọ ộ ườ ở ữ ủ 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à text­entry , 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 (S­expression) 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 (datatype­oriented 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

heri

NXB tre

12000

Vuot thoi gian

NX Kim Dong

16000

29

Ví d :ụ

Chi em

NXB Kim Dong

14000

ộ ạ ượ ở ầ ấ 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,

ộ ố ả ượ ế ằ Murray­Rust 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 . Murray­Rust là ng ọ   i đ u tiên đ  xu t nh ng gì ông g i

ặ ố là "YAXPAPI". Lý do Murray­Rust 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] TABLE­name đ  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. Pragmatic­Hello Android(2008)­Ed Bunette

4. http://www.anddev.org/

5. http://markana.com/forums/android/

6. http://khoapham.vn/khoa­hoc­lap­trinh...

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 Problem­Solution 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