BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNHKHOA CÔNG NGHỆ THÔNG TIN ĐỒ Á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
Trang 1BỘ 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
ĐỒ Á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 : ThS Bùi Tiến Đức
Sinh viên thực hiện : Võ Minh Thành
Mã số sinh viên : 1900009252
Trang 2TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KỲ THI KẾT THÚC HỌC PHẦN
BM-ChT-TRUNG TÂM KHẢO THÍ 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: Võ Minh Thành MSSV: 1900009252
Đề 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):
Trang 32
Trang 4Giả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:
Trang 5
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
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: 20/12/2021 đến 1/1/2022
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.
Trang 6Em 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ọcNguyễ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 tại trường cũng như trong thời gian hoàn thành đồ án mônhọc
Em xin chân thành cảm ơn!
Sinh viên thực hiện(Ký tên)
Võ Minh Thành
Trang 7LỜ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àycà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 yêu cầu trên cùng với sự góp ý của các giảng viên và bạn bè, em quyết định chọn đề tài “XÂY DỰNG CHỨC NĂNG ANDROID ĐĂNG NHẬP GOOGLE”
Trang 8NHẬ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)
Trang 9MỤC LỤC
DANH MỤC CÁC BẢNG BIỂU 9
DANH MỤC CÁC BẢNG HÌNH 10
DANH MỤC CÁC TỪ VIẾT TẮT 12
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI 13
1.1 Giới thiệu đề tài: 13
1.2 Lý do chọn đề tài 13
1.3 Mục tiêu đề tài 13
1.4 Các công cụ hỗ trợ 13
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 14
2.1 Giới thiệu về android 14
2.2 Lịch sử phát triển 15
2.2.1 Điểm khởi đầu của android 16
2.3 Android Studio 16
2.3.1 Giới thiệu về Android studio 16
2.3.2 Các thành phần 18
2.3.3 Firebase realtimedatabase 21
2.3.4 Lợi ích khi sử dụng Firebase 22
2.3 Môi trường phát triển ứng dụng 22
2.4 Ứng dụng của ngôn ngữ Java 23
2.5 Các thành phần ứng dụng của android 24
2.6 Alert Dialog (Hộp thoại cảnh báo) 26
2.6 Các kiểu lập trình trong android 26
CHƯƠNG III:PHÂN TÍCH PHẦN MỀM 27
3.1 Lựa chọn ngôn ngữ, môi trường ứng dụng: 27
Trang 10DANH MỤC CÁC BẢNG BIỂU
Bang 1 Biến và kiểu dữ liệu trong C# 15
Bang 2 Toán tử gán 17
Bang 3 Toán tử quan hệ 17
Bang 4 Toán tử Logic 18
Bang 5 Toán tử điều kiện 18
Trang 11DANH MỤC CÁC BẢNG HÌNH
Hình 1:Tải Android Studio 17
Hình 2:Cài đặt Android Studio 17
Hình 3:Khởi động Android Studio 18
Hình 4:Cửa sổ AVD Manager 18
Hình 5:Giao diện tạo máy ảo 19
Hình 6:Chọn mẫu máy ảo 19
Hình 7:Cài đặt máy ảo 20
Hình 8:Chỉnh cấu hình máy ảo 20
Hình 9:Tạo máy ảo thành công 21
Hình 10:Tạo project 21
Hình 11:Cài đặt một project 22
Hình 12:Các loại Actitity 23
Hình 13:Đặt tên Activity 23
Hình 14:Đang tiến hành tạo Activity 24
Hình 15:Tạo Activity thành công 24
Hình 16:Activity_main.xml 25
Hình 17:Cấu trúc hệ thống 25
Hình 18:Sau khi chọn Android 26
Hình 19:Các contol của Android 26
Hình 20:Thiết kế giao diện bằng cách kéo thả 27
Hình 21:Giao diện thiết bị 27
Hình 22:Các control hiển thị theo dạng cấu trúc cây 28
Hình 23:Thuộc tính và trạng thái của các control 28
Hình 24: Các nút chức năng của Android studio 28
Hình 25: Giao diện quản lý máy ảo 29
Hình 26: Quản lý Android SDK Manager 29
Hình 27: Quản lý Android Device Manager 30
Hình 28: Giao diện Framelayout 31
Hình 29: Giao diện LinearLayout theo hàng 32
Hình 30: Giao diện LinearLayout theo cột 32
Hình 31: Giao diện RelativeLayout 33
Hình 32: Giao diện đăng nhập 42
Hình 33: Đăng nhập bằng Google 43
Hình 34:Đăng nhập Google thành công 43
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT
Trang 13CHƯƠNG I: TỔNG QUAN ĐỀ TÀI1.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ếtcá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 ứngdụ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àycà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
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
Trang 14CHƯƠNG II: CƠ SỞ LÝ THUYẾT2.1 Giới thiệu về android
Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux được thiết kế dành riêngcho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.Ban đầu, hệ điều này này được phát triển bởi công ty Android, với sự hỗ trợ tài chính từGoogle, sau đó chính Google đã mua lại công ty này và tiếp tục phát triển Android trở thànhmột nền tảng hiệu quả hơn
- Kho ứng dụng Google Play Store đồ sộ, nhiều ứng hữu ích
- Giao diện thân thiện, dễ sử dụng
- 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
Trang 152.2 Lịch sử phát triển
Tháng 7 năm 2005 Google mua lại Android Inc, một công ty nhỏ được thành lập từ năm
2003 có trụ sở ở Palo Alto, California, Mỹ Khi đó, có rất ít thông tin về các công việc củaAndroid, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động Điều này tạonhững tin đồn về việc Google có ý định bước vào thị trường điện thoại di động
Tháng 9 năm 2007, tờ nformationWeek đăng tải một nghiên cứu của Evalueserve cho biếtGoogle đã nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động
Ngày 9 tháng 12 năm 2008 thêm 14 thành viên mới gia nhập dự án Android được công bố,gồm có ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd,Softbank, Sony Ericsson, Toshiba Corp và Vodafone Group Plc
Android đã có những bước đi dài kể từ khi thiết bị đầu tiên dùng hệ điều hành này xuất hiện,chiếc HTC Dream (ở nhiều nước gọi là T-Mobile G1) Trong quãng thời gian ấy, người dùng
đã chứng kiến sự xuất hiện của rất nhiều phiên bản Android, giúp nó dần biến đổi thành mộtnền tảng di động mạnh mẽ như ngày hôm nay
Trang 162.2.1 Điểm khởi đầu của android
Kỉ nguyên Android chính thức khởi động vào ngày 22/10/2008, khi mà chiếc điện thoại Mobile G1 chính thức được bán ra ở Mỹ Ở giai đoạn này, rất nhiều những tính năng cơ bảncho một smartphone bị thiếu sót, chẳng hạn như bàn phím ảo, cảm ứng đa điểm hay khả năngmua ứng dụng Tuy nhiên, vai trò của phiên bản đầu tiên này vô cùng quan trọng Nó đã đặtnền móng cho các tính năng có thể xem là đặc điểm nhận dạng của Android ngày nay Thanhthông báo kéo từ trên xuống: Ngay từ ngày đầu tiên trình làng, Android đã được tích hợp một
T-hệ thống cảnh báo vô cùng hữu dụng so với những đối thủ cạnh tranh thời bấy giờ mặc dù nókhông được tốt như Notification Bar trên các thế hệ Android mới Người dùng có thể nhanhchóng xem những tin nhắn đến, xem ai mới gọi nhỡ hoặc bất cứ thứ gì mà phần mềm trên đangmáy muốn người dùng biết Tất cả thông báo đều tập hợp trong một danh sách duy nhất Thanhtrạng thái, bao gồm đồng hồ, biểu tượng pin, biểu tượng cho các kết nối cũng được tích hợpvào nơi đây, giúp tiết kiệm tối đa không gian màn hình nhưng vẫn phục vụ đầy đủ nhu cầuthông tin cho người sử dụng Mãi cho đến ngày nay, Android 4.2 vẫn duy trì ý tưởng tuyệt vờinày Màn hình chính và widget: Nếu muốn so sánh Android, iOS và Windows Phone, điểmkhác biệt lớn nhất đó là một màn hình chính Màn hình chính của Android thật sự rất phongphú Có thể thay đổi hình nền, đặt icon ra màn hình chính, sử dụng widget và hơn hết là thayluôn cả cái màn hình chính nếu muốn Độ tùy biến của màn hình chính trên Android có thểxem là cao nhất trong các hệ điều hành di động hiện nay Về phần widget, đây cũng là mộtđiểm hay của Android vì nó cho phép người dùng nhanh chóng truy cập đến một số tính năngnào đó hoặc xem nhanh các thông tin cập nhật chi tiết một cách nhanh nhất Widget cũng đóngvai trò trang trí cho màn hình chính nữa Symbian cũng có widget nhưng chưa so được vớiAndroid về mức độ phong phú và chức năng (tất nhiên là phải về sau này,còn lúc mới ra thìchưa có nhiều) Tích hợp chặt chẽ với Gmail: Lúc chiếc G1 ra mắt, Gmail đã hỗ trợ giao thứcPOP và IMAP để dùng được với các trình gửi nhận email trên thiết bị di động, nhưng vấn đềnằm ở chỗ không có giao thức nào được tận dụng tối đa để phục vụ những tính năng độc đáocủa Gmail (ví dụ như lưu trữ, đánh nhãn cho email) Android 1.0 ra mắt đã khắc phục được vấn
đề này và có thể nói chiếc G1 đã mang lại trải nghiệm Gmail tốt nhất trên thị trường vào thờiđiểm đó Về mặt giao diện: Google xây dựng giao diện của Android 1.0 với sự hợp tác của mộtcông ty thiết kế đến từ Thụy Điển với tên gọi The Astonishing Tribe (TAT) Từ Android 1.0đến 2.2, có thể thấy sự xuất hiện của một widget đồng hồ quen thuộc, tuy đơn giản nhưng kháđẹp mắt, đó chính là dấu ấn của TAT Một thời gian sau, TAT bị RIM mua lại để tập trung pháttriển cho nền tảng BlackBerry OS
cũng như BBX Mối quan hệ của TAT với Google Android cũng chấm dứt ở đây
2.3 Android Studio
Google cung cấp một công cụ phát triển ứng dụng Android trên Website
chính thức dựa trên nền tảng IntelliJ IDEA gọi là Android Studio Android
studio dựa vào IntelliJ IDEA, là một IDE tốt cho nhất Java hiện nay Do đó
Android Studio sẽ là môi trường phát triển ứng dụng tốt nhất cho Android
Trang 172.3.1 Cài đặt Android studio
Yêu cầu phần cứng máy tính
- Microsoft® Windows® 8/7 (32 or 64-bit)
- 4 GB RAM (Tốt nhất là 8GB)
- 400 MB hard disk space + ít nhất 1GB cho Android SDK, emulator system images và caches
- Độ phân giải tối thiếu 1280 x 800
-Java Development Kit ()
Phần mềm android studio
- Vào đường dẫn: "http://developer.android.com/sdk/index.html"
- Để download bản mới nhất và tiến hành cài đặt click như hình:
Hình 1: Tải Android Studio
- Khi cài đặt chú ý chọn cả SDK và trình giả lập thiết bị android ảo như hình:
Trang 18- Đây là màng hình khởi động.
Hình 3: Khởi động Studio-Các bước cài đặt thiết bị ảo trong android studio
Máy ảo Android là một phần không thể thiếu khi chúng ta lập trình ứng
dụng cho hệ điều hành Android, nó giúp chúng ta chạy thử ứng dụng ngay trên
máy tính Trong Android Studio có cung cấp cho chúng ta một máy ảo Android
mặc định là Android Virtual Device viết tắt là AVD.
Để cài đặt máy ảo mở Android Studio lên và click vào nút AVD Manager.
Cửa sổ AVD Manager sẽ xuất hiện:
Hình 4: Cửa sổ AVD Manager
Ở đây ta đang có sẵn một cái máy ảo, ta sẽ tạo thêm một cái máy ảo nữa
bằng cách ấn vào nút Create Virtual Device ở góc dưới cùng bên trái Sau đó sẽ
hiển thị ra một cửa sổ nữa:
Trang 19Hình 5: Giao diện tạo máy ảo
Ở đây có sẵn các mẫu điện thoại, ta chọn mẫu mà mình muốn, ví dụ chọn Nexus 5 Chọn xong bấm "Next" để tiếp tục:
Trang 20Hình 7: Cài đặt máy ảo
Ở cửa sổ tiếp theo này ta có thể tùy chỉnh cấu hình máy ảo, ví dụ như độ
phân giải, CPU, máy nằm hang hay dọc, Nếu muốn tùy chỉnh nhiều hơn nữa
ta bấm vào nút Show Advanced Setting ở phía dưới cùng bên trái:
Hình 8: Chỉnh cấu hình máy ảo
Ta kéo xuống phía dưới sẽ thấy thêm phần tùy chỉnh RAM, bộ nhớ trong,
thẻ nhớ, Sau khi tùy chỉnh theo ý muốn ấn "Finish" để tiến hành tạo máy ảo và
chờ một lúc để Android Studio lưu thông tin máy ảo Sau khi lưu xong ta sẽ
Trang 21Hình 9: Tạo máy ảo thành công
2.3.2 Cấu trúc dự án android studio
a Tạo mới một project.
Trang 22Sau đó nhấp Next để tiếp tục.
b Cài đặt một project.
Hình 11: Cài đặt một project
Ở hộp thoại trên cho phép ta lựa chọn là ứng dụng sẽ được viết cho những thiết bị nào (Phone and Tablet, TV, Wear).
Ở mục Minium SDK, quy định phiên bản android tối thiếu để chạy ứng dụng.
Hiện nay bản API14 Android 4.0 (IceCreamSandwich) vẫn đứng đầu về
số lương thiết bị sử dụng chiếm tới hơn 90%) nên thường lựa chọn.
Màn hình này hiển thị cho phép chọn loại Activity mặc định.
Trang 23Hình 12: Các loại Activity
Chon Blank Activity rồi bấm Next:
Trang 24-Menu Resource Name: Tên file xml để tạo menu cho phần mềm.
Sau khi cấu hình xong, bấm Finish, Màn hình Build Gradle project hiển thị:
Hình 14: Đang tiến hành tạo ActivityKhi build xong mặc định có màn hình dưới đây:
Hình 15: Tạo Activity thành công
c Màn hình làm việc của dự án android studio
Theo mặc định Android Studio hiển thị các files trong project theo góc
nhìn Android Góc nhìn này Android Studio sẽ tổ chức các files theo 3 module
- manifests: chứa file AndroidManifest.xml.
Trang 25Mở Project mặc định activity_main.xml sẽ được chọn ta có màn hình
như sau:
Hình 16: activity_main.xml
Ở trên tạm thời chia làm 6 vùng làm việc mà lập trình viên thường tương tác.
- Vùng 1.
Là nơi cấu trúc hệ thống thông tin của Ứng dụng, Ta có thể thay đổi
cấu trúc hiển thị (thường để mặc định là Android).
Hình 17: Cấu trúc hệ thống