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

Đồ Án.docx

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.76 MB, 60 trang )

TRƯỜNG ĐẠI HỌC PHƯƠNG ĐÔNG
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG


ĐỒ ÁN
ĐỀ TÀI: XÂY DỰNG APP ĐẶT ĐỒ ĂN
 Giảng viên hướng dẫn: Đỗ Thanh Bình
 Sinh viên: Nguyễn Văn Huy (520100048)

2023 – 2024


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

LỜI MỞ ĐẦU......................................................................................................................................4
1.Bối cảnh chọn đề tài.......................................................................................................................4
2.Mục tiêu và phạm vi của đề tài.......................................................................................................4
2.1.Mục tiêu của đồ án..................................................................................................................4
2.2.Phạm vi của đồ án....................................................................................................................4
3.Ý nghĩa của đề tài............................................................................................................................4
CHƯƠNG 1.GIỚI THIỆU VỀ ANDROID....................................................................................................5
1.1.Tìm hiểu về Android.....................................................................................................................5
1.1.1.Lịch sử Android.....................................................................................................................5
1.2.Khái niệm về Android...................................................................................................................6
1.2.1.Android khác với các hệ điều hành trên thiết bị di động khác..............................................6
1.2.2.Đặc tính mở của Android......................................................................................................7
1.2.3.Kiến trúc của Android...........................................................................................................7
CHƯƠNG 2. MƠI TRƯỜNG LẬP TRÌNH................................................................................................11
2.1.Android Studio...........................................................................................................................11


2.1.1.Cấu trúc của dự án..............................................................................................................11
2.1.2.Hệ thống xây dựng Gradle..................................................................................................12
2.2.Thành phần quan trọng của một Android Project.....................................................................13
2.3.Chu kỳ sống của ứng dụng Android...........................................................................................13
2.3.1.Chu kỳ sống thành phần.....................................................................................................14
2.3.2.Activity Stack.......................................................................................................................14
2.3.3.Các trạng thái của chu kỳ sống............................................................................................15
2.3.4.Chu kỳ sống của một ứng dụng...........................................................................................15
2.3.5.Các sự kiện trong chu kỳ sống của ứng dụng......................................................................16
2.3.6.Thời gian sống của ứng dụng..............................................................................................16
2.3.7.Thời gian hiển thị của Activity.............................................................................................16
2.3.8.Các hàm thực thi.................................................................................................................17
2.4.Oracle VM Virtual Box...............................................................................................................17
2.4.1.Oracle VM Virtual Box là gì?...............................................................................................17
2.4.2.Các tính năng của Oracle VM Virtual Box............................................................................18
2.4.3. Những lợi ích khi sử dụng nền tảng này.............................................................................18
2.5.Php Myadmin............................................................................................................................19
2.5.1.Php Myadmin là gì?................................................................................................................19
2.5.3.Cách sử dụng Php Myadmin...............................................................................................20
2.5.4.Ưu điểm của phpMyadmin.................................................................................................24
2


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

2.5.5.Nhược điểm của phpMyadmin...........................................................................................25
2.6.FireBase.....................................................................................................................................25
2.6.1.FireBase là gì?.....................................................................................................................25

2.6.2.Những service nổi bật.........................................................................................................26
CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG......................................................................................31
3.1.Nghiệp vụ bài tốn.....................................................................................................................31
3.2.Phân tích chức năng chính của ứng dụng..................................................................................31
3.2.1.Hiển thị danh sách thơng tin món ăn..................................................................................31
3.2.2.Chức năng tìm kiếm món ăn...............................................................................................32
3.2.3.Chức năng đăng kí tài khoản...............................................................................................32
3.2.4.Chức năng đặt hàng............................................................................................................32
3.2.5.Chức năng của người quản trị.............................................................................................32
3.2.6.Chức năng phản hồi............................................................................................................32
3.2.7.Chức năng đổi mật khẩu và quên mật khẩu.......................................................................32
3.3.Phân tích và đặc tả yêu cầu.......................................................................................................32
3.3.2.Sơ đồ phân cấp chức năng..................................................................................................33
3.3.3.Sơ đồ ERD...........................................................................................................................34
3.3.4.Biểu đồ lớp.........................................................................................................................35
3.3.5.Sơ đồ UseCase....................................................................................................................36
3.3.6.Biểu đồ hoạt động (Activity Diagram).................................................................................41
3.3.7.Biểu đồ tuần tự...................................................................................................................45
3.4.Xây dựng và triển khai ứng dụng...............................................................................................49
3.4.1.Xây dựng CSDL....................................................................................................................49
3.4.2.Thiết kế giao diện................................................................................................................50
KẾT LUẬN.............................................................................................................................................56
1.Kết quả đạt được..........................................................................................................................56
1.1.Về kiến thức...........................................................................................................................56
1.2.Về chương trình.....................................................................................................................56
PHỤ LỤC..............................................................................................................................................57
Tài liệu tham khảo...........................................................................................................................57

