Tải bản đầy đủ (.pdf) (67 trang)

Xây dựng ứng dụng hỗ trợ thông tin địa điểm các shop thời trang ở Hà Nội trên nền tảng Android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.12 MB, 67 trang )

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP
Xây dựng ứng dụng hỗ trợ thông tin địa điểm các shop
thời trang ở Hà Nội trên nền tảng Android

Giảng viên hướng dẫn

: TS. NGUYỄN LÊ CƯỜNG

Sinh viên thực hiện

: PHẠM THỊ MỪNG

Ngành

: ĐIỆN TỬ - VIỄN THÔNG

Chuyên ngành

: ĐIỆN TỬ - VIỄN THÔNG

Lớp

: Đ6 – ĐTVT2

Khóa

: 2011 – 2016


Hà Nội, tháng 1, năm 2016


TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN TỐT NGHIỆP
Xây dựng ứng dụng hỗ trợ thông tin địa điểm các shop
thời trang ở Hà Nội trên nền tảng Android
Giảng viên hướng dẫn

: TS. NGUYỄN LÊ CƯỜNG

Sinh viên thực hiện

: PHẠM THỊ MỪNG

Ngành

: ĐIỆN TỬ - VIỄN THÔNG

Chuyên ngành

: ĐIỆN TỬ - VIỄN THÔNG

Lớp

: Đ6 – ĐTVT2

Khóa


: 2011 – 2016

Hà Nội, tháng 1, năm 2016


LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cám ơn sâu sắc tới thầy giáo Ts Nguyễn Lê Cường
đã hướng dẫn và giúp đỡ em trong suốt quá trình thực tập và làm đồ án tốt nghiệp.
Em xin cám ơn thầy giáo chủ nhiệm TS. Lê Anh Ngọc cùng toàn thể các thầy
cô trong khoa Điện tử- Viễn thông trường Đại học Điện Lực đã có những chỉ dẫn,
định hướng và trang bị cho em những kiến thức trong suốt quá trình học tập tại trường.
Em xin gửi lời cám ơn tới trường Đại học Điện Lực đã tạo điều kiện giúp đỡ em
trong quá trình học tập tại trường.
Cuối cùng em xin gửi lời cảm ơn tới gia đình, bạn bè, những người đã giúp đỡ động
viên em hoàn thành đồ án này.

Hà Nội, ngày 10 tháng 1 năm 2016
Sinh viên


NHẬN XÉT
(Của giảng viên hướng dẫn)

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………
Giảng viên hướng dẫn
(Ký, ghi rõ họ tên)


NHẬN XÉT
(Của giảng viên phản biện)

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
……………………………………….................................................................
....
Giảng viên phản biện
(Ký, ghi rõ họ tên)


TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ - VIỄN THÔNG

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP

Họ và tên sinh viên: Phạm Thị Mừng
Lớp: Đ6-ĐTVT2

Khoá: Đ6

Ngành đào tạo: CN KT Điện tử và Truyền thông

Hệ đào tạo: Chính quy

1. Tên đồ án tốt nghiệp:
Xây dựng ứng dụng hỗ trợ thông tin địa điểm các shop thời trang ở Hà Nội
trên nền tảng Android

2. Sự cần thiết của đồ án:
Hiện nay, đời sống ngày càng được nâng cao. Vì thế nhu cầu mua sắm của mọi
người cũng tăng lên và được chú trọng hơn, đặc biệt là các sản phẩm về thời trang.
Trong thời kì công nghệ thông tin càng ngày càng phát triển, mọi người có nhiều cách
thức mua sắm mới tiện ích dễ dàng hơn như mua trực tiếp tại cửa hàng, mua qua
mạng, hay thông qua các trang web, các ứng dụng trên di động của các cửa hàng,
công ty để lựa chọn cho mình được sản phẩm tốt, phù hợp với yêu cầu của mình. Ở
Hà Nội có rất nhiều shop thời trang, và các web về thời trang . Tuy nhiên không phải
ai cũng biết các shop hay các web này nên sẽ bỏ qua rất nhiều sản phẩm tốt, phù hợp
với mình hơn.
Cùng với sự phát triển mạng mẽ của công nghệ di động, đặc biệt là các thiết
bị di động thông minh. Các thiết bị cầm tay đã trở lên mạnh mẽ và phổ biến. Trong
vài năm trở lại đây, hệ điều hành android ra đời và trở thành nền tảng điện thoại thông
minh phổ biến nhất thế giới, với sự kế thừa những ưu việt của các hệ điều hành ra đời
trước và sự kết hợp của nhiều công nghệ tiên tiến nhất hiện nay. Những ưu điểm dễ
thấy nhất của Android chính là khả năng tuỳ biến nhanh chóng, dễ làm quen, ứng
dụng hỗ trợ phong phú, tương thích với đa cấu hình của các nhà sản xuất. Dù đã hay
chưa từng sử dụng smartphone Android thì bạn cũng không cần quá lo lắng về việc
thay đổi. Hầu như tất cả các smartphone sử dụng hệ điều hành Android đều rất dễ sử
dụng, đơn giản, tuỳ biến theo từng sở thích cá nhân, cũng như có rất nhiều ứng dụng
thoả mãn yêu cầu người dùng. Đồng thời Android có mã nguồn mở đã cho phép tất
cả các nhà phát triển thiết bị, mạng di động và các lập trình viên được điều chỉnh và
phân phối Android một cách tự do. Bởi vậy trước nhu cầu và lợi thế đó, em quyết
định nghiên cứu và xây dựng ứng dụng: Xây dựng ứng dụng hỗ trợ thông tin địa
điểm các shop thời trang ở Hà Nội trên nền tảng Android
3. Mục tiêu của đồ án:


