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

Xây dựng ứng dụng quản lý tủ đồ cá nhân trên hệ điều hành 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 (1.79 MB, 60 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC

Khóa Luận Tốt Nghiệp
Đề Tài:
XÂY DỰNG ỨNG DỤNG QUẢN LÝ TỦ ĐỒ CÁ NHÂN
TRÊN HỆ ĐIỀU HÀNH ANDROID

Giảng viên hướng dẫn : Th.S Hồ Ngọc Tú
Sinh viên thực hiện

: Nguyễn Thị Tâm

Lớp

: 10CNTT3

Đà Nẵng – 2014


LỜI CẢM ƠN

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy cô khoa
Tin học trường đại học Sư phạm - ĐH Đà Nẵng đã tận tình giúp đỡ, truyền đạt kiến
thức cho em trong suốt 4 năm đại học, và đặc biệt là thầy Hồ Ngọc Tú người đã
trực tiếp chỉ dạy và hướng dẫn em thực hiện đề tài này.
Em xin chân thành cảm ơn ban lãnh đạo công ty TNHH Tin học & Thương
mại AsNet đã tiếp nhận và tạo điều kiện cho em hoàn thành tốt đồ án tốt nghiệp.
Đặc biệt xin gửi lời cảm ơn sâu sắc đến các anh Ngơ Chí Trung, anh Phạm Trần
Hữu Thọ, anh Ung Toàn Trung, chị Nguyễn Thị Thu Trang đã dành sự quan tâm và


trực tiếp hướng dẫn em trong quá trình học tập và nghiên cứu tại cơng ty.
Đồng thời cũng gửi lời cảm ơn đến tất cả các bạn sinh viên cùng khóa và tập
thể lớp 10CNTT3 khoa tin học - Trường ĐH Sư Phạm - ĐH Đà Nẵng đã ủng hộ,
giúp đỡ, chia sẻ kiến thức và kinh nghiệm trong thời gian qua.
Và để có được kết quả như ngày hơm nay, em rất biết ơn gia đình đã động
viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng
như quá trình thực hiện đề tài này.
Mặc dù em đã cố gắng hoàn thành tốt đồ án tốt nghiệp. Tuy nhiên, do kinh
nghiệm và vốn kiến thức còn hạn chế nên khơng tránh khỏi những thiếu sót. Em rất
mong nhận được sự góp ý, nhận xét của các anh chị, thầy cô và các bạn.

Em xin chân thành cảm ơn !
Sinh viên

Nguyễn Thị Tâm


LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn trực
tiếp của thầy Th.S Hồ Ngọc Tú.
2. Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả,
tên cơng trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu
hoàn toàn trách nhiệm.

Sinh viên

Nguyễn Thị Tâm



MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU .........................................................................................1
1.1. BỐI CẢNH CỦA ĐỀ TÀI ................................................................................1
1.1.1 Tên đề tài .....................................................................................................1
1.1.2. Lý do chọn đề tài ........................................................................................1
1.2. MỤC ĐÍCH NGHIÊN CỨU ............................................................................3
1.3. ĐỐI TƯỢNG NGHIÊN CỨU ..........................................................................4
1.4. PHƯƠNG PHÁP NGHIÊN CỨU ....................................................................4
1.5. MỤC TIÊU CẦN ĐẠT ĐƯỢC ........................................................................5
1.6. Ý NGHĨA CỦA ĐỀ TÀI ..................................................................................5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .....................................................................6
2.1.

TỔNG QUAN VỀ ANDROID ......................................................................6

2.1.1. Android và lịch sử phát triển ......................................................................6
2.1.2. Chức năng chính của Android ....................................................................7
2.1.3. Kiến trúc của Android ................................................................................8
2.1.4. Android emulator .....................................................................................10
2.1.5. Các thành phần của Android ....................................................................11
b. Intent ..............................................................................................................12
2.1.6. Chu kỳ của ứng dụng Android .................................................................17
2.3. LƯU TRỮ DỮ LIỆU TRONG ANDROID ...................................................20
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG ......................................22
3.1. KHẢO SÁT THỰC TRẠNG .........................................................................22
3.1.2. Nhìn nhận về các ứng dụng quản lý tủ đồ trên thị trường ........................22
3.1.3. Giải pháp ..................................................................................................22



3.2. PHÂN TÍCH BÀI TỐN ...............................................................................23
3.3. XÁC ĐỊNH U CẦU ..................................................................................24
3.3.1. Yêu cầu chức năng ...................................................................................24
3.3.2. Yêu cầu phi chức năng .............................................................................24
3.4. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ...........................................................25
3.4.1. Các chức năng của ứng dụng....................................................................25
3.4.2. Sơ đồ phân rã chức năng ..........................................................................26
3.4.3. Biểu đồ luồng dữ liệu 3 mức ....................................................................27
3.4.4. Phân tích đặc tả hệ thống ..........................................................................31
CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC ...............................................................38
4.1. CHỨC NĂNG CỦA ỨNG DỤNG.................................................................38
4.2. ĐÁNH GIÁ .....................................................................................................50
KẾT LUẬN ...........................................................................................................51
1. ƯU ĐIỂM ....................................................................................................51
2. HẠN CHẾ....................................................................................................51
3. HƯỚNG PHÁT TRIỂN ..............................................................................51
TÀI LIỆU THAM KHẢO ...................................................................................52


DANH MỤC CÁC BẢNG
Bảng 3.1 Mô tả Actor ............................................................................................. 32
Bảng 3.2 Mô tả Use Case ...................................................................................... 32
Bảng 3.3 Mô tả dữ liệu bảng tổng kê .................................................................... 33
Bảng 3.4 Mô tả dữ liệu bảng tủ đồ ........................................................................ 34
Bảng 3.5 Mô tả dữ liệu bảng cửa hàng ................................................................. 35
Bảng 3.6 Mô tả dữ liệu bảng lưu hình ảnh khi phối đồ xong ............................... 36


DANH MỤC HÌNH ẢNH
Hình 2.1 Kiến trúc hệ điều hành Android ............................................................... 8

Hình 2.2 Android emulator 2.3 ............................................................................. 11
Hình 2.3 Sử dụng intent để truyền dữ liệu giữa 2 activity với nhau ..................... 13
Hình 2.4 Vịng đời của services ............................................................................ 15
Hình 2.5 Các trạng thái của activity ...................................................................... 17
Hình 3.1 Bài tốn .................................................................................................. 25
Hình 3.2 Chức năng của ứng dụng ........................................................................ 26
Hình 3.3 Sơ đồ phân rã chức năng ........................................................................ 27
Hình 3.4 Sơ đồ ngữ cảnh ....................................................................................... 28
Hình 3.5 Sơ đồ dữ liệu mức đỉnh .......................................................................... 28
Hình 3.6 Sơ đồ dữ liệu mức dưới đỉnh – 1............................................................. 28
Hình 3.7 Sơ đồ dữ liệu mức dưới đỉnh – 2............................................................. 29
Hình 3.8 Sơ đồ dữ liệu mức dưới đỉnh – 3............................................................. 30
Hình 3.9 Sơ đồ Use Case tổng quát ...................................................................... 31
Hình 3.10 Mơ hình thực thể quan hệ ..................................................................... 37
Hình 4.1 Giao diện đầu ......................................................................................... 38
Hình 4.2 Giao diện màn hình trang chủ ................................................................ 39
Hình 4.3 Giao diện About App ............................................................................. 40
Hình 4.4 Giao diện profile .................................................................................... 41
Hình 4.5 Giao diện Closet ..................................................................................... 42
Hình 4.6 Giao diện khi người dùng thêm đồ vào từ gallery hoặc camera ............. 43
Hình 4.7 Giao diện trang your style ...................................................................... 44


Hình 4.8 Giao diện màn hình khi phối đồ xong .................................................... 45
Hình 4.9 Giao diện khi lưu những bộ đồ đã phối xong ......................................... 46
Hình 4.10 Giao diện khi người dùng chia sẻ ảnh đồ vừa phối lên facebook ........ 47
Hình 4.11 Giao diện phần thời trang nữ ................................................................ 48
Hình 4.12 Giao diện phần thời trang nam ............................................................. 48
Hình 4.13 Giao diện khi người dùng chọn phần thời trang nữ .............................. 49
Hình 4.14 Giao diện khi người dùng xem chi tiết và mua đồ ............................... 50



Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

CHƯƠNG 1: MỞ ĐẦU
1.1. BỐI CẢNH CỦA ĐỀ TÀI
1.1.1 Tên đề tài
“Xây dựng ứng dụng quản lý tủ đồ cá nhân trên hệ điều hành Android”
1.1.2. Lý do chọn đề tài
Công nghệ thơng tin đang giữ một vai trị quan trọng trong sự phát triển của
lồi người nói chung và sự phát triển kinh tế, chính trị, xã hội của một đất nước nói
riêng, Việt Nam cũng khơng là một ngoại lệ. Việc nắm bắt được công nghệ thông
tin sẽ giúp chúng ta luôn bắt kịp với thời đại, nắm bắt được xu thế phát triển của thế
giới, đưa ra những dự báo, dự đốn, góp phần vào sự phát triển chung của thế giới.
Thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vô vàn các
nhãn hiệu, kiểu dáng, tính năng…kéo theo đó là cuộc cạnh tranh vô cùng khốc liệt
của các nhà sản xuất hệ điều hành mobile. Google Android mặc dù ra đời muộn hơn
những hệ điều hành khác nhưng lại đang là hệ điều hành số 1 trên thị trường (56.1%
vào tháng 1/2012). Tất cả các ứng dụng như : định vị GPS, multimedia, lướt web và
kết nối interner, ứng dụng văn phịng, tích hợp các mạng xã hội hay chơi
game…đều xuất hiện trên thiết bị điện thoại thông minh chạy hệ điều hành Android.
Sự đa dạng về mức giá cũng như kiểu dáng đã khiến Android trở thành một trong
những nền tảng smartphone phổ biến nhất tại Việt Nam năm 2011. Xây dựng ứng
dụng trên smartphone là lĩnh vực có tốc độ phát triển nhanh nhất trong ngành công
nghệ thông tin với 1,4 tỉ thuê bao.
Với xu thế và tính tất yếu của lĩnh vực lập trình ứng dụng nói chung và
lập trình Android nói riêng đã mang đến luồng gió mới trong ngành công nghệ
thông tin. Cùng với sự phát triển như vũ bão, nhu cầu nhân lực cũng đang nóng dần

với hàng trăm vị trí tuyển dụng vẫn chưa tìm được ứng viên.

Nguyễn Thị Tâm - 10CNTT3

1


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Xuất hiện tại Việt Nam, lập trình Android đang là lĩnh vực mới mẻ với nhiều
tiềm năng trong thị trường lập trình ứng dụng và nguồn nhân lực trong tương lai.
Cuộc sống ngày càng văn minh, con người càng chú trọng đến vẻ ngồi
của mình nhiều hơn trong sinh hoạt, làm việc và quan trọng là trong giao tiếp, ngoài
ra ở mỗi giới tính và ở những lứa tuổi khác nhau thì mỗi người sẽ có những xu
hướng ăn mặc khác nhau, nếu như những người đàn ông trung niên hướng tới sự
giản dị trong đời sống hằng ngày, và lịch lãm trong cơng việc, giao tiếp thì ngược
lại các chị em phụ nữ ở mọi lứa tuổi ln muốn mình được hợp thời trang, và đặc
biệt là các bạn trẻ thích thể hiện cá tính của mình qua cách ăn mặc. Những điều đó
làm cho mỗi người có nhiều quần áo hơn trong tủ đồ của mình, đồng nghĩa với việc
chi tiêu, mua sắm làm sao để khơng lãng phí, mặc đồ hợp lý và hợp thời trang cũng
như sắp xếp và quản lý tủ đồ của mình một cách khoa học là quan trọng và cần
thiết. Nhưng không phải ai cũng có đủ thời gian cũng như biết cách để có thể thực
hiện việc đó.
Chính vì vậy em đã chọn đề tài “xây dựng ứng dụng quản lý tủ đồ cá
nhân trên hệ điều hành Android” làm đề tài cho đồ án tốt nghiệp của mình. Ý tưởng
ứng dụng A LA MODE được ra đời để trở thành một trợ lý đắc lực về thời trang
trong thời đại hiện nay. Đồng thời thơng qua đề tài này em có thể tiếp cận với xu
hướng trong lĩnh vực công nghệ thơng tin hiện nay – Lập trình cho smartphone, đặc

biệt là lập trình cho hệ điều hành Android.

Nguyễn Thị Tâm - 10CNTT3

2


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

1.2. MỤC ĐÍCH NGHIÊN CỨU
Mục đích chính khi em nghiên cứu đề tài này là:
● Áp dụng các kiến thức đã học được ở trường như
○ Phân tích và thiết kế hệ thống thông tin
○ Công cụ và môi trường phát triển phần mềm
○ Trí tuệ nhân tạo
○ Cơng nghệ phần mềm
● Nghiên cứu và tìm hiểu về lập trình cho hệ điều hành Android
o

Thành phần trong 1 ứng dụng Android

o

Tài nguyên của ứng dụng

o

Giao diện người dùng


o

Hình ảnh động

o

Camera trong Android

o

Hỗ trợ đa màn hình

o

Sử dụng carousel menu 3D

o

Lưu trữ dữ liệu

o

Lập trình đúng các quy tắc trong lập trình ứng dụng Android.

● Tìm hiểu các thơng tin về thời trang

Nguyễn Thị Tâm - 10CNTT3

3



Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

1.3. ĐỐI TƯỢNG NGHIÊN CỨU
● Khách thể nghiên cứu :
○ Các thiết bị smartphone chạy trên hệ điều hành Android.
● Đối tượng nghiên cứu
o

Chị em phụ nữ ở mọi lứa tuổi
 Họ là những người ln muốn mình đẹp và hợp thời trang ở
mọi lúc mọi nơi.

o

Nam, nữ thanh thiếu niên
 Những người trẻ tuổi ln muốn khẳng định cá tính, phong
cách của mình qua cách ăn mặc.

o

Nam trung niên, doanh nhân
 Họ có một chút bận rộn nhưng dù sao cũng cần phải chú ý tới
cách ăn mặc một chút.

o Các chủ shop thời trang
 Những shop thời trang có thể liên hệ với admin để đưa sản

phẩm của họ lên ứng dụng nhằm quảng bá và bán sản phẩm.

1.4. PHƯƠNG PHÁP NGHIÊN CỨU
Sử dụng phương pháp nghiên cứu thực tiễn.
Đọc hiểu tài liệu qua sách, báo, tạp chí thời trang .
Kết hợp phương pháp quan sát, điều tra hiện trạng và thu thập số liệu.
Sử dụng các phương pháp mơ hình hóa, sử dụng phần mềm Xmind để phân
tích và thiết kế nội dung.
Thực hành thiết kế, xây dựng dưới sự hỗ trợ của người hướng dẫn, tham
khảo ý kiến của người hướng dẫn.
Tiến hành tổng hợp thông tin, phân loại. Kết hợp với những kiến thức và
công nghệ có sẵn, tiến hành việc thiết kế và xây dựng ứng dụng “A LA MODE”.

Nguyễn Thị Tâm - 10CNTT3

4


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

1.5. MỤC TIÊU CẦN ĐẠT ĐƯỢC
Hoàn thành ứng dụng.
Sản phẩm được sử dụng rộng rãi trên thị trường, đáp ứng được nhu cầu của
người sử dụng.

1.6. Ý NGHĨA CỦA ĐỀ TÀI
Đề tài này có ý nghĩa rất lớn trong việc thể hiện những kiến thức quý báu mà
em đã học được trong suốt thời gian qua.

Về mặt thực tiễn, phần mềm giúp người dùng quản lí việc mua sắm, tiết kiệm
tiền bạc.
Vì vậy em hy vọng đề tài của mình sẽ trở thành một sản phẩm hoàn chỉnh,
được đưa vào sử dụng rộng rãi để có thể đáp lại sự dạy dỗ tận tình của tất cả các
thầy cơ và cả tâm huyết của bản thân khi thực hiện đề tài.

Nguyễn Thị Tâm - 10CNTT3

5


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. TỔNG QUAN VỀ ANDROID
2.1.1. Android và lịch sử phát triển
Android là một hệ điều hành dành cho thiết bị di động như điện thoại,
máy tính bảng và netbooks. Android được phát triển bởi Google, dựa trên
nền tảng Linux kernel và các phần mềm nguồn mở. Ban đầu nó được phát
triển bởi Android Inc (sau đó được Google mua lại) và gần đây nó trở thành
một trong những phần mềm đứng đầu của liên minh OHA (Open Handset
Alliance - với khoảng 78 thành viên bao gồm cả nhà sản xuất, nhà phát triển
ứng dụng... cho thiết bị di dộng mà dẫn đầu là Google). Android được phát
triển nhằm cạnh tranh với các hệ điều hành di động khác như iOS (Apple),
BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung
(Bada), WebOS (Palm)... Theo thống kê trong quý II năm 2010 tại Mỹ, hệ
điều hành Android chiếm thị phần 33% (cao nhất) trong tổng số các hệ điều
hành di động được bán ra, thứ 2 là BlackBerry OS 28% và iOS (Apple) xếp

thứ 3 với 22%.
Android có một cộng đồng phát triển ứng dụng rất lớn, hiện có
khoảng hơn 70.000 ứng dụng có sẵn cho Android và đang liên tục được cập
nhật. Ứng dụng được phát triển bằng ngôn ngữ Java kết hợp với thư viện
Java có sẵn của Google. Các nhà phát triển ứng dụng có thể sử dụng máy
tính chạy hệ điều hành Windows hoặc MacOS hoặc Linux kết hợp với
Android SDK để phát triển ứng dụng cho Android. Hệ điều hành Android
bao gồm 12.000.000 dòng mã trong đó có 3.000.000 dịng XML, 2.800.000
dịng C, 2.100.000 dịng Java, và 1.750.000 dòng C++.
Để phát triển phần mềm trên Android, các lập trình viên có thể tải về
bộ cơng cụ phát triển (Android SDK). Bộ công cụ bao gồm các công cụ và
các API cần thiết, sử dụng ngôn ngữ Java để lập trình.

Nguyễn Thị Tâm - 10CNTT3

6


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

2.1.2. Chức năng chính của Android
Các chức năng mà Android cung cấp:
 Android cung cấp framework ứng dụng cho phép việc tái sử dụng và thay
thế mã nguồn ở dạng component một cách dễ dàng.
 Cung cấp máy ảo Dalvik được tối ưu cho các thiết bị di động.
 Trình duyệt Web dựa trên engine mã nguồn mở Webkit.
 Các tính năng đồ họa được tối ưu bởi một thư viện đồ họa 2D bên dưới;
đối với đồ họa 3D, Android sử dụng thư viện OpenGL ES 1.0 nếu thiết bị

có hỗ trợ.
 Sử dụng SQLite để lưu trữ dữ liệu có cấu trúc.
 Hỗ trợ các định dạng hình ảnh, âm thanh, video phổ biến như MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF.
 Hỗ trợ băng tầng GSM (tùy vào phần cứng thiết bị).
 Hỗ trợ Bluetooth, EDGE, 3G, WiFi (tùy vào phần cứng thiết bị).
 Ngồi ra cịn có khả năng của các thiết bị như máy chụp ảnh, thiết bị định
vị toàn cầu, la bàn, và bộ cảm biến gia tốc.
 Cung cấp môi trường phát triển phần mềm đầy đủ, bao gồm phần mềm
giả lập thiết bị, các công cụ gỡ rối (debugging), theo dõi bộ nhớ và năng
suất hoạt động, plugin cho Eclipse IDE.

Nguyễn Thị Tâm - 10CNTT3

7


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

2.1.3. Kiến trúc của Android

Hình 2.1: Kiến trúc hệ điều hành Android
Tầng ứng dụng – Applications:
Tầng ứng dụng của Android bao gồm các ứng dụng cốt lõi như:
 Email client
 Chương trình SMS
 Lịch
 Bản đồ

 Trình duyệt
 Danh bạ
 Các ứng dụng khác

Nguyễn Thị Tâm - 10CNTT3

8


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Tầng Application Framework:
Ở tầng này, các nhà phát triển ứng dụng có thể truy cập vào phần cứng thiết
bị, thơng tin định vị vị trí, chạy các dịch vụ nền, đặt các cảnh báo, thông báo vào
thanh trạng thái, v.v…. và quan trọng nhất, đó là các API của framework.
Phía dưới tất cả các ứng dụng là một tập các dịch vụ hệ thống bao gồm:
 Một tập các đối tượng View có thể được mở rộng để xây dựng một ứng
dụng, gồm có List, Grid, TextBox, Button, và WebBrowser.
 Các đối tượng ContentProvider cho phép các ứng dụng truy cập vào dữ
liệu của các ứng dụng khác (chẳng hạn như truy cập danh bạ), hoặc để
chia sẽ dữ liệu với nhau.
 Một trình quản lý tài nguyên, cho phép truy xuất các tài nguyên không
phải mã nguồn như các chuỗi đã được bản địa hóa, các tập tin đồ họa và
giao diện.
 Trình quản lý thơng báo cho phép tất cả các ứng dụng hiển thị các cảnh
báo lên thanh trạng thái.
 Trình quản lý các đối tượng Activity dùng để quản lý vòng đời của các
ứng dụng cung cấp các chức năng điều hướng.

Tầng Libraries - Runtime
Tầng này cung cấp các thư viện media dựa trên thư viện PacketVideo’s
OpenCORE; các thư viện này hỗ trợ khả năng playback và thu lại nhiều định dạng
âm thanh, hình ảnh thơng dụng như MPEG4, H.264, MP3, AAC, AMR, JPG, PNG.
Kèm theo đó là thư viện SQLite, một hệ quản trị cơ sở dữ liệu nhỏ nhẹ và mạnh mẽ
được cung cấp cho tất cả các ứng dụng.
Ở Runtime, Android cung cấp máy ảo Dalvik dùng để thực thi các file định
dạng Dalvik Executable (.dex) đã được tối ưu hóa cho các thiết bị có bộ nhớ nhỏ.
Máy ảo Dalvik chỉ chạy các class đã được đăng ký và được biên dịch bởi một trình
biên dịch Java đi kèm theo bộ SDK (dx tool).

Nguyễn Thị Tâm - 10CNTT3

9


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Tầng Linux kernel
Android được phát triển dựa trên các dịch vụ hệ thống cốt lõi của Linux
phiên bản 2.6, bao gồm các module:
 Security
 Memory management
 Process management
 Network stack
 Driver model
Tầng kernel hoạt động như một lớp trừu tượng giữa lớp phần cứng và phần
mềm.

2.1.4. Android emulator
Android SDK và Plugin Eclipse được gọi là một Android Deverloper
Tool (ADT). Các Android coder sẽ cần phải sử dụng công cụ IDE (Integrated
Development Enveronment) này để phát triển, debugging và testing cho ứng dụng.
Tuy nhiên, các coder cũng có thể khơng cần phải sử dụng IDE mà thay vào đó là sử
dụng command line để biên dịch và tất nhiên là vẫn có Emulator như thường.
Android Emulator được trang bị đầy đủ hầu hết các tính năng của một
thiết bị thật. Tuy nhiên, một số đã bị giới hạn như là kết nối qua cổng USB, camera
và video, nghe phone, nguồn điện giả lập và bluetooth.
Android Emulator thực hiện các công việc thông qua một bộ xử lý mã
nguồn mở, công nghệ này được gọi là QEMU ( được phát
triển bởi Fabrice Bellard.

Nguyễn Thị Tâm - 10CNTT3

10


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Hình 2.2: Android emulator 2.3
2.1.5. Các thành phần của Android
a. Activity
Một activity thể hiện một giao diện đồ họa người dùng. Ví dụ một
activity có thể biểu diễn một danh sách các menu item để có thể chọn và hiện thị
hình ảnh cùng 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ị danh sách các liên hệ để gửi tin nhắn tới, hoạt động thứ hai là hoạt động
viết tin nhắn tới liên hệ được chọn, các hoạt động tiếp theo là hoạt động 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 một hoặc nhiều activity. Thông thường một
trong số các activity được đánh dấu 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 khởi động activity kế tiếp.

Nguyễn Thị Tâm - 10CNTT3

11


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Một 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 activity, hay một cửa sổ biểu diễn cho
người dùng những thông tin quan trọng khi họ chọn một item cũng 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ừ 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 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. Android có một số view đã xây dựng sẵn mà
bạn có thể sử dụng – gồm các buttons, text view, text field, menu bar, …

b. Intent
Android sử dụng Intents như là những thông điệp bất đồng bộ để cho phép
các thành phần ứng dụng “nói chuyện” được với nhau: yêu cầu chức năng từ thành
phần khác, cho phép tương tác với các thành phần riêng và các ứng dụng khác.
Có 2 thuộc tính quan trọng của Intent khi lập trình trên Android cần chú ý đó
là Action và Data:


Action: qui định hành động chung sẽ được thực hiện.



Data: là dữ liệu sẽ được xử lý.
Ngồi ra cịn có một số thuộc tính bổ sung khác của Intent như : category -

type - component - extras

Nguyễn Thị Tâm - 10CNTT3

12


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Trong Android, Intent có thể được phân thành hai loại:
 Explicit Intent: là loại Intent được khai báo 1 cách tường minh thành phần sẽ
nhận và xử lý Intent bằng cách thiết lập giá trị phù hợp qua setComponent
(Component name) hoặc setClass (Context, Class). Explicit Intent thường

được sử dụng để khởi chạy các activity trong cùng 1 ứng dụng.
 Implicit Intent: là loại Intent không cần chỉ rõ component xử lý mà chỉ cần
cung cấp đủ các thông tin cần thiết để hệ thống có thể tự xác định xem nên
dùng các thành phần (component) có sẵn nào để chạy là tốt nhất. Ví dụ: Khi
các ứng dụng Android mở một trang web. Tất cả các trình duyệt web được
cài đặt phải được đăng ký với các dữ liệu tương ứng với mục đính thơng qua
bộ lọc nhất định. Khi Android nhận được một Implicit Intent, nó sẽ tìm tất cả
các thành phần đăng ký và dữ liệu phù hợp. Nếu hệ thống chỉ tìm thấy một
component phù hợp thì Android sẽ bắt đầu chạy trực tiếp. Trong tình huống
có nhiều component phù hợp, Android sẽ hiện thông báo để quyết định chọn
thành phần sẽ chạy.

Hình 2.3: Sử dụng intent để truyền dữ liệu giữa 2 activity với nhau
Về nguyên tắc có thể đặt tên action của một intent là bất cứ thứ gì theo chuẩn
đặt tên thơng thường, hay thậm chí dùng ln hằng action đã định nghĩa sẵn như
ACTION_VIEW (hay “Android.intent.action.VIEW”). Cái tên VIEW thực chất chỉ
là một tên gợi tả, bạn có thể dùng nó với mục đích thực hiện một activity để… gửi
mail!

Tuy nhiên điều đó rõ ràng là rất “ngớ ngẩn”. Thay vào đó ta hãy dùng

ACTION_SEND hay ACTION_SENDTO. Việc đặt tên action cho intent đúng tên

Nguyễn Thị Tâm - 10CNTT3

13


Báo cáo khóa luận tốt nghiệp


GVHD: Th.S Hồ Ngọc Tú

gợi tả cịn có một ý nghĩa khác đó là ứng dụng của bạn có thể được triệu gọi từ một
ứng dụng khác. Ví dụ bạn viết một ứng dụng có activity đáp ứng intent
ACTION_SEND và để chia sẻ một bức ảnh lên trang web của bạn (giống như ta
làm với Facebook, Flickr, ...). Khi đó có thể ứng dụng của bạn sẽ là một lựa chọn
chia sẻ ảnh của người dùng điện thoại.
c. Broadcast receiver
BroadcastReceiver (có thể gọi là Receiver là một trong bốn loại thành phần
trong ứng dụng Android. Chức năng dùng để nhận các sự kiện mà các ứng dụng
hoặc hệ thống phát đi. Có 2 cách phát-nhận đó là:
 Khơng có thứ tự: receiver nào đủ điều kiện thì nhận hết, khơng phân biệt và
cũng tách rời nhau.
 Có thứ tự: receiver nào đăng ký ưu tiên hơn thì nhận trước, và có thể truyền
thêm thơng tin xử lý cho các receiver sau.
Thực ra vòng đời của BroadcastReceiver chỉ có duy nhất một phương thức
onReceive().
 Khi có sự kiện mà BroadcastReceiver đã đăng ký nhận được phát đi, thì
phương thức onReceive() của BroadcastReceiver đó sẽ được gọi.
 Sau khi thực thi xong phương thức này, vòng đời của Receiver kết thúc.
Một số broadcast thông dụng
 Báo hệ thống khởi động xong
 Báo pin có sự thay đổi
 Báo có package mới cài vào hoặc xóa đi
 Báo tắt máy
 Báo cắm sạc, rút sạc…

Nguyễn Thị Tâm - 10CNTT3

14



Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

d. Service
Là một cơng việc nào đó mà chúng ta muốn thực hiện dưới nền mà không
cần đến giao diện tương tác ví dụ như: update GUI, download file, xử lý tính tốn,
chơi nhạc nền ..v..v
Vịng đời của Service: Tương tự như Intent thì Service cũng có vịng đời của
nó, và Android quy định cách bạn chỉ định một service khởi chạy nó và kết thúc nó
như sau :

Hình 2.4: Vịng đời của services

Nguyễn Thị Tâm - 10CNTT3

15


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

Chúng ta có thể khởi tạo (start) một service theo hai cách
Cách1:
Nó được khởi tạo thơng qua lời gọi startService(), với lời gọi này hệ
thống sẽ lấy về service mà chúng ta muốn sử dụng sau đó gọi đến phương thức
onCreate() nếu cần, tất nhiên đó là do bạn có làm một số công việc trong phương

thức này. Tiếp đến là onStart() service sẽ được khởi tạo lại một lần nữa cho dù trước
đó nó đã được tạo, sau đó Service sẽ được chuyển đến trạng thái running, tức là
chạy những cơng việc mà bạn muốn service làm. Hủy nó thơng qua override
phương thức onDestroy() ở phương thức này bạn có thể thực hiện giải phóng tài
ngun cho những cơng việc mà bạn làm trước đó, hay ngừng (stop) một cơng việc
nào đó, ví dụ như ngừng chơi nhạc. Với cách này thì nên sử dụng trong những
trường hợp mà các thành phần trong ứng dụng truy cập tới service một cách local
tức là các thành phần trong ứng dụng khác khơng chỉ định service đó.
Cách 2 :
Service được khởi tạo thơng qua bindService(), và có một số khác biệt như
sau, có ba phương thức onBind(), onUnBind() và reBind(). Đây là ba phương thức
mà bạn có thể kiểm sốt cũng như đáp ứng những tương tác từ client. Khi bạn một
lớp được kế thừa (extends) từ service thì phương thức đầu tiên mà bạn cần override
đó là onBind, đối số truyền vào của nó là một intent, intent này chính là intent hiện
tại mà từ đó bạn yêu cầu service hoạt động.

Nguyễn Thị Tâm - 10CNTT3

16


Báo cáo khóa luận tốt nghiệp

GVHD: Th.S Hồ Ngọc Tú

2.1.6. Chu kỳ của ứng dụng Android
Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho
ứng dụng khi cần được run và sẽ còn chạy cho đến khi:
 Nó khơng phụ thuộc.
 Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác

Một sự khác thường và đặc tính cơ bản của Android là thời gian sống của
tiến trình ứng dụng khơng được điều khiển trực tiếp bới chính nó. Thay vào đó, nó
được xác định bởi hệ thống qua một kết hợp của:
 Những phần của ứng dụng mà hệ thống biết đang chạy
 Những phần quan trọng như thế nào đối với người dùng
a. Các trạng thái của activity

Hình 2.5: Các trạng thái của activity

Nguyễn Thị Tâm - 10CNTT3

17


×