3



Báo cáo đồ án

GVHD:Đỗ Thanh Bình

LỜI MỞ ĐẦU
1.Bối cảnh chọn đề tài
Trong thời đại công nghiệp 4.0, dưới sự phát triển của công nghệ thông tin đã thúc đẩy
sự gia tăng vượt bậc trong việc sử dụng các ứng dụng di động. Trong ngành dịch vụ
ẩm thực, việc đặt đồ ăn trực tuyến đang trở thành một xu hướng tất yếu. Em đã quyết
định tập trung xây dựng ứng dụng đặt đồ ăn để phục vụ nhu cầu ngày càng tăng cao
của người tiêu dùng.
Ưu điểm của việc này chính là giảm thiểu tối đa việc ghi nhớ đơn đặt hàng trong quá
trình vận hành một nhà hàng, kết hợp với công nghệ mới sẽ mang lại cho thực khách
một trải nghiệm hiện đại, linh hoạt hơn, nó cịn giúp cho nhà hàng vận hành được
chính xác hơn.Với hiện trạng sự phát triển của các nhà hàng ngày càng nhiều và quy
mô ngày càng lớn và sự phát triển nhanh chóng của cơng nghệ điện thoại thơng minh
nên em đưa ra ý tưởng về ứng dụng đặt đồ ăn từ xa hoạt động trên thiết bị di động cá
nhân.
2.Mục tiêu và phạm vi của đề tài
2.1.Mục tiêu của đồ án
Mục tiêu của đồ án này là tạo ra một ứng dụng di động đơn giản và hiệu quả, giúp
người dùng có thể đặt đồ ăn từ các nhà hàng, quán ăn một cách tiện lợi và nhanh
chóng. Ứng dụng sẽ tập trung vào việc cung cấp trải nghiệm người dùng tốt nhất cũng
như cung cấp tiện ích cho các nhà hàng và quán ăn.
2.2.Phạm vi của đồ án
Phạm vi của đồ án sẽ bao gồm:
-Thiết kế giao diện người dùng hấp dẫn và dễ sử dụng.
-Phát triển hệ thống đặt hàng trực tuyến và thanh toán điện tử.
-Xây dựng cơ sở dữ liệu quản lý thông tin về các nhà hàng và thực đơn.

-Tích hợp tính năng định vị để tìm kiếm các quán ăn gần người dùng.
3.Ý nghĩa của đề tài
-Ứng dụng giúp người dùng tìm kiếm được những đồ ăn phù hợp với nhu cầu của họ.
- Tạo ra thêm về nhiều sự lựa chọn cho khách hàng. Khách hàng có thể tìm thấy nhiều
nhà hàng khác nhau ở những địa điểm mà bình thường bản thân khơng biết tới.
- Tăng cường kết nối và chia sẻ thông tin về ẩm thực cũng như sự kết nối của mọi
người qua đồ ăn.- Đảm bảo về an toàn thực phẩm, có những nguồn thơng tin từ đánh
giá trước đó để có thể quyết định có nên ăn món ăn đó hay chọn nhà hàng đó hay
khơng

4


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

- Với những nhà hàng họ không chỉ nâng cao thêm về lợi nhuận cũng như quoảng bá
được hình ảnh của mình mà cịn có thể đơn giản hóa việc quản lý các đơn hàng

CHƯƠNG 1.GIỚI THIỆU VỀ ANDROID
Như chúng ta đã biết hiện tại có rất nhiều người sử dụng điện thoại di động để giao
tiếp qua các trang mạng không dây. Các thiết bị điện thoại di động càng ngày càng
thông minh với nhiều tính năng và dịch vụ hấp dẫn. Vì thế việc lập trình trên thiết bị
di động càng ngày càng phổ biến và phát triển mạnh mẽ . Từ nền tảng mã nguồn mở,
Google đã cho ra mắt hệ điều hành Android chạy trên các thiết bị di động. Android có
rất nhiều cơng cụ và dụng cụ miễn phí để nghiên cứu và phát triển phần mềm trên nền
tảng của nó. Tài liệu này sẽ giúp chúng ta tìm hiểu về Android và cách viết một ứng
dụng trên nền tảng này.
1.1.Tìm hiểu về Android