a. Lý thuyết
- Nghiên cứu về lập trình trên hệ điều hành android

- Nghiên cứu ngôn ngữ java
- Nghiên cứu xây dựng giao diện với xml trong android
- Nghiên cứu về Google Map API
b. Thực hiện
- Xây dựng ứng dụng thông tin về các shop thời trang
- Liên kết trực tiếp với trang web của các shop đó
- Tìm đường đi từ vị trí của người sử dụng đến địa điểm shop thời trang đó thông
qua GPS
4. Nội dung chính của đồ án:
Chương 1: Cơ sở lý thuyết
Trong chương 1 sẽ trình bày về lịch sử, kiến trúc vòng đời của hệ điều hành
Android, và các vấn đề chung của hệ điều hành Android
Chương 2: Google Map và Google Map API Web Service
Trong chương 2 sẽ trình bày về các dịch vụ về bản đồ được cung cấp bởi
Google cho các ứng dụng di động.
Chương 3: Xây dựng ứng dụng
Áp dụng cách phân tích thiết kế ở chương 2 để tạo ra các giao diện và các trạng
thái hoạt động của ứng dụng. Chạy ứng dụng trên máy ảo Genymotion hoặc máy
Android thật.
Chương 4: Kết luận và hướng phát triển đề tài
Đưa ra một số hướng phát triển mới cho đề tài
Tài liệu tham khảo (dự kiến):
1. />2. Trường đại học khoa học tự nhiên – đai học QG Hồ Chí Minh, Giáo trình Lập
trình thiết bị di động Android
5. Kết quả của đồ án:
Trình bày về hệ điều hành android, kiến trúc , cách khởi tạo các dự án. Tạo ra
được ứng dụng hoàn chỉnh.
6. Thời gian thực hiện đồ án: Từ 5/10/2015- 5/01/2016. Ngày nộp đồ án: 5/01/2016.



MỤC LỤC

MỤC LỤC
DANH MỤC HÌNH VẼ
DANH MỤC TỪ VIẾT TẮT
LỜI MỞ ĐẦU
CHƯƠNG I. TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID ..................... 12
I.1. Hệ điều hành Android .......................................................................... 1
I.1.1. Lịch sử Android ............................................................................... 1
I.1.2. Ưu điểm của Android ...................................................................... 2
I.1.3. Thành phần trong ứng dụng Android .............................................. 3
I.1.4. Các file cần thiết trong một ứng dụng Android ............................... 4
I.1.5. Vòng đời của một ứng dụng Adroid ................................................ 5
I.1.6. Android hiện nay ............................................................................. 7
I.2 . Kiến trúc hệ điều hành Android ........................................................ 8
I.2.1. Applications .................................................................................... 9
I.2.2. Applications framework ................................................................. 9
I.2.3. Library........................................................................................... 10
I.2.4. Android Runtime .......................................................................... 11
I.2.5. Linux Kernel ................................................................................. 11
I.3. Công cụ phát triển hệ điều hành Android ....................................... 11
I.4. Làm việc với XML trong Android .................................................... 12
I.4.1. XML là gì? ..................................................................................... 12
I.4.2. Dùng XML tạo giao diện cho ứng dụng Android ......................... 12
I.4.3. Dùng XML tạo cơ sở dữ liệu cho ứng dụng Android ................... 13
CHƯƠNG II. GOOGLE MAP VÀ GOOGLE MAP API WEB
SERVICES ..................................................................................................... 14
II.1. Google Map ........................................................................................ 14
II.1.1. Giới thiệu Google Map ................................................................. 14
II.1.2. Google Maps cho điện thoại......................................................... 14



