Mục lục
Chương 1 GIỚI THIỆU CÔNG TY...............................................................................................7
1.1 Lịch sử hình thành và phát triển của công ty:.....................................................................7
1.1 Sơ lược về công ty:.................................................................................................................7
1.2 Quá trình hình thành và phát triển......................................................................................7
1.3 Tầm nhìn và sứ mạng của công ty........................................................................................8
1.4 Hoạt động đoàn thể và các phong trào khác....................................................................10
Chương 2 KIẾN THỨC CƠ SỞ...................................................................................................17
I. TỔNG QUAN VỀ ANDROID..............................................................................................17
A. Android và lịch sử phát triển...........................................................................................17
2.1 Kiến trúc Android...........................................................................................................18
2.2 Linux Kernel....................................................................................................................18
2.3 Library và Android Runtime..........................................................................................19
B.Các thành phần của Android............................................................................................23
1.Thành phần của 1 chương trình Android.........................................................................23
2. Activity và Intent...............................................................................................................23
4. Broadcast Reveive.............................................................................................................27
5. Content Provider...............................................................................................................27
6. Manifest File......................................................................................................................27
7. Giao diện người dùng trong Android...............................................................................28
8. Các thành phần giao diện Widget...................................................................................28
9. Bắt sự kiện trong Android...............................................................................................29
10. Menu.................................................................................................................................29
II. PHÂN TÍCH XML TRONG ANDROID............................................................................30
A.Tổng quan về XML............................................................................................................30
1.Khái niệm............................................................................................................................30
2.Đặc điểm của XML.............................................................................................................30
3.Cấu trúc của XML..............................................................................................................31
4. RSS.....................................................................................................................................32
5. Các lớp, giao diện phân tích XML trong Android..........................................................32
6. Phân tích nội dung XML trong Android sử dụng SAX..................................................34
III. SQL SERVER.....................................................................................................................35
1. Khái niệm, định nghĩa SQL server?.................................................................................35
2. Lịch sử phát triển..............................................................................................................36
1
3. Đặc điểm của SQL Server và đối tượng làm việc............................................................36
IV. CLOUD SERVER...............................................................................................................37
Cloud server là gì?.................................................................................................................37
Tính năng Cloud Server........................................................................................................37
Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG............................................................................39
I. Danh mục các chức năng chính.............................................................................................39
II.Mô tả sơ lược chức năng TMS cho di động..............................................................................40
III.Biểu đồ luồng dử liệu...............................................................................................................40
3.1 Biểu đồ luồng dữ liệu mức khung cảnh.................................................................................40
3.2 Biểu đồ luồng dữ liệu mức đỉnh............................................................................................41
3.3 Biểu đồ luồng dữ liệu mức 1 của chức năng chuyển tải..........................................................42
3.4 Biểu đồ luồng dữ liệu mức 1 của chức năng Tìm kiếm...........................................................42
3.5 Biểu đồ luồng dữ liệu mức 1 của chức năng quản trị.............................................................43
3.6 Mô hình ERD:....................................................................................................................44
3.7 Chuyển từ ERD sang lược đồ qan hệ....................................................................................45
IV.Thiết kế CSDL cho hệ thống APP TMS....................................................................................46
1. Order:..................................................................................................................................46
2.TMS_Driver:.........................................................................................................................46
3. TMS_Location.....................................................................................................................46
4. TMS_Order_Status..............................................................................................................47
5. TMS_Route..........................................................................................................................47
6. TMS_Shipping_Order..........................................................................................................47
7. TMS_Shipping_Order_Status...............................................................................................47
8.Mô hình cài đặt SQL Server..............................................................................................48
CHƯƠNG 4 XÂY DỰNG APP TMS...........................................................................................49
I.Quản lý tài khoản....................................................................................................................49
1.1 Đăng nhập/Đăng xuất......................................................................................................49
1.2 Thay đổi mật khẩu đăng nhập hệ thống........................................................................50
II. Quản lý danh sách lệnh điều động (hiện tại).....................................................................51
2.1 Xem thông tin chung của lệnh điều động.......................................................................51
2.2 Xem danh sách lịch sử lệnh đã chạy...............................................................................52
2.3 Xem chi tiết lệnh.............................................................................................................53
2.4 Cập nhật trạng thái lệnh(Vận Chuyển,Về Bến,Sự Cố).................................................54
2.5 Xem danh sách đơn hàng................................................................................................55
2.6 Xem chi tiết đơn hàng.....................................................................................................56
2.7 Cập nhật trạng đơn hàng(thành công, thất bại)............................................................57
2
2.8 Xem vị trí hiện tại, Điểm giao hàng của Lệnh (bản đồ)................................................58
2.9 Thông tin COD và Cập nhật COD.................................................................................59
2.10 Thông tin Hàng Hóa......................................................................................................60
III. Quản lý lệnh (hiện tại)........................................................................................................61
3.1 Xem danh sách các đơn hàng trên lệnh.........................................................................61
3.2 Xem danh sách đơn hàng................................................................................................62
3.3 Xem thông tin chuyển tải các đơn hàng.........................................................................63
V. Barcode.................................................................................................................................65
KẾT LUẬN....................................................................................................................................67
1.Kết luận...............................................................................................................................67
2. Hướng phát triển của đề tài:.............................................................................................68
3. Ưu điểm:.............................................................................................................................68
4. Khuyết điểm:....................................................................................................................68
TÀI LIỆU THAM KHẢO.........................................................................................................69
Website...................................................................................................................................69
Tiếng Anh...............................................................................................................................69
Về google map api v3:...........................................................................................................69
Ebook tham khảo:...................................................................................................................69
3
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 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 2017
4
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ước vào
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 kết
nối với cơ sở dữ liệu web nên tôi đã chọn đề tà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ười dùng mới làm quen với Android Studio cũng 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ữ thông tin giấy tờ, 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ười sử dụng tra cứu thông tin tuyến xe một cách hiệu quả.Nhanh
chóng và thuận tiện đặc biệc trên S.mast phone Tìm đường đi bằng 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:
5
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 lại tốn khá nhiều thời gian
● 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ắng nhưng do hạn chế về mặc thời gian và trình độ nên đềtài 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 được sựđóng góp ý kiến của Thầy và các bạn.
TP.HCM ,ngày 24 tháng 06 năm 2017
6
Chương 1 GIỚ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:
1.1 Sơ lược về công ty:
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:
[email protected]
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
Website
:
[email protected]
: 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 với
Honeywell.
Đến năm 2016, Công ty TNHH Phần Mềm BSM là thành viên của
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) được thành lập vào ngày 14 tháng 05 năm 2002, là thành viên
của Tập đoàn Đầu tư Sài Gòn (SGI) – một trong những tập đoàn tư nhân
hàng đầu tại Việt Nam, chủ sở hữu của 38 Khu Công Nghiệp trải dài 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
7
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 hàng đầu tại Việt
Nam và Thế Giới. Công ty TNHH Phần Mềm BSM cung cấp những giải
pháp phần mềm hiệu quả và chất lượng trong các 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ối ưu hóa
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 nhìn và sứ mạng của 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”.
● 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ới hơn 30 người. Trong
thời gian tới đây, để tiếp tục phá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.
8
● 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ại BSM Software Corpkhông ngừng đượ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
trong nhứng yếu tố cơ bản tạo dựng thành công của Công ty.
9
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
Hình 1.2 Quà Tặng cho người nghèo
10
Hinh 1.3 Giúp đỡ bệnh nhân hoàng cảnh khó khăn
Hình 1.4 Các trò chơi di công ty tổ chức
11
Hình 1.5 Hoạt động văn nghệ
Hình 1.6 Hội thao tổ chức cho các nhân viên
12
Hình 1.7 Tổ chức sinh nhật cho các nhân viên hàng tháng
13
ĐẠI HỘI ĐỒNG
CỔ ĐÔNG
HỘI ĐỒNG QUẢN TRỊ
BAN KIỂM SÁT
GIÁM ĐỐC ĐIỀU HÀNH
HÀNH
Phòng
tổ
chức
hành
chính
Phòng
kinh
doanh
tiếp
thị
Phòng
kế toántài chính
Phòng
thanh
tra phát
chế
Ban
công tác
chính
trị-Xã
hội
Ban
quản lý
điều
hành
Xưởng
sửa
chữa
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.
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ị.
14
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.
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.
15
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 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.
16
Chương 2 KIẾN THỨC CƠ SỞ
I. TỔNG QUAN VỀ ANDROID
A. Android và lịch sử phát triển
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 TMobile 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 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
17
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.
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).
18
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.
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
19
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 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).
20