1.1.1.Lịch sử Android
Ban đầu Android 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. Các
thành viên chủ chốt ở Android Inc. Gồm có Andy Rubin, Rick Miner, Nick Sears và
Chris White...

Hình1. Android Timeline

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 Handest Alliance) gồm các thành viên nổi bật trong ngành viễn thông như:
Texas Instrucment, Broadcom Corporation, Google, HTC, Intel, LG, Marvell
Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint
Nextel, T-mobile, ARM Holdings, Atheros Communitications, Asustek Computer
Inc, Garmin Ltd, Softbank, Sony Ericsson , Toshiba Corp, and Vodafone Group,...
5


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

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 sử 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, các nhà khai thác và lập trình viên
thiết bị cầm tay.
Phiên bản SDK lần đầu tiên được phát hành vào tháng 11 năm 2007, hãng T-moblie
cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-mobile G1, chiếc smart
phone đầu tiên dựa trên nền tảng Android. Một vài ngày sau , Gôgle 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 với nhau và có thể sử dụng lại các 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 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 bản vá lỗi 1.1 của hệ điều hành này . Ở
cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ Soft-keyboard mà đòi hỏi các thiết bị
sử dụng bản phím vật lý. Amdroid cố định vấn đề này bằng cách phát hành SDK 1.5
vào tháng 4 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à các live folder,...
1.2.Khái niệm về Android
Trước hết Android là 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 và những phần mềm trung gian (middleware) để hổ trợ
các ứng dụng mà người sử dụng cần đến. Một cách định nghĩa khơng q chun mơn
thì có thể coi Android là tên một nền tảng mở cho thiết bị di động của Google (gồm hệ
điều hành, middleware và một số ứng dụng cơ bản). Android sẽ đương đầu với một số
hệ điều hành (viết tắt là HDH) dành cho thiết bị di dộng khác đang hâm nóng thị
trường như Windows Mobile, Symbian và dĩ nhiên là cả OS X (iPhone).
Có thể nói một cách nôm na rằng Android là một HDH chạy trên thiết bị di động,
cũng giống như Windows, Linux hay Mac chạy trên máy vi tính vậy.x

6


Báo cáo đồ án


GVHD:Đỗ Thanh Bình

1.2.1.Android khác với các hệ điều hành trên thiết bị di động khác
Android thu hút được sự chú ý của giới cơng nghệ tồn cầu khi đứa con của Google
sử dụng giấy phép mã nguồn mở. Đó là sản phẩm kết tinh từ ý tưởng của khối Liên
minh thiết bị cầm tay mở do Google dẫn đầu, gồm 34 thành viên với các công ty hàng
đầu về cơng nghệ và di động tồn cầu.
Các nhà phát triển có thể sử dụng miễn phí bộ Kit Android Software Development
để xây dựng các ứng dụng của mình.
1.2.2.Đặc tính mở của Android
Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụng di
động hấp dẫn, tận dụng tất cả tính năng một chiếc điện thoại đã cung cấp. Nó được
xây dựng để được thực sự mở. Ví dụ, một ứng dụng có thể gọi bất kỳ chức năng lõi
của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử dụng
máy ảnh, cho phép các nhà phát triển để tạo ra nhiều ứng dụng phong phú hơn cho
người dùng (điều này hiện chưa có trên Windows Phone7 của Microsoft). Android
được xây dựng trên mã nguồn mở Linux Kernel. Hơn nữa, nó sử dụng một máy ảo
tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi
trường di động.
Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứng dụng của
bên thứ ba. Tất cả có thể được xây dựng để có thể truy cập bằng khả năng của một
thiết bị di động cung cấp cho người sử dụng với một dải rộng các ứng dụng và dịch
vụ. Với các thiết bị xây dựng trên Android, người dùng có thể hồn tồn thích ứng với
điện thoại đến lợi ích của họ. Với Android, một nhà phát triển có thể xây dựng một
ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và được cảnh báo khi họ
đang có trong vùng phụ cận cho họ một cơ hội để kết nối.
Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích và có thể được
sử dụng để xây dựng các ứng dụng phong phú. Ví dụ, Android cho phép các thiết bị
giao tiếp với nhau tạo điều kiện cho đồng đẳng rich-to-peer trong ứng dụng xã hội.
Ngoài ra, Android bao gồm một tập hợp đầy đủ công cụ đã được xây dựng công phu,