II.2. Google Maps API Web Services ...................................................... 15
II.2.1. Giới thiệu Google Maps API Web Services ................................ 15
II.2.2. Sử dụng Google Maps API Web Services ................................... 16
II.3. Google Geocoding API ..................................................................... 18
II.3.1. Mã hoá địa lý là gì? ...................................................................... 18
II.3.2. Giới hạn sử dụng .......................................................................... 18
II.3.3 Geocoding API request ................................................................. 18
II.3.4. Kết quả mã hoá địa lý ................................................................... 19
II.3.5. Giải mã địa lý (tìm địa chỉ dựa vào kinh độ - vĩ độ) ................... 25
II.4. Google Direction API ........................................................................ 26
II.4.1 Google Direction request............................................................... 27
II.4.2. Kết quả trả về Google Direction................................................... 28
CHƯƠNG III: XÂY DỰNG HỆ THỐNG .................................................. 34
III.1. Phân tích thiết kế dữ liệu ................................................................ 34
III.1.1. Đặc tả hệ thống............................................................................ 34
III.1.2. Biểu đồ chức năng ....................................................................... 34
III.2. Các vấn đề trong quá trình xây dựng ứng dụng .......................... 34
III.2.1. Giao diện UI trong lập trình Android ......................................... 35
III.2.2. Cách thiết lập Google Maps API trong ứng dụng Android ........ 39
III.2.3. Tìm vị trí hiện tại bằng các Location Provider ........................... 42
III.2.4. Sử dụng Intent để goi các Activity và truyền dữ liệu giữa các
Activity .................................................................................................... 44
III.3. Kết quả xây dựng ứng dụng ........................................................... 46
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI .......... 52
IV.1. Ưu và khuyết điểm của chương trình đã xây dựng ...................... 52
IV.1.1. Ưu điểm ...................................................................................... 52
IV.1.2. Khuyết điểm ................................................................................ 52
IV.2. Hướng đi trong tương lai ................................................................ 52

IV.3. Kết quả đạt được ............................................................................. 53
KẾT LUẬN .................................................................................................... 54
TÀI LIỆU THAM KHẢO ............................................................................ 55


DANH MỤC HÌNH VẼ

Hình 1.1 Vòng đời của một ứng dụng Android...................... Trang 6
Hình 1.2. Tỷ lệ sử dụng các phiên bản Android.................... Trang 8
Hình 1.3. Kiến trúc hệ điều hành android.............................. Trang 9
Hình 1.4. Cấu trúc view trong file Activity........................... Trang 13
Hình 3.1. Biểu đồ chức năng................................................. Trang 34
Hình 3.2. Giao diện login đơn giản........................................ Trang 37
Hình 3.3. Giao diện vào ứng dụng......................................... Trang 47
Hình 3.4. Giao diện chính của ứng dụng............................... Trang 48
Hình 3.5. Kết quả tìm kiếm các địa điểm quanh bạn............. Trang 48
Hình 3.6. Giao diện danh mục các shop thời trang................ Trang 49
Hình 3.7. Giao diện danh sách các shop................................. Trang 40
Hình 3.8. Giao diện chi tiết của shop..................................... Trang 50
Hình 3.9. Kết quả trả về trang Web của shop........................ Trang 51
Hình 3.10. Kết quả trả về của tìm đường đi........................... Trang 51


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

App

Application

Ứng dụng


OHA

Open Handset Alliance

Liên minh thiết bị cầm tay mở

VM

Virtual Machine

Máy ảo

SDK

Software Development Kit

Bộ công cụ phát triển phần
mềm

JDK

Java Development Kit

Công cụ phát triển java

API

Application Programming Interface


Giao diện lập trình ứng dụng

Android Android Operating System
OS

Hệ điều hành Android


LỜI MỞ ĐẦU
Hiện nay, đời sống ngày càng được nâng cao. Vì thế nhu cầu mua sắm của mọi
người cũng tăng lên và được chú trọng hơn, đặc biệt là các sản phẩm về thời trang.
Trong thời kì công nghệ thông tin càng ngày càng phát triển, mọi người có nhiều cách
thức mua sắm mới tiện ích dễ dàng hơn như mua trực tiếp tại cửa hàng, mua qua
mạng, hay thông qua các trang web, các ứng dụng trên di động của các cửa hàng,
công ty để lựa chọn cho mình được sản phẩm tốt, phù hợp với yêu cầu của mình. Ở
Hà Nội có rất nhiều shop thời trang, và các web về thời trang . Tuy nhiên không phải
ai cũng biết các shop hay các web này nên sẽ bỏ qua rất nhiều sản phẩm tốt, phù hợp
với mình hơn.
Cùng với sự phát triển mạng mẽ của công nghệ di động, đặc biệt là các thiết
bị di động thông minh. Các thiết bị cầm tay đã trở lên mạnh mẽ và phổ biến. Trong
vài năm trở lại đây, hệ điều hành android ra đời và trở thành nền tảng điện thoại
thông minh phổ biến nhất thế giới, với sự kế thừa những ưu việt của các hệ điều
hành ra đời trước và sự kết hợp của nhiều công nghệ tiên tiến nhất hiện nay. Những
ưu điểm dễ thấy nhất của Android chính là khả năng tuỳ biến nhanh chóng, dễ làm
quen, ứng dụng hỗ trợ phong phú, tương thích với đa cấu hình của các nhà sản xuất.
Đồng thời Android có mã nguồn mở đã cho phép tất cả các nhà phát triển thiết bị,
mạng di động và các lập trình viên được điều chỉnh và phân phối Android một cách
tự do. Bởi vậy trước nhu cầu và lợi thế đó, em quyết định nghiên cứu và xây dựng
ứng dụng: Xây dựng ứng dụng hỗ trợ thông tin địa điểm các shop thời trang ở
Hà Nội trên nền tảng Android. Cụ thể nội dung trong đồ án được chia thành 4


