BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CƠNG NGHỆ THƠNG TIN
____________________________•_________
NGUN TAT THANH
ĐỒ ÁN MƠN HỌC
LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG
XÂY DỰNG CHỨC NĂNG ANDROID ĐĂNG
NHẬP GOOGLE
Giảng viên giảng dạy
Sinh viên thực hiện
Mã số sinh viên
Lớp
Chuyên ngành
Khóa
: ThS. Bùi Tiên Đức
: Nguyễn Văn Mạnh
:1900008503
:19DTH1A
: Kỹ thuật phần
: 2019
mềm
Tp.HCM, tháng 01/2022
BM-ChTTRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
TRUNG TÂM KHẢO THÍ
KỲ THI KẾT THÚC HỌC PHẦN
HỌC KỲ III NĂM HỌC 2020 - 2021
PHIẾU CHẤM THI TIỂU LUẬN/BÁO CÁO
Mơn thi: Lập Trình Trên Thiết Bị Di Động
Lớp học phần: 19DTH1A
Sinh viên thực hiện: Nguyễn Văn Mạnh
MSSV: 1900008503
Đề tài tiểu luận/báo cáo của sinh viên: Chức năng đăng nhập google
Phần đánh giá của giảng viên (căn cứ trên thang rubrics của mơn học):
Tiêu chí (theo CĐR
Đánh giá của GV
HP )
Điểm tối
đa
Cấu trúc của báo cáo
2
Nội dung
7
- Các nội dung thành
phần
4,5
- Lập luận
2
- Kết luận
0,5
Trình bày
1
TỔNG ĐIỂM
10
Điểm đạt
được
Giảng viên chấm thi
(ký, ghi rõ họ tên)
3
Giảng viên chấm thi 1
Điểm:
Nhận xét:
Giảng viên chấm thi 2
Điểm:
Nhận xét:
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
^^^
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
4
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN MƠN HỌC
(Sinh viên phải đóng tờ này vào cuốn báo cáo)
Họ và tên: NGUYỄN VĂN MẠNH
MSSV: 1900008503
Chuyên ngành: Kỹ thuật phần mềm
Lớp: 19DTH1D
Email:
SĐT: 0387708853
Tên đề tài: XÂY DỰNG CHỨC NĂNG ANDROID ĐĂNG NHẬP GOOGLE
Giảng viên giảng dạy: ThS. Bùi Tiến Đức
Thời gian thực hiện: 11/11/2021 đến 26/12/2021
Nhiệm vụ: Thiết kế xây dựng chức năng đăng nhập google
Nội dung:
Tìm hiểu ngơn ngữ java.
Tìm hiểu về đề tài chức năng đăng nhập google.
Xây dựng giao diện.
Lập trình xử lý các sự kiện.
Phương pháp: sử dụng ngôn ngữ java để thực hiện đề tài chức năng đăng nhập google
Nội dung và yêu cầu đã được thông qua Bộ môn.
Tp.HCM, ngày tháng năm 2021
TRƯỞNG BỘ MÔN
(Ký và ghi rõ họ tên)
ThS.Phạm Văn Đăng
GIẢNG VIÊN GIẢNG DẠY
(Ký và ghi rõ họ tên)
ThS. Bùi Tiến Đức
5
LỜI CẢM
ƠN
Em chân thành cám ơn Giảng viên hướng dẫn Bùi Tiến Đức, người đã hướng dẫn tận tình, đóng góp
các ý kiến chun mơn của đồ án mơn học. Thầy đã động viên tinh thần em cố gắng hoàn thành những
nghiên cứu đặt ra. Thầy cũng cung cấp một số tài liệu liên quan đến đồ án môn học mà em đang nghiên
cứu và ân cần nhắc nhở em đến tiến độ thực hiện đồ án môn học này.
Em cũng chân thành gửi lời cám ơn đến các Thầy Cô khoa Công nghệ thông tin trường Đại học
Nguyễn Tất Thành đã giảng dạy, hướng dẫn, trang bị các kiến thức cho em từ các kiến thức cơ bản đến
các vấn đề chuyên sâu.
Em xin gửi lời cám ơn đến anh, chị, bạn bè, đồng nghiệp bằng nhiều hình thức khác nhau đã giúp đỡ
em trong quá trình học tập cũng như trong thời gian hồn thành đồ án mơn học.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Văn Mạnh
(Ký tên)
6
LỜI MỞ
ĐẦU
Hiện nay,điện thoại thông minh đã trở nên cực kì phổ biến và hầu như khơng thể thiếu trong đời sống
hiện nay,và việc ngày càng có nhiều phần mềm trên thiết bị di động giúp giải quyết các công việc khác
nhau một cách nhanh gọn lẹ,tiết kiệm thời gian và độ chính xác.Mỗi ứng dụng,chức năng được tạo ra
với nhiệm vụ khác nhau như giải trí,học tập,tra cứu thơng tin, ... Bên cạnh đó cùng với sự phát triển
của công nghệ thông tin, nhu cầu ứng dụng công nghệ ngày càng phát triển mạnh và đem lại rất nhiều
lợi ích. Vì vậy cần phải xây dựng các chức năng đăng nhập để đảm bảo an toàn và quản lý người sử
dụng,ở đây là android,còn ở nền tảng IOS
Và một số nền tảng khác.
Từ những
chọn
đề tài
yêu
cầu trên
cùng
với
góp ýNcủa
giảng viên và bạn bè, em quyết định
“XÂY
DỰNG
CHỨC
NĂNG
AND
ROsự
ID ĐĂNG
HẬP các
GOOGLE”.
7
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
TP. Hồ Chí Minh, ngày ... tháng ... năm 2021
GIẢNG VIÊN HƯỚNG DẪN
(Ký tên)
MỤC LỤC
8
9
DANH MỤC CÁC BẢNG HÌNH
CHƯƠNG I: TÔNG QUAN ĐỀ TÀI
1.1 Giới thiệu đề tài:
Tên đề tài: Xây dựng chức năng đăng nhập vào tài khoản google.
Giới thiệu: Ứng dụng cho phép người dùng đăng nhập vào hệ thống và thực hiện các chức năng của
google.
1.2 Lý do chọn đề tài
Hiện nay,điện thoại thông minh đã trở nên cực kì phổ biến và hầu như không thể thiếu trong đời
sống hiện nay,và việc ngày càng có nhiều phần mềm trên thiết bị di động giúp giải quyết các công
việc khác nhau một cách nhanh gọn lẹ,tiết kiệm thời gian và độ chính xác.Mỗi ứng dụng,chức năng
được tạo ra với nhiệm vụ khác nhau như giải trí,học tập,tra cứu thơng tin, ... Bên cạnh đó cùng với
sự phát triển của công nghệ thông tin, nhu cầu ứng dụng công nghệ ngày càng phát triển mạnh và
đem lại rất nhiều lợi ích. Vì vậy cần phải xây dựng các chức năng đăng nhập để đảm bảo an tồn và
quản lý người sử dụng,ở đây là android,cịn ở nền tảng IOS Và một số nền tảng khác.
1.3 Mục tiêu đề tài
Xây dựng ứng dụng android theo nhu cầu của khách hàng.
Giao diện đơn giản dễ sử dung.
Ứng dụng thực hiện được chức năng đăng nhập.
1.4 Các công cụ hỗ trợ
- JDK
8
Android
Studio
12
CHƯƠNG II: CƠ SỞ LÝ THUYÉT
2.1.
MÕÌ trường phát triển ứng dụng
2.1.1.Smartphone
5 hệ điều hành phổ biến hiện nay:Android,IOS,Windows Phone,Blackberry OS, Firefox OS.
* Android
- Ưu điểm:
+ Có mã nguồn mở, khả năng tuỳ biến cao, có thể tùy ý chỉnh sửa mà khơng có sự can thiệp từ
Google.
+ Kho ứng dụng Google Play Store đồ sộ.
+ Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao.
- Nhược điểm:
+ Dễ nhiễm phần mềm độc hại và virus.
+ Kho ứng dụng quá nhiều dẫn đến khó kiểm sốt chất lượng => thiếu các ứng dụng thật sự tốt.
Sự phân mảnh lớn.
+ Cập nhật không tự động với tất cả thiết bị.
* IOS
- Ưu điểm:
+ Nền tảng ổn định.
+ Ứng dụng trên IOS hoạt động rất mượt mà.
+ Độ tin cậy và tính bảo mật cao.
- Nhược điểm:
+ Trao đổi dữ liệu cần phải qua iTunes nên dễ gây bất tiện, tốn thời gian.
+ Khả năng tuỳ chỉnh còn hạn chế.
+ iOS chỉ hoạt động trên các thiết bị công nghệ độc quyền của Apple.
* Windows Phone
- Ưu điểm:
+ Giao diện quen thuộc, dễ sử dụng.
+ Khả năng đồng bộ danh bạ, email tốt.
+ Có phần mềm bản đồ Here Maps khá tốt, có thể xem offline được.
- Nhược điểm:
+ Windows Phone khơng cho phép thay đổi giao diện, chủ đề (themes) nên dễ gây chán.
+ Kho ứng dụng nghèo nàn, ứng dụng miễn phí rất ít.
+ Khơng thể đổi DNS (hay IP) để vào 1 số web bị chặn.
* Blackberry OS
- Ưu điểm:
+ Hoạt động ổn định, giao diện đơn giản.
+ hỗ trợ Push Mail, xử lý cơng việc tốt và tính bảo mật rất cao.
+ Bàn phím QWERTY giúp soạn thảo nhanh và chính xác.
+ Blackberry OS cho khả năng nén dữ liệu xuống chỉ cịn bằng một nửa kích thước ban đầu, giúp
tiết kiệm chi phí băng thơng.
+Tính bảo mật cao.
- Nhược điểm:
BlackBerry OS khơng thân thiện và khó sử dụng đối với những người không am hiểu công nghệ.
* Firefox OS
- Ưu điểm:
+ Giao diện dễ sử dụng, trơng giống như một sự kết hợp hài hịa giữa Android và iOS.
+ Firefox OS có những thư mục rất thơng minh, có thể tự thu thập những ứng dụng, game theo từng
thể loại khác nhau, cũng như tính chất những cơng việc riêng biệt mà bản thân nó được phát triển.
--- Nhược điểm:
+ Giao diện Firefox OS đã vay mượn khá nhiều từ iOS, thường gặp nhiều bất cập bởi phụ thuộc
nhiều vào nút Home (màn hình chủ).
2.1.2.
Giới thiệu về hệ điều hành android
* Các lớp gồm:
- Linux Kernel : Đây là lớp thấp nhất, nhiệm vụ của nó là xử lý tiếp nhận các thiết bị ngoại vi
như:
bàn phím, camera, màn hình, wifi, ...
- Libraries: Chứa các thư viện gốc như WebKit, OpenGL, FreeType, SQLite, Media, v.v., Thư
viện
WebKit chịu trách nhiệm hỗ trợ trình duyệt, SQLite dành cho cơ sở dữ liệu, ...
- Android Runtime: Trong Android Runtime, có các thư viện lõi và DVM (Máy ảo Dalvik) chịu
trách nhiệm chạy ứng dụng Android. DVM giống như JVM nhưng nó được tối ưu hóa cho các
thiết
bị di động. Nó tiêu thụ ít bộ nhớ hơn và cung cấp hiệu suất nhanh.
- Application Framework: Android framework bao gồm các API của Android như UI (Giao diện
người dùng), điện thoại, tài nguyên, địa điểm, ...
- Applications: Ứng dụng chạy trên các Android framework. Ví dụ: cài đặt, trị chơi, trình duyệt.
2.1.3.
Ứng dụng của ngôn ngữ Java
- Các ứng dụng cho hệ điều hành Android
- Các ứng dụng bảo mật cao: Java là ngơn ngữ lập trình có tính bảo mật cao nên nó thường được
sử
dụng vào trong các dịch vụ tài chính, ngân hàng.
- Các ứng dụng web Java: Lập trình Java khơng chỉ được sử dụng trên thiết bị di động mà còn
được
biết đến là nền tảng của của các ứng dụng website.
- Các công cụ phần mềm: Hiện nay có rất nhiều các cơng cụ phát triển và phần mềm hữu ích
được
viết bằng Java, ví dụ: Eclipse, InetelliJ Idea và Netbans IDE.
- Khái niệm về lập trình hướng đối tượng trong java: Lập trình hướng đối tượng (Object
Oriented
Programing - OOP) là một phương pháp để thiết kế một chương trình bởi sử dụng các lớp và
các
đối tượng.
- Java là một ngơn ngữ lập trình hướng đối tượng vì vậy nó cũng hỗ trợ các đặc tính của lập trình
hướng đối tượng: Đa hình (Polymorphism) Thừa kế (Inheritance) Đóng gói (Encapsulation)
Trừu
tượng (Abstraction)
- Đối tượng là một thực thể có trạng thái và hành vi. Nó có thể mang tính vật lý hoặc logic.
- Lớp (Class) có thể xem lớp như một khuôn mẫu (template) của đối tượng (Object).
-
-
-
Package: package (gói) trong java là một nhóm các kiểu tương tự của các lớp, giao diện và các
package con .
Package trong java có thể được phân loại theo hai hình thức, package được dựng sẵn và
package
do người dùng định nghĩa.
Có rất nhiều package được dựng sẵn như java, lang, net, io, util, sql, ... Package do người dùng
tự
định nghĩa
Constructor: constructor trong java là một dạng đặc biệt của phương thức được sử dụng để khởi
tạo các đối tượng.
-
Java Constructor được gọi tại thời điểm tạo đối tượng. Nó khởi tạo các giá trị để cung cấp dữ
liệu
cho các đối tượng.
- Khai báo của Constructor giống với khải báo của method (phương thức). Nó phải có cùng tên
với
class (lớp) và khơng có giá trị trả về.
- Có 2 kiểu của constructor: Constructor mặc định (khơng có tham số truyền vào - default
constructors). Constructor tham số (parameterized constructors).
- Phạm vi truy cập (Access modiíier) Có hai loại modiíier trong java: access modiíiers và nonaccess modifiers.
- Có 4 kiểu của java access modiíiers: private (Mặc định) protected public
- Các non-access modiíiers: static, abstract, synchronized, native, volatile, transient, v.v..
2.2.
Các thành phần ứng dụng của android
1. Activity
Activity là một trong 4 thành phần quan trọng của ứng dụng Android gồm: Activity, Service,
Content Provider, Broadcast receivers.
- Activity là gì?
Mỗi Activity thường hoạt động độc lập với nhau nhưng có thể tương tác và truyển dữ liệu qua nhau
thơng qua Intent.
Chính vì Activity hoạt động độc lập nên sẽ có vịng đời riêng từ lúc được khởi tạo cho đến lúc được
huỷ đi.
onCreate(): Được gọi bởi OS khi activity được tạo(chỉ gọi duy nhất một lần). Dùng để khởi tạo
giao diện hoặc dữ liệu để dùng cho sau này.
onStart(): Ngay trước khi activity được chạy và tương tác với người dùng thì hàm được gọi. Thông
thường, tại hàm này chúng ta sẽ khởi tạo animation cho UI( nếu có), Audio, hay bất kì đối tượng
nào cần thiết để activity có thể hiển thị cho người dùng
onResume(): Hàm này được gọi khi activity chuẩn bị chạy hoặc activity được kích hoạt trở lại từ
trạng thái stop
onPause(): Hàm này được gọi khi ứng dụng chuyển sang chạy nền
onStop(): Hàm này được ngay sau onPause(), khi activity khơng cịn tương tác với người dùng.
onRestart(): Được gọi sau khi activity bị tạm dừng và giờ được kích hoạt trở lại
onDestroy(): Đây là hàm cuối cùng trong vòng đời của activity. Có 2 cách để hàm được gọi: một là
bạn gọi hàm finish() để chủ động tắt một activity, hai là được gọi tự động bởi OS khi tài nguyên cạn
kiệt để tránh bị lỗi Memory Leak.
2. Toast Notiíication
- Toast là một message, có dạng như một popup, xuất hiện trên màn hình trong 1 khoảng thời
gian
ngắn và tự biến mất sau đó.
- Toast có thể được tạo và hiển thị trong Activity hoặc trong Servive.
- Không cho phép người sử dụng tương tác
- Khi hiển thị sau khoảng thời gian nào đó sẽ tự đóng lại
- Có 2 giá trị mặc định: hằng số Toast.LENGTH_SHORT hiển thị trong 2 giây
Toast.LENGTH_LONG hiển thị trong 3.5 giây
- Sử dụng:
3. Alert Dialog (Hộp thoại cảnh báo)
Khi yêu cầu người dùng về lựa chọn quyết định yes hoặc no để phản action cụ thể. Sử dụng Alert
Dialog.
Cú pháp : AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
Phương thức
setIcon(Drawable icon)
setCancelable(boolean cancel able)
setMessage(CharSequence message)
setMultiChoiceItems(CharSequence[] items,
boolean[] checkedItems,
DialogInterface.OnMultiChoiceClickListene r
listener)
s etOnC ancelListener(DialogInterfac e. OnC
ancelListener onCancelListener)
Mô tả
Phương thức này thiết lập icon của Alert Dialog
Phương thức này thiết lập thuộc tính mà Dialog
là bị cancel hoặc khơng
Phương thức này thiết lập thông điệp để được
hiển thị trong Alert Dialog
Phương thức này thiết lập danh sách item để
được hiển thị trong Dialog. Tùy chọn sẽ được
thông báo bởi Listener
Phương thức này thiết lập hàm callback sẽ được
gọi nếu Dialog bị cancel
setTitle(CharSequence title)
Phương thức này thiết lập Title xuất hiện trong
Dialog
4.Các kiểu lập trình trong android
Xử lý sự kiện (Event Handling) trong Android là sự tương tác của người dùng với các thành phần
tương tác của ứng dụng
Event Listeners - là một Interface trong lớp View chứa một phương thức callback. Các phương
thức này sẽ có thể được gọi bởi AndroidFramework khi Listener đã đăng ký được kích hoạt bởi
tương tác của người dùng với item trong giao diện UI.
Event Listeners Registration - là tiến trình mà bởi đó một Event Handler được đăng ký với một
Event Listener để mà Handler này được gọi khi Event Listener kích hoạt sự kiện.
Event Handlers - Khi một Event xảy ra, và chúng ta đã đăng ký một Event Listener cho sự kiện,
thì Event Listener gọi Event Handler, là phương thức thực sự xử lý sự kiện đó.
CHƯƠNG III: GIỚI THIỆU VỀ CHỨC NĂNG ĐĂNG NHẬP GOOGLE
CHƯƠNG IV:XÂY DỰNG CHỨC NĂNG ĐĂNG NHẬP GOOGLE ANDROID
CHƯƠNG V:KẾT LUẬN