với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng
dụng .

7


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

1.2.3.Kiến trúc của Android
Mơ hình sau thể hiện một cách tổng quát các thành phần của hệ điều hành Android.
Mỗi một phần sẽ được đặc tả một cách chi tiết dưới đây:

Hình 2.Cấu trúc stack hệ thống Android
1.2.3.1.Android platform
Bao gồm HDH Android đầy đủ tính năng, các ứng dụng và các tầng trung gian để
developer có thể mở rộng, tùy chỉnh hoặc thêm vào các component của họ.
Có 4 tầng cơ bản trong HDH Android: Application Framework, Android Runtime,
Native Libraries, Linux Kernel ... Mỗi tầng làm việc đều nhờ sự giúp đỡ của tầng bên
dưới.
1.2.3.2.Tầng Linux Kernel
Đây là nhân của HDH Android, mọi xử lý của hệ thống đều phải thông qua tầng này.
Linux Kernel cung cấp các trình điều khiển thiết bị phần cứng (driver) như: camera,
USB, Wifi, Bluetooth, Display, Power Management ...
8


Báo cáo đồ án


GVHD:Đỗ Thanh Bình

Android dựa trên Linux phiên bản 2.6 lựa chọn các tính năng cốt lõi như bảo mật,
quản lý bộ nhớ, quản lý tiến trình, mạng stack và các trình điều khiển phần cứng.
Kernel hoạt động như một lớp trừu tượng giữa phần cứng và phần mềm còn lại của hệ
thống.

1.2.3.3.Native Libraries
Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành
phần khác nhau trong hệ thống Android. Điều này được thể hiện thông qua nền tảng
ứng dụng Android. Một số các thư viện cơ bản được liệt kê ở dưới đây:
-System C library - có nguồn gốc từ hệ thống thư viện chuẩn C (libc), điều chỉnh các
thiết bị nhúng trên Linux.
-Media Libraries - mở rộng từ PacketVideo's OpenCORE; thư viện hỗ trợ playback và
recording của nhiều định dạng video và image phổ biến: MPEG4, H.264, MP3, AAC,
AMR, JPG, and PNG
-Surface Manager - quản lý việc hiển thị và kết hợp đồ họa 2D và 3D.
-LibWebCore - Android dùng lại webkit engine cho việc render trình duyệt mặc định
của HDH Android browser và cho dạng web nhúng (như HTML nhúng)
-SGL - 2D engine
-3D libraries - Thư viện 3D dựa trên OpenGL ES 1.0 API, có nâng cấp tăng tốc
"hardware 3D acceleration"
-FreeType - render bitmap và vector font.
-SQLite - quản lý database của ứng dụng.
1.2.3.4.Tầng runtime
Mỗi ứng dụng Android chạy trên một proccess riêng của Dalvik VM (máy ảo).
Dalvik được viết để chạy nhiều máy ảo cùng một lúc một cách hiệu quả trên cùng một
thiết bị.
Máy ảo Dalvik thực thi các file mang định dạng .dex (Dalvik Excutable), định dạng
này là định dạng đã được tối ưu hóa để chỉ chiếm một vùng nhớ vừa đủ xài và nhỏ

nhất có thể. VM chạy các class (đã được compile trước đó bởi 1trình biên dịch ngơn
ngữ Java), sở dĩ VM chạy được các class này là nhờ chương trình DX tool đã convert
các class sang định dạng .dex.

9


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

1.2.3.5.Tầng Application framework
Đây là tầng mà Google xây dựng cho các developer để phát triển các ứng dụng của
họ trên Android, chỉ bằng cách gọi các API có sẵn mà Google đã viết để sử dụng các
tính năng của phần cứng mà khơng cần hiểu cấu trúc bên dưới.
Bằng cách cung cấp một nền tảng phát triển mở, Android 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 thức, thêm các thông báo để các thanh trạng thái, và nhiều,
nhiều hơn nữa.
Tất cả các ứng dụng thường gồm một bộ các dịch vụ và hệ thống cơ bản sau:
-View UI dùng để xây dựng layout của ứng dụng bao gồm: list view, text field, button,
dialog, form ...
-Providers cho phép các ứng dụng có thể truy cập dữ liệu từ các ứng dụng khác (như
ứng dụng của ta có thể lấy thông tin Contacts của điện thoại Android), hoặc để chia sẻ
dữ liệu của riêng ứng dụng.
-Resource Manager cung cấp cách thức truy cập đến non-code resources như các
asset, graphic, image, music, video ...
-Notification Manager cho phép tất cả các ứng dụng hiển thị thơng báo của mình trên
HDH.