chương chính:
Chương I: Cơ sở lý thuyết
Chương II: Google Map và Google Map API Web Service
Chương III: Xây dựng ứng dụng
Chương IV: Kết luận và hướng phát triển đề tài


Đồ án tốt nghiệp

1

CHƯƠNG I. TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID
I.1. Hệ điều hành Android
I.1.1. Lịch sử Android
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California
vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner
(đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sear (từng là Phó giá đốc TMobile), và Chris While (trưởng thiết kế và giao diện tại WebTV)0[10] .
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến
thành nó trở thành một bộ phận trực thuộc Google. Vào thời điểm đó không có nhiều
thông tin về Tổng công ty, nhưng nhiều người đồn đoán rằng Google dự tính tham
gia vào thị trường điện thoại di động sau bước đi này. Tại Google, nhóm do Rubin
đứng đầu đã phát triển một nền tảng thiết bị trên nền nhân Linux0[10] .
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset
Alliance), một hiệp hội gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn
Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola,
Nvidia, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục
đích phát triển các tiêu chuẩn mở cho thiết bị di động. Cùng ngày, Android cũng được
ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động
xây dựng trên nhân Linux phiên bản 2.6. Chiếc điện thoại Android đầu tiên được bán

ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008. Biểu trưng của hệ điều
Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế Irina Block tại
California vẽ0[10] .
Tại năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ
điều hành, bổ sung các tính năng mới và sử các lỗi trong những lần phát hành trước.
Mỗi bản nâng cấp của Android được đặt tên lần lượt theo thứ tự bảng chữ cái, và theo
tên một món ăn tráng miệng; ví dụ phiên bản 1. 5 Cupcake (bánh bông lan nhỏ có
kem), tiếp nối bằng phiên bản 1.6 Donut (bánh vòng). Phiên bản mới nhất là 6.0
Marshmallow (một loại kẹo dẻo).


Đồ án tốt nghiệp

2

Vào năm 2010, Google cho ra mắt loại thiết bị Nexus- một dòng sản phẩm bao
gồm điện thoại thông mnh và máy tính bảng chạy hệ điều hành Android, do các đối
tác phần cứng sản xuất. HTC đã hợp tác với Google trong chiếc điện thoại thông minh
Nexus đầu tiên (Nexus One) .
Lõi của Android là nhân Linux có nền tảng mã nguồn mở bao gồm 12 triệu dòng
mã: 3 triệu dòng XML, 2.8 triệu dòng mã C, 2.1 triệu dòng mã Java và 1.75 triệu
dòng mã C++. Google đã công bố hầu hết các mã nguồn mở của Android theo bản
cấp phép Apache (bảng cấp phép dùng cho phần mềm mã nguồn mở). Cùng với một
kho ứng dụng phong phú và cộng đồng phát triển rộng lớn của Android, Google còn
đưa ra bộ công cụ Android SDK cung cấp rất nhiều APIs cần thiết cho việc viết các
ứng dụng Android bằng ngôn ngữ lập trình Java0[10] .
I.1.2. Ưu điểm của Android
- Là hệ điều hành mã nguồn mở:
Điều làm cho Android được chú ý nhất chính vì nó là mã nguồn mở. Android
đã thu hút nhiều nhà phát triển và từ tất cả các tầng lớp xã hội khi Google phân phối

miễn phí Android và các đoạn mã có bản quyền khác cho bất cứ ai muốn tham gia
phát triển phần mềm cho Google. Vì thế, chỉ trong một thời gian ngắn, các lập trình
viên cũng như nhà phát triển có thể nhanh chóng đưa ra phiên bản Android được tuỳ
chỉnh của riêng mình.
-

Kho ứng dụng phong phú:
Với kho ứng dụng phong phú, người sử dụng có thể tuỳ chọn những ứng dụng