-Activity Manager quản lý vòng đời của các ứng dụng

10


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

CHƯƠNG 2. MƠI TRƯỜNG LẬP TRÌNH
2.1.Android Studio
Trong chương này sẽ giới thiệu cơng cụ lập trình cho Android (Android
Development Tools). Chúng ta sẽ làm quen với Android Studio. Android Studio là
Mơi trường phát triển tích hợp (IDE) chính thức để phát triển ứng dụng Android. Nhờ
có cơng cụ cho nhà phát triển và trình soạn thảo mã mạnh mẽ của IntelliJ IDEA,
Android Studio cung cấp thêm nhiều tính năng giúp bạn nâng cao năng suất khi xây
dựng ứng dụng Android, chẳng hạn như:
-Một hệ thống xây dựng linh hoạt dựa trên Gradle
-Một trình mơ phỏng nhanh và nhiều tính năng
-Một mơi trường hợp nhất nơi bạn có thể phát triển cho mọi thiết bị Android
-Tính năng Live Edit (Chỉnh sửa trực tiếp) để cập nhật các thành phần kết hợp trong
trình mơ phỏng và thiết bị thực theo thời gian thực
-Mã mẫu và quá trình tích hợp GitHub để giúp bạn xây dựng các tính năng ứng dụng
phổ biến cũng như nhập mã mẫu
-Đa dạng khung và cơng cụ thử nghiệm
-Cơng cụ tìm lỗi mã nguồn (lint) để nắm bắt hiệu suất, khả năng hữu dụng, khả năng
tương thích với phiên bản và các vấn đề khác
-Hỗ trợ C++ và NDK
-Tích hợp sẵn tính năng hỗ trợ Google Cloud Platform, giúp dễ dàng tích hợp Google
Cloud Messaging và App Engine

2.1.1.Cấu trúc của dự án
Mỗi dự án trong Android Studio chứa một hoặc nhiều mơ-đun có tệp mã nguồn và
tệp tài ngun. Có các loại mơ-đun sau:
-Mô-đun ứng dụng Android
-Mô-đun thư viện
-Mô-đun Google App Engine
Theo mặc định, Android Studio thể hiện các tệp dự án của bạn trong chế độ xem dự
án Android, như trong hình 1. Khung hiển thị này được sắp xếp theo mô-đun để bạn
có thể truy cập nhanh vào các tệp nguồn chính của dự án. Bạn có thể thấy mọi tệp bản
dựng ở cấp cao nhất trong Gradle Scripts (Tập lệnh Gradle).
Mỗi mơ-đun ứng dụng có chứa các thư mục sau:
-manifests (tệp kê khai): Chứa tệp AndroidManifest.xml.
-java: Chứa các tệp mã nguồn Java và Kotlin, bao gồm cả mã kiểm thử JUnit.
11


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

-res: Chứa mọi tài nguyên không phải đoạn mã, chẳng hạn như chuỗi giao diện người
dùng và hình ảnh bitmap.
Cấu trúc dự án Android trên ổ đĩa khác với cách trình bày ở đây. Để xem cấu trúc tệp
của dự án thực tế, hãy chọn Project (Dự án) thay vì Android trên trình đơn Project (Dự
án).

Hình 3.Các tệp dự án trong khung hiển thị dự án của Android

2.1.2.Hệ thống xây dựng Gradle
Android Studio sử dụng Gradle làm nền tảng cho hệ thống xây dựng với nhiều tính

năng dành riêng cho Android do Trình bổ trợ Android cho Gradle cung cấp. Hệ thống
xây dựng này hoạt động như một cơng cụ tích hợp trên trình đơn Android Studio và
12


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

độc lập với dịng lệnh. Bạn có thể sử dụng các tính năng của hệ thống xây dựng để
làm những việc sau:
-Tuỳ chỉnh, định cấu hình và mở rộng quy trình xây dựng.
-Tạo nhiều tệp APK cho ứng dụng với nhiều tính năng trong khi sử dụng cùng một dự
án và mô-đun.
-Sử dụng lại mã và tài nguyên trên các nhóm tài nguyên (source set).
Nhờ vận dụng tính linh hoạt của Gradle, bạn có thể làm được những việc này mà
không cần sửa đổi các tệp nguồn cốt lõi của ứng dụng.
Tệp bản dựng Android Studio có tên build.gradle.kts nếu bạn sử dụng Kotlin (nên
dùng), hoặc có tên là build.gradle nếu bạn sử dụng Groovy. Đây là các tệp văn bản
thuần tuý sử dụng cú pháp Kotlin hoặc Groovy để định cấu hình bản dựng bằng các
phần tử do trình bổ trợ Android cho Gradle cung cấp. Mỗi dự án có một tệp bản dựng
cấp cao nhất cho toàn bộ dự án và các tệp bản dựng cấp mô-đun riêng cho từng môđun. Khi bạn nhập một dự án hiện có, Android Studio sẽ tự động tạo ra các tệp bản
dựng cần thiết.
2.2.Thành phần quan trọng của một Android Project
-Activity (Android.app.Activity): đây là lớp khởi tạo giao diện ứng dụng nội bộ trên
Android tương tư như MIDlet trong J2ME.
-Service (Android.app.Service): cung cấp các dịch vụ liên quan đến client/service.
Một Service sẽ chạy ngầm bên dưới, sau đó các client (Activity) sẽ kết nối và truy
xuất các hàm trên dịch thông qua Interface class.
-Broadcast receiver (Android.content.BroadcastReceiver): đây là một ứng dụng chạy

ngầm dùng để đọc và cập nhật thơng tin trên UI, ví dụ như cập nhật sự thay đỗi giờ,
pin...
-Content Provider: cung cấp chức năng truy vấn dữ liệu giữa các ứng dụng của
Android.
- Intent: nền tảng để truyền tải các thông báo. Intent được sử dụng để gửi các thông
báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc mà chúng ta mong
muốn.
2.3.Chu kỳ sống 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
codes cần được xây dựng, khởi chạy 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.

13


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

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.
-Bao nhiêu vùng nhớ chiếm lĩnh trong hệ thống.
2.3.1.Chu kỳ sống thành phần
Các thành phần ứng dụng có một chu kỳ sống, tức là mỗi thành phần từ lúc bắt đầu
khởi tạo và đến thời điểm kết thúc, đơi lúc chúng có thể là active (visible hoặc
invisible) hoặc inactive.

2.3.2.Activity Stack
Bên trong hệ thống các activity được quản lý như một activity stack. Khi một
Activity mới được start, nó được đặt ở đỉnh của stack và trở thành activity đang chạy
activity trước sẽ ở bên dưới activity mới và sẽ không thấy trong suốt quá trình activity
mới tồn tại.
Nếu người dùng nhấn nút Back thì activity kết tiếp của stack sẽ di duyển lên và trở
thành active.

Hình4.ActivityStack

14


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

2.3.3.Các trạng thái của chu kỳ sống

Hình 5.Chu kỳ sống của Activity

Một Activity chủ yếu có 4 chu kỳ chính sau:
-Active hoặc running: Khi Active là được chạy trên màn hình. Activity này tập trung
vào những thao tác của người dùng trên ứng dụng.
-Paused: Activity là được tạm dừng (paused) khi mất focus nhưng người dùng vẫn
trơng thấy. Có nghĩa là một Activity mới ở trên nó nhưng khơng bao phủ đầy màn
hình. Một Activity tạm dừng là cịn sống nhưng có thể bị kết thúc bởi hệ thống trong
trường hợp thiếu vùng nhớ.
-Stopped: Nếu nó hồn tồn bao phủ bởi Activity khác. Nó vẫn cịn trạng thái và
thơng tin thành viên trong nó. Người dùng khơng thấy nó và thường bị loại bỏ trong

trường hợp hệ thống cần vùng nhớ cho tác vụ khác.
-Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo ngun 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 lại hoàn toàn và phục hồi lại
trạng thái trước đó.

15


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

2.3.4.Chu kỳ sống của một ứng dụng
Trong một ứng dụng Android có chứa nhiều thành phần và mỗi thành phần đều có
một chu trình sống riêng. Và ứng dụng chỉ được gọi là kết thúc khi tất cả các thành
phần trong ứng dụng kết thúc. Activity là một thành phần cho phép người dùng giao
tiếp với ứng dụng. Tuy nhiên, khi tất cả các Activity kết thúc và người dùng khơng
cịn giao tiếp được với ứng dụng nữa nhưng khơng có nghĩa là ứng dụng đã kết thúc.
Bởi vì ngồi Activity là thành phần có khả năng tương tác người dùng thì cịn có các
thành phần khơng có khả năng tương tác với người dùng như là Service, Broadcast
receiver. Có nghĩa là những thành phần khơng tương tác người dùng có thể chạy
background dưới sự giám sát của hệ điều hành cho đến khi người dùng tự tắt chúng.
2.3.5.Các sự kiện trong chu kỳ sống của ứng dụng
Nếu một Activity được tạm dừng hoặc dừng hẳn, hệ thống có thể bỏ thơng tin khác
của nó từ vùng nhớ bởi việc gọi hàm finish() của nó, hoặc đơn giản giết tiến trình của
nó. Khi nó được hiển thị lần nữa với người dùng, nó phải được hoàn toàn restart và
phục hồi lại trạng thái trước. Khi một Activity chuyển qua chuyển lại giữa các trạng
thái, nó phải báo việc chuyển của nó bằng việc gọi hàm transition.


Tất cả các phương thức là những móc nối mà chúng ta có thể override để làm tương
thich cơng việc trong ứng dụng khi thay đổi trạng thái. Tất cả các Activity bắt buộc
phải có onCreate() để khởi tạo ứng dụng. Nhiều Activity sẽ cũng hiện thực onPause()
để xác nhận việc thay đổi dữ liệu và mặt khác chuẩn bị dừng hoạt động với người
dùng.
2.3.6.Thời gian sống của ứng dụng
Bảy phương thức chuyển tiếp định nghĩa trong chu kỳ sống của một Activity. Thời
gian sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến trạng thái cuối
cùng gọi onDestroy(). Một Activity khởi tạo toàn bộ trạng thái tồn cục trong
onCreate(), và giải phóng các tài ngun đang tồn tại trong onDestroy().

16


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

2.3.7.Thời gian hiển thị của Activity
Visible lifetime của một activity diễn ra giữa lần gọi một onStart() cho đến khi gọi
onStop(). Trong suốt khoảng thời gian này người dùng có thể thấy activity trên màn
hình, có nghĩa là nó khơng bị foreground hoặc đang tương tác với người dùng. Giữa 2
phương thức người dùng có thể duy trì tài nguyên để hiển thị activity đến người dùng.
2.3.8.Các hàm thực thi
-OnCreate(...): hàm này được gọi khi lớp Activity được khởi tạo, dùng để thiết lập
giao diện ứng dụng và thực thi những thao tác cơ bản.
-onStart(): hàm này được gọi khi lớp ứng dụng xuất hiện trên màn hình.
-onResume(): hàm được gọi ngay sau OnStart hoặc khi người dùng focus ứng dụng,
hàm này sẽ đưa ứng dụng lên top màn hình.
-onPause(): hàm được gọi khi hệ thống đang focus đến 1 activity trước đó.

-onStop(): hàm được gọi khi một activity khác được khởi động và focus.
-onRestart(): đưọc gọi khi ứng dụng chuyển sang onStop(), nhưng muốn khởi động lại
bằng onStart().
2.4.Oracle VM Virtual Box
2.4.1.Oracle VM Virtual Box là gì?
Oracle VM Virtualbox được biết tới là một nền tảng ứng dụng mã nguồn mở hồn
tồn miễn phí. Thơng qua Oracle VM Virtualbox, bạn có thể tạo mới, quản lý và chạy
thử các máy ảo phục vụ công việc của mình. Số lượng cài đặt và chạy máy ảo nhiều
hay ít phụ thuộc vào nhu cầu sử dụng và dung lượng ổ cứng kèm bộ nhớ RAM.

17


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

Oracle VM Virtualbox cho phép bạn thiết lập một hoặc nhiều máy ảo tùy theo nhu
cầu sử dụng trên một máy tính vật lý. Mỗi máy ảo đều có thể được thiết lập và thực thi
hệ điều hành riêng biệt. Khơng những thế, bạn có thể sử dụng chúng đồng thời cùng
với máy tính vật lý vơ cùng tiện lợi.
2.4.2.Các tính năng của Oracle VM Virtual Box
Oracle VM Virtualbox được trang bị rất nhiều tính năng hỗ trợ lập trình viên trong
cơng việc của mình. Có thể kể tới một số đặc điểm nổi bật nhất của Oracle VM
Virtualbox bao gồm:
-Miễn phí: Oracle VM Virtualbox là mã nguồn mở hồn tồn miễn phí mà bất cứ lập
trình viên nào cũng nên sử dụng.
-Linh động: Oracle VM Virtualbox thuộc nền tảng ảo hóa loại 2. Do đó bạn có thể
khởi tạo máy ảo và khởi chạy chúng trên hai máy chủ hồn tồn khác nhau thơng qua
Open Virtualization Format (OVF).

-Tính năng VM Groups: Bạn có thể sắp xếp các máy ảo thành một nhóm để dễ quản
lý.
-Guest Additions: Cơng cụ Guest Additions có tác dụng cải thiện hiệu suất khi điều
hành máy ảo, đồng thời tạo khả năng giao tiếp với máy chủ tốt hơn.

18


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

-Snapshots: Đây là cơng cụ hỗ trợ chụp trạng thái VM Guest. Khi xảy ra lỗi, bạn có
thể khơi phục hiện trạng của máy ảo về trước đó. Bạn có thể chụp Snapshots khi máy
ảo đang chạy để hạn chế rủi ro xảy ra.
-Hỗ trợ phần cứng đa dạng: Oracle VM Virtualbox hỗ trợ SMP cho Guest, thiết bị
USB, hỗ trợ đầy đủ ACPI, phân giải đa màn hình và khởi động mạng PXE.
-Khả năng tương thích: Oracle VM Virtualbox tương thích với hầu hết các hệ điều
hành 32 bit và 64 bit.
2.4.3. Những lợi ích khi sử dụng nền tảng này
Cho phép chạy nhiều hệ điều hành trong cùng thời điểm: Oracle VM Virtualbox là
phần mềm ảo hóa miễn phí cho phép chạy đồng thời nhiều hệ điều hành cùng một lúc.
Bạn hoàn toàn có thể chạy các phần mềm Windows trên Linux hoặc Mac mà khơng
cần phải khởi động lại.
Giảm chi phí và tiết kiệm dung lượng: sử dụng Oracle VM Virtualbox sẽ giúp bạn
giảm chi phí điện năng tiêu thụ và dung lượng phần cứng. Thay vì đầu tư nhiều máy
tính, bạn có thể sử dụng Oracle VM Virtualbox để tạo nhiều máy ảo để giải quyết
cơng việc của mình.
Cho phép thử nghiệm và phục hồi: Sử dụng Oracle VM Virtualbox cho phép bạn có
thể sao lưu sang máy chủ khác để khởi chạy máy ảo mà khơng bị ảnh hưởng. Tính

năng Snapshots giúp bạn lưu lại trạng thái máy ảo và có thể phục hồi trạng thái đó bất
cứ khi nào bạn muốn. Với Oracle VM Virtualbox, bạn có thể thoải mái trải nghiệm
trên máy ảo mà không cần phải cài lại phần mềm khi bị lỗi hay nhiễm virus.
2.5.Php Myadmin
2.5.1.Php Myadmin là gì?
PhpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ PHP giúp quản
trị cở sở dữ liệu MySQL thơng qua giao diện web. Tính đến nay, phpMyAdmin đã có
đến hàng triệu lượt sử dụng và vẫn khơng ngừng tăng. Vậy tính năng hữu ích mà
phpMyAdmin mang lại là gì?
2.5.2.Các tính năng của Php Myadmin

19


Báo cáo đồ án

GVHD:Đỗ Thanh Bình

Tính năng chung của phpMyAdmin là gì?
Một số tính năng chung thường được sử dụng trên phpMyAdmin:
-Quản lý user(người dùng): thêm, xóa, sửa(phân quyền).
-Quản lý cơ sở dữ liệu: tạo mới, xóa, sửa, thêm bảng, hàng, trường, tìm kiếm đối
tượng.
-Nhập xuất dữ liệu(Import/Export): hỗ trợ các định dạng SQL, XML và CSV.
-Thực hiện các truy vấn MySQL, giám sát quá trình và theo dõi.
-Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công.
Điểm yếu trong việc sao lưu dữ liệu của phpMyAdmin là gì?
Dù có nhiều ưu điểm song phpMyAdmin vẫn khó tránh khỏi một vài điểm yếu cố hữu.
Đặc biệt, trong việc sao lưu dữ liệu thủ cơng sẽ khơng có một vài tính năng cần thiết.
Scheduling(sao lưu tự động theo lịch đặt trước): Một tính năng khá phổ biến ở những

cơng cụ quản trị cơ sở dữ liệu.
Storage media support(hỗ trợ lưu trữ các phương tiện truyền thông): phpMyAdmin chỉ
cho phép lưu các bản sao lưu vào các local drive có sẵn trên hệ thống, qua hộp thoại
Save as của trình duyệt.
2.5.3.Cách sử dụng Php Myadmin
Dưới đây là một số thao tác sử dụng phpMyAdmin:
-Truy cập vào phpMyAdmin
20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×