đáp ứng nhu cầu của mình.
-

Phần cứng đa dạng:
Về phần cứng, Android hiện đang là hệ điều hành xuất hiện trên nhiều thiết bị

nhất. Các nhà sản xuất như Sony Ericsson, Samsung, HTC, LG, và Motorola...cung
cấp cho người dùng nhiều sự đa dạng về mẫu mã sản phẩm.
-

Phần mềm:


Đồ án tốt nghiệp

3

Android có khả năng chạy nhiều ứng dụng cùng một lúc bởi tính năng quản lý
không gian chuyển đổi- đây là tính năng mà không phải thiết bị di động nào cũng hỗ
trợ do hạn chế phần cứng. Android cũng được cài đặt sẵn ActiveSync, cho phép bạn
đồng bộ danh bạ, mail, và các thông tin cá nhân khi thiết bị được kết nối với máy tính

một các dễ dàng.
I.1.3. Thành phần trong ứng dụng Android
Một ứng dụng Android hoàn thiện gồm 6 thành phần:
-

Activity: là nền tảng của một ứng dụng, khi khởi động một ứng dụng Android nào
đó thì bao giờ cũng có một main Activity được gọi, hiển thị màn hình giao diện
của ứng dụng cho phép người dùng tương tác.

-

Service: thành phần chạy ẩn trong Android, service sử dụng để cập nhật dữ liệu,
đưa ra các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thấy.

-

Content Provider: kho dữ liệu chia sẻ, được sử dụng để chia sẻ giữ liệu giữa các
ứng dụng.

-

Intent: nền tảng để truyền tải các thông báo, được sử dụng để gửi thông báo đi
nhằm khởi tạo một Activity hay một Service để thực hiện công việc bạn mong
muốn.

-

Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới.

-


Notification: đưa ra các cảnh báo mà không làm cho các Activity ngừng hoạt
động.
Trong đó các thành phần: Activity, Service, Content Provider, Broadcast

Receiver là những thành phần chính cấu thành nên ứng dụng Android buộc phải khai
báo trong android manifest. Các tiến trình xử lý (process) trong android được quản lý
theo cơ chế ưu tiên, các tiến trình xử lý có mức ưu tiên (priority) thấp sẽ bị giải phóng
mà không bị cảnh báo nhằm đảm bảo tài nguyên.
-

Foreground process: là process của ứng dụng hiện thời đang được người dùng
tương tác.

-

Visible process: là process của ứng dụng mà Activity đang hiển thị đối với người
dùng.

-

Service process: là dịch vụ đang chạy.


Đồ án tốt nghiệp

-

4


Background process: là process của ứng dụng mà Activity của nó không hiển thị
với người dùng.

-

Empty process: process không có bất cứ một thành phần Activity nào.
Theo chế độ ưu tiên thì khi cần tài nguyên, Android sẽ tự động ngừng quá trình

xử lý mà đầu tiên là Empty process. Activity là thành phần đóng vai trò quan trọng
nhất để cấu thành một ứng dụng Android. Hệ điều hành android quản lý Activity theo
dạng stack: khi một Activity mới được khởi tạo, nó sẽ xếp đầu stack và trở thành
Running Activity, các activity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khi
Activity mới được giải phóng.
I.1.4. Các file cần thiết trong một ứng dụng Android
AndroidManifest.xml
Trong bất kì một dự án Android nào khi tạo ra đều có một file
AndroidManifest.xml, file này được dùng để định nghĩa các màn hình sử dụng, các
quyền truy cập cũng như các giao diện cho ứng dụng. Đồng thời, nó cũng chứa các
thông tin về phiên bản SDK cũng như màn hình chính sẽ chạy đầu tiên.
File này được tự động sinh ra khi khởi tạo một dự án Android. Trong file
manifest bao giờ cũng có 3 thành phần chính là: application, permission, và version.
Application: chứa các giá trị định nghĩa cho một ứng dụng Android như icon, tên ứng
dụng, chế độ hiển thị giao diện...Ngoài ra cần phải khai báo các Activity và Service
có trong chương trình tại đây.
Permission: bao gồm các thuộc tính định quyền truy xuất và sử dụng tài nguyên của
ứng dụng. Khi cần sử dụng một loại tài nguyên nào đó thì trong file manifest của ứng
dụng cần phải khai báo các quyền truy xuất tương ứng.
SDK Version: Xác định phiên bản SDK nhỏ nhất và lớn nhất mà mà ứng dụng hiện
đang sử dụng tương ứng với một phiên bản hệ điều hành Android mà ứng dụng có
thể tương thích.

Thư mục res
Thư mục chứa tài nguyên ứng dụng. Thư mục này bao gồm 5 thư mục con là:


Đồ án tốt nghiệp

5

+ drawable; drawable-hdpi; drawable-mdpi- drawable- ldpi: là thư mục dùng để
chứa hình ảnh được chứa trong quá trình thiết kế giao diện ứng dụng, bao gồm cả
icon ứng dụng. Ba thư mục drawable-hdpi; drawable-mdpi- drawable- ldpi tương ứng
với hình ảnh sẽ được sử dụng ở ba độ phân giải khác nhau lần lượt là: cao, trung bình,
thấp. Điều này giúp các nhà lập trình có thể thiết kế giao diện ứng dụng phù hợp với
nhiều độ phân giải màn hình tương thích với nhiều loại thiết bị khác nhau.
+ layout: chứa các file xml dùng để khai báo và thiết kế giao diện cho một Activity
hành một thành phần điều khiển con trong ứng dụng Android.
+ values: gồm các file xml chứa các giá trị chuỗi, mã màu...Giúp người lập trình có
thể dễ dàng thay đổi những giá trị này trong ứng dụng một cách nhanh chóng mà
không cần phải sử trong code của ứng dụng.
+ libs: chứa các thư viện của ứng dụng.
Thư mục src
Là vị trí chứa các gói class trong ứng dụng. Các class có thể là một Activity
hoặc Service hoặc các lớp chức năng nào đó được viết bằng ngôn ngữ Java dựa trên
API được cung cấp sẵn của Android. Cần phải có ít nhất một Activity và khai báo là
Activity chính để chương trình có thể chạy được.
File R.java
File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được sử
dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và các
tài nguyên hình ảnh. Mã nguồn của file R.xml được tự động sinh ra khi có bất kì một
sự kiện nào xảy ra làm thay đổi các thuộc tính trong ứng dụng. Có thể nói file R.java

hoàn toàn không cần phải chạm gì đến trong quá trình xây dụng ứng dụng.
I.1.5. Vòng đời của một ứng dụng Adroid 0[12]
- Running : Activity đang hiển thị trên màn hình (foreground).Cho phép người dùng
tương tác.
- Paused: Activity được tạm dừng, tuy vẫn hiển thị (visible) nhưng ta không thể tương
tác được (mất focus). Có nghĩa là có một activity mới ở trên nó, nhưng không bao


Đồ án tốt nghiệp

6

phủ đầy màn hình. Một activity paused là còn sống, nhưng có thể sẽ được hủy bỏ bởi
hệ thống trong trường hợp thiếu vùng nhớ.
- Stopped: Activity bị thay thế hoàn toàn bởi Activity mới. Nó sẽ bị mất focus và có
thể sẽ bị hệ thống loại bỏ cho các tác vụ khác
- Killed: Khi hệ thống thiếu bộ nhớ, nó sẽ giải phòng các tiến hành theo nguyên tắc
ưu tiên. Các Activity ở trạng thái Stop hoặc Paused cũng có thế bị giải phóng và khi
nó được hiển thị lại thì các Activity này phải khởi động loại hoàn toàn và phục hồi
lại trạng thái trước đó.

Hình 1.1: Vòng đời của một ứng dụng Android
-

Khi mở một Activity lên ứng dụng sẽ thực thi các hàm onCreate() > onStart() > onResume() tới đây activity đã được chạy ổn định.


Đồ án tốt nghiệp

-


7

Sau khi chạy ổn định Activity có thể bị Pause bởi hàm onPause() lúc này có 3
trường hợp xảy ra:

+ TH1: Ứng dụng bị killed và khởi động lại bằng hàm onCreate().
+ TH2: Activity sẽ được resume bởi hàm onResume().
+ TH3: Activity sẽ bị Stop bởi hàm onStop() tới đây activity lại có 3 trường hợp xảy
ra:
-

App process killed: ứng dụng bị tắt và khởi động activity lại.

-

Activity được restart lại (restart khác với resume ở chỗ khi activity bị stop thì mới
restart).

-

Activity bị Destroy bởi hàm onDestroy() và shutdown đến đây và Activity sẽ bị

tắt hoàn toàn.
I.1.6. Android hiện nay
Android được đón nhận bằng một thái độ thờ ơ khi nó ra mắt vào năm 2007.
Công ty nghiên cứu thị trường Canalys đã ước tính trong quý 2 năm 2009 rằng
Android có 2,8% thị phần điện thoại thông minh được bán ra toàn cầu0[10] .
Đến quý 4 năm 2010 con số này tăng lên 33% thị phần, trở thành nền tảng điện
thoại thông minh bán chạy hàng đầu0[10] .

Đến quý 3 năm 2011 Gartner ước tình rằng hơn 1 nửa (52,5%) thị trường điện
thoại thông minh thuộc về Android.
Đến quý 3 năm 2012 Android đã có 75% thị phần điện thoại thông minh toàn
cầu theo nghiên cứu của hãng IDC0[10] .
Vào tháng 7 năm 2011, Google cho biết có 550.000 thiết bị Android mới được
kích hoạt mỗi ngày, đỉnh điểm là 400.000 máy một ngày vào tháng 5, và có hơn 100
triệu thiết bị đã được kích hoạt với mức tăng 4,4% mỗi tuần0[10] .


Đồ án tốt nghiệp

8

Vào tháng 9 năm 2012, 500 triệu thiết bị đã được kích hoạt với 1,3 triệu lượt
kích hoạt mỗi ngày.
Thị phần của Android có khác nhau theo khu vực. Vào tháng 7 năm 2012, thị
phần Android tại Mỹ là 52%,nhưng lên tới 90% tại Trung Quốc0[10] .
Tỷ lệ sử dụng các phiên bản khác nhau tính đến ngày 7 tháng 12 năm 2015. Phần
lớn các thiết bị Android cho tới nay vẫn chạy hệ điều hành phiên bản 4.4 KitKat được
phát hành tháng 10 năm 2013 nhờ tính ổn định và hỗ trợ tốt các máy có cấu hình
thấp0[6] .

Hình 1.2: Tỷ lệ sử dụng các phiên bản Android
I.2 . Kiến trúc hệ điều hành Android


Đồ án tốt nghiệp

9


Hình 1.3. Kiến trúc hệ điều hành Androi
I.2.1. Applications
Applications là tầng đầu tiên của hệ điều hành android, chính là tầng mà người
dùng tương tác. Nó bao gồm các ứng dụng đã được cài đặt gồm0[4] :
-

Ứng dụng hệ thống system app: là app thuộc về hệ thống mà các nhà sản xuất điện
thoại đã viết sẵn vào và chúng ta không thể gỡ bỏ như: phone, sms, contact,....

-

Ứng dụng bên thứ ba là các ứng dụng tự do được phát triển bởi các developer.

I.2.2. Applications 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 nữa. 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


Đồ án tốt nghiệp

10

giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thể xuất bản khả năng
của mình và ứng dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạn
chế bảo mật được thực thi bởi khuôn khổ). Cơ chế này cho phép các thành phần tương
tự sẽ được thay thế bởi người sử dụng. 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ồm0[4] :
-

Activity Manager: quản lý các activity đang chiếu trên màn hình. Khi bật 1 ứng
dụng lên app đó sẽ đưa vào stack, bật tiếp app khác thì app mới bật sẽ đè lên app
cũ và cũng xếp vào stack.

-

Package Manager: quản lý tất cả các gói app được cài đặt trong điện thoại

-

Windows Manager: là đối tượng quản lý tất cả các dữ liệu của màn hình như:
chiều rộng, chiều cao của view

-

Telephony Manager: quản lý các tài nguyên về SIM, kết nối mạng, thực hiện cuộc
gọi, tin nhắn…

-

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 đó.

-

View System quản lý các view như button, textview, …


-

Resource Manager quản lý tất cả các đối tượng để xây dụng lên app đó.

-

Location Manager quản lý vị trí của điện thoại, cập nhật vị trí bằng GPS.

- Notifycation Manager cho phép tất cả các ứng dụng hiển thị các custom alerts trong
status bar.
I.2.3. Library
Cung cấp những thư viện lõi để developer tương tác với phần cứng gồm 2 phần:
java và C/C++. Một số các thư viện cơ bản được liệt kê dưới đây:
Media Libraries: tương tác về nhạc, ảnh, chia sẻ dữ liệu bao gồm: MPEG4, H.264,
MP3, AAC, AMR, JPG, and PNG0[4] .
-

Audio Manager: quản lý tuỳ chọn chỉnh sửa file audio như lúc cắm tai nghe, tăng
âm, giảm âm, hát nhanh, hát chậm...

-

Surface Manager: Quản lý các thao tác với tốc độ nhanh trên màn hình như các
ứng dụng camera để thao tác cập nhật hình ảnh cực nhanh.

-

Open-GL: cung cấp các thư viện đồ hoạ 3D.

- SQLite: sử dụng để quản lý dữ liệu database.



Đồ án tốt nghiệp

11

I.2.4. Android Runtime
Android Runtime là đối tượng lõi của hệ điều hành android. Android bao gồm
một tập hợp các thư viện cơ bản mà cung cấp hầu hết các chức năng có sẵn trong các
thư viện lõi của ngôn ngữ lập trình Java. Tất cả các ứng dụng Android đều chạy trong
tiến trình riêng. Máy ảo Dalvik đã được viết để cho một thiết bị có thể chạy nhiều
máy ảo hiệu quả. Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex). Định dạng
được tối ưu hóa cho bộ nhớ tối thiểu. VM là dựa trên register-based, và chạy các lớp
đã được biên dịch bởi một trình biên dịch Java để chuyển đổi thành các định dạng
dex. Các VM Dalvik dựa vào nhân Linux cho các chức năng cơ bản như luồng và
quản lý bộ nhớ thấp0[4] .
I.2.5. Linux Kernel
Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security,
memory management, process management, network stack, and driver model. Kernel
Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lại của
phần mềm stack0[2] .
I.3. Công cụ phát triển hệ điều hành Android
Công cụ phát triển ứng dụng Android (Android SDK) bao gồm 1 bộ công cụ
phát triển toàn diện bao gồm một trình gỡ lỗi, các thư viện, thiết bị giả lập dựa trên
QEMU, tài liệu, các mẫu ví dụ tham khảo và hướng dẫn. Hiện tại Android SDK được
hỗ trợ các máy tính chạy các hệ điều hành Linux, Mac OS X 10.5.8 hoặc mới hơn,
Windown XP, , Windown Visa, , Windown 7 và mới hơn. Hỗ trợ chính thức trên môi
trường phát triển tích hợp (IDE) Eclipse bằng cách sử dụng Android Development
Tools(ADT) Plugin, bên cạnh đó còn có Android Studio, IntelliJ IDEA IDE (tất cả
các phiên bản) hỗ trợ đầy đủ lập trình Android, và NetBeans IDE cũng hỗ trợ phát

triển Android thông qua một Plugin. Ngoài ra, các nhà phát triển có thể sử dụng trình
soạn thảo bất kỳ để chỉnh sửa các tệp tin Java và XML, sau đó sử dụng công cụ dòng
lệnh (Java Development Kit và Apache Ant yêu cầu) để tạo, biên dịch và gỡ lỗi các
ứng dụng Android cũng như kiểm soát thiết bị Android (ví dụ, kích hoạt khởi động
lại máy, cài đặt phần mềm từ xa) 0[1] .


Đồ án tốt nghiệp

12

Cải tiến của Android đi đôi với sự phát triển của toàn bộ nền tẩng Android. SDK
cũng hỗ trợ các phiên bản cũ hơn của nền tảng Android trong trường hợp các nhà
phát triển muốn phát triển ứng dụng cho thiết bị cũ. Các thành phần của Android SDK
dễ dàng tải xuống vì thế các phiên bản của flatform có thể tải về phiên bản mới nhất
cũng như cũ hơn phục vụ quá trình kiểm thử.
Các ứng dụng Android được đóng gói thành tệp .apk. Và dữ liệu được lưu trữ
trong thư mục /data/app trên hệ điều hành Android. Trong tệp APK chứa tệp tin
.dex(mã nguồn được dịch thành mã byte chạy trên bộ xử lý dalvik) và các tệp tin tài
nguyên...
I.4. Làm việc với XML trong Android
I.4.1. XML là gì?
- XML (viết tắt của 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ác0[5] .
- 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, chèn 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 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 dữ liệu đó.

- XML tương tự như HTML, nhưng các <thẻ phân tử> là do người dùng tự định nghĩa.
- XML được thiết kế đơn giản, dễ hiểu và dễ gửi và nhận trong môi trường Internet.
- Rất nhiều công ty nổi tiềng trên thế giới sử dụng chuẩn XML này để lưu trữ dữ liệu
nội bộ như: Microsoft Office, OpenOffice.org và iWord của Apple.
I.4.2. Dùng XML tạo giao diện cho ứng dụng Android
Giao diện người dùng đồ hoạ cho một ứng dụng Android được xây dựng bởi
một hệ thống các đối tượng View và ViewGroup. Đối tượng View bao gồm các giao


Đồ án tốt nghiệp

13

diện người dùng như : Buttom, TextView, EditText, ImageView... đối tượng
ViewGroup dùng để định nghĩa layout cho các view con của nó sắp xếp ra sao: sắp
xếp theo kiểu lưới hay theo chiều dọc... 0[11]
Mỗi Activity sẽ chứa các View theo dạng cấu trúc cây, nghĩa là một Layout
gốc chứa các view/layout con bên trong hoặc chỉ view duy nhất.

Hình 1.4: Cấu trúc view trong file Activity
I.4.3. Dùng XML tạo cơ sở dữ liệu cho ứng dụng Android
Để tạo cơ sở dữ liệu cho ứng dụng Android, có thể sử dụng plugin SQLite, đơn
giản hơn có thể dùng file định dạng XML. Cấu trúc của file cơ sở dữ liệu này sử dụng
cấu trúc của những file XML khác. Đó là bao gồm các thẻ (do người dùng tự định
nghĩa).
<tên thuộc_tính = “giá trị">nội dung</ tên thuộc_tính>


×