Giới thiệu đề tài Trước hết, đề tài “Ứng dụng cửa hàng thời trang” trên nền tảng Android là mộtứng dụng được xây dựng như một đề tài thể hiện việc áp dụng những kiến thứcquý báu đã được
GIỚI THIỆU
Giới thiệu đề tài
Trước hết, đề tài “Ứng dụng cửa hàng thời trang” trên nền tảng Android là một ứng dụng được xây dựng như một đề tài thể hiện việc áp dụng những kiến thức quý báu đã được các thầy cô của trường Học viện hàng không Việt Nam nhiệt tình truyền thụ lại cho chúng em Và đặc biệt là sự theo dõi và quan tâm giúp đỡ của thầy Huỳnh Thanh Sơn trong suốt thời gian em thực hiện đề tài này.
Thứ hai là những kinh nghiệm quý báu mà em có được trong quá trình thực hiện đề tài sẽ là hành trang tuyệt vời giúp ích rất nhiều cho công việc sau này của mình.
Thứ ba, trong thời đại công nghệ thông tin phát triển như vũ bão ngày nay, công nghệ không ngừng được cải tiến, những công nghệ mới ra đời đòi hỏi người lập trình viên phải cố gắng nghiên cứu và tìm hiểu để áp dụng vào thực tiễn Điều này cũng được thể hiện qua sự cố gắng em khi quyết định thực hiện đề tài này với các công nghệ được coi là mới nhất , hay và được dự báo sẽ phát triển mạnh mẽ trong tương lai.
Do vậy, em rất hy vọng sẽ tạo nên một sản phẩm hoàn chỉnh nhất có thể để đáp lại sự nhiệt tình giúp đỡ từ thầy cô và cả tâm huyết của em khi quyết định thực hiện đề tài này
Lí do chọn đề tài
Công việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trải qua mỗi giai đoạn lịch sử nó mang một hình thức đặc thù riêng Trước kia, khi các công cụ hỗ trợ công việc mua bán chưa phát triển mạnh, thì người kinh doanh mua bán chỉ diễn ra dưới hình thức mua bán trực tiếp.Từ khi khoa học công nghệ phát triển, nó đã tạo ra phát triển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến. Hình thức mua bán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc với được nhiều khách hàng, còn khách hàng thì công việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết kiệm được thời gian …
Hiện nay, Thương Mại Điện Tử (TMĐT) đang được nhiều quốc gia quan tâm, coi là một trong những động lực phát triển chủ yếu của nền kinh tế TMĐT đem lại những lợi ích tiềm tàng, giúp doanh nghiệp thu được thông tin phong phú về thị trường và đối tác, giảm chi phí tiếp thị và giao dịch, tạo dựng và củng cố quan hệ bạn hàng
Việc mua hàng qua mạng chỉ với thủ tục đăng ký mua sắm đơn giản nhưng đem lại nhiều lợi ích: tiết kiệm và chủ động về thời gian, tránh khỏi những phiền phức khó chịu Vậy nên việc mua bán hàng qua mạng đang rất được mọi người quan tâm Phổ biến như các trang thương mại điện tử: Shopee, Lazada, Tiki,
Trên cơ sở các kiến thức được học trong nhà trường và quá trình tìm hiểu các website, ứng dụng trong thực tế, em đã quyết định chọn đề tài “Ứng dụng cửa hàng thời trang trên nền tảng Android”.
Phục vụ tốt hơn nhu cầu của khách hàng và quản lý cửa hàng trong hoạt động kinh doanh.
Khách hàng chỉ cần các thao tác đơn giản trên điện thoại di động là có thể đặt hàng được ngay.
Ứng dụng thực tiễn
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần…
Bằng Internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này, đã thúc đẩy sự khai sinh và phát triển của thương mại điện tử và chính phủ điện tử trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người
Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Đối với một cửa hàng hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu của khác hàng sẽ là cần thiết Vậy phải quảng bá thế nào đó phẩm của mình bán Vì vậy, nhóm em đã thực hiện đồ án “Ứng dụng cửa hàngthời trang” cho các cửa hàng nhỏ và vừa theo mô hình kinh tế chia sẻ các chủ cửa hàng đưa các sản phẩm đó lên app thông qua tài khoản cá nhân và quản lý bằng app đó Khách hàng có thểcđặt mua hàng trên app mà không cần đến cửa hàng. Các chủ cửa hàng sẽ gửi sản phẩm cho khách hàng khi nhận được tiền và mỗi tháng mỗi chủ cửa hàng trả 10% dựa trên tổng doanh thu + 200.000VNĐ phí duy trì tài khoản một khoản phí hấp dẫn cho các chủ shop kinh doanh nhỏ và vừa và tạo cơ hội cho các chủ shop nhỏ và vừa có thể cạnh tranh với các shop lớn.
Với mong muốn được chia sẻ mô hình kinh tế chia sẻ với các shop quần áo nên nhóm em xin chọn đề tài “Ứng dụng cửa hàng thời trang” đây sẽ là vũ khí giúp các cửa hàng nhỏ vừa có thể cạnh tranh công bằng với các cửa hàng lớn.
Mục tiêu đạt được
Ứng dụng mua cửa hàng thời trang chạy trên nền Android được thực hiện dựa trên hai mục đích chính sau:
Thứ nhất là nghiên cứu các công nghệ lập trình như : lập trình ứng dụng với
Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển khai ứng dụng vào thực tế, giúp những người có nhu cầu mua bán thức ăn nhanh có thể thao tác dễ dàng và tiện lợi
Em hy vọng dựa trên nền tảng lý thuyết đã được thầy cô truyền thụ lại, kết hợp với sự tìm hiểu công nghệ của nhóm em, đồ án môn lập trình thiết bị di động của nhóm em sẽ đạt được mục đích mong đợi Ứng dụng mua bán sản phẩm chạy trên nền Android được thực hiện dựa trên hai mục đích chính sau :
Thứ nhất là nghiên cứu các công nghệ lập trình như : lập trình ứng dụng với Android
Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển khai ứng dụng vào thực tế, giúp những người có nhu cầu mua bán thức ăn nhanh có thể thao tác dễ dàng và tiện lợi.
CÔNG NGHỆ ỨNG DỤNG/CƠ SỞ LÝ THUYẾT
Tổng quan về hệ điều hành Android
1 Giới thiệu về hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và các thiết bị máy tính bảng Ban đầu Android được phát triển bởi tổng công tyAndroid, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt năm 2007 cùng với tuyên bố thành lập liên minh thiết bị cẩm tay mở cho các thiết bị di động
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do.Các ứng dụng cho Android được phát triển bằng ngôn ngữ Java sử dụng bộ phát triển phần mềm Android (SDK) SDK bao gồm một bộ đầy đủ các công cụ dùng để phát triển gồm có công cụ gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại dựa trên QEMU, tài liệu hướng dẫn, mã nguồn mẫu, và hướng dẫntừng bước Môi trường phát triển tích hợp (IDE) được hỗ trợ chính thức là Eclipse sử dụng phần bổ sung Android Development Tools (ADT) Các côngcụ phát triển khác cũng có sẵn, gồm có Bộ phát triển gốc dành cho các ứng dụng hoặc phần mở rộng viết bằng C hoặc C++, Google App Inventor, một môi trường đồ họa cho những nhà lập trình mới bắt đầu, và nhiều nền tảng ứng dụng web di động đa nền tảng phong phú
Android được Google tự phát triển riêng cho đến khi những thay đổi và cậpnhật đã hoàn thiện, khi đó mã nguồn mới được công khai Mã nguồn này, nếukhông sửa đổi, chỉ chạy trên một số thiết bị, thường là thiết bị thuộc dòng Nexus Có nhiều thiết bị có chứa những thành phần được giữ bản quyền do nhà sản xuất đặt vào thiết bị Android của họ.
Hình 1: Tổng quan về hệ điều hành Android
2 Kiến thức cơ bản của hệ điều hành Android
Android gồm 5 phần chính sau được chứa trong 4 lớp:
Nhân Linux: Đây là nhân nền tảng mà hệ điều hành Android dựa vàonó để phát triển Đâu là lớp chứa tất cả các thiết bị giao tiếp ở mức thấp dùng để điều khiển các phần cứng khác trên thiết bị Android.
Thư viện: Chứa tất cả các mã cái mà cung cấp cấp những tính năng chính của hệ điều hành Android, đôi với ví dụ này thì SQLite là thư viện cung cấp việc hộ trợ làm việc với database dùng để chứa dữ liệu. Hoặc Webkit là thư viện cung cấp những tính năng cho trình duyệt Web.
Android runtime: Là tầng cùng với lớp thư viện Android runtime cung cấp một tập các thư viện cốt lỗi để cho phép các lập trình viên phát triển viết ứng dụng bằng việc sử dụng ngôn ngữ lập trình Java. Android Runtime bao gốm máy ảo Dalvik (ở các version < 4.4, hiện tài là phiên bản máy ảo ART được cho là mạnh mẽ hơn trong việc xử lý biên dịch) Là cái để điều khiển mọi hoạt động của ứng dụng Android chạy trên nó(máy ảo Dalvik sẽ biên dịch ứng dụng để nó có thể chạy(thực thi) được , tương tự như các ứng dụng được biên dịch trên máy ảo Java vậy) Ngoài ra máy ảo còn giúp tối ưu năng lượng pin cũng như CPU của thiết bị Android.
Android framework: Là phần thể hiện các khả năng khác nhau củaAndroid(kết nối, thông báo, truy xuất dữ liệu) cho nhà phát triển ứng dụng, chúng có thể được tạo ra để sử dụng trong các ứng dụng của họ.-
Application: Tầng ứng dụng là tầng bạn có thể tìm thấy chuyển các thiết bị Android như Contact, trình duyệt…Và mọi ứng dụng bạn viết đều nằm trên tầng này.
Hình 2: Kiến thức hệ điều hành Android
3 Giới thiệu về ngôn ngữ lập trình Java
Java là một ngôn ngữ lập trình cao cấp, ban đầu được phát triển bởi Sun Microsystems và được phát hành vào năm 1995 Java chạy trên nhiều nền tảng, chẳng hạn như Windows, Mac OS và các phiên bản khác nhau của UNIX Là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng
Java như là một công nghệ hay một nền tảng phát triển Nó bao gồm các bộ phận:
Bộ công cụ phát triển: J2SDK
Các đặc tả chi tiết kĩ thuật (specifications)
Ngôn ngữ lập trình (programming language)
4 Các khái niệm cơ bản trong lập trình ứng dụng Android
Một Activity là một thể hiện của ứng dụng Một ứng dụng có thể gồm chỉ 1 hoặc nhiều Activity Activity chính phải được hiển thị đầu tiên khi khởi động chương trình Chuyển từ một Activity này sang một Activity khác bằng cách cho Activity hiện thời khởi động Activitykế tiếp
Một cây phân cấp View được đặt trong một cửa sổ của Activity bằngphương thức Activity.setContentView(), Content view là đối tượng View ở gốc của cây phân cấp
Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòng đời của một hoạt động.
Hình 3: Vòng đời của một Activity
Class Activity định nghĩa các sự kiện sau đây :
onCreate(): Được gọi khi hoạt động được tạo ra lần đầu tiên.
onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng.
onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng.
onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạtđộng trước đó.
onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng.
onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằngtay hoặc bằng hệ thống để bảo tồn bộ nhớ).
onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một lần nữa.
Một Service không có giao diện trực quan, nó chạy nền trong một khoảng thời gian không xác định
Trong khi kết nối, người dùng có thể giao tiếp với Service thông quagiao diện mà Service đó trưng qua
Service chạy chạy trong Thread chính của ứng dụng, vì thế chúng không ngăn chặn các thành phần khác hay giao diện của người sử dụng, chúng thường tạo ra các Thread khác cho các nhiệm vụ hao tổn thời gian.
Một Content Provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khả dụng cho các ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trong một cơ sở dữ liệu SQLite, hay trong một cách khác nào đó Content Provider mở rộng của lớp cơ sở ContentProvider để cài đặt một tập các chuẩn các phương thức cho phép các ứng dụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển Tuy nhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng một đối tượng ContentResolver và gọi các phương thức của nó Một ContentResolver có thể nói chuyện với bất cứ Content Provider nào, chúng cộng tác với provider để quản lý giao tiếp liên tiến trình.
Một Broadcast Rreceiver là một thành phần không làm gì ngoài việcnhận và đáp lại các thông báo Broadcast Nhiều Broadcast khởi đầu trong mã hệ thống Các ứng dụng có thể tạo ra các Broadcast, chẳng hạn để ứng dụng khác biết được một số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử dụng chúng
Broadcast Receiver không hiển thị một giao diện người dùng Tuy nhiên, chúng có thể bắt đầu một Activity để đáp lại thông tin mà chúng nhận, hay chúng có thể sử dụng NotificationManager để cảnh báo người dùng Notifications có thể gây sự chú ý của người dùng bằng nhiều cách.
Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các đối tượng View và ViewGroup Có nhiều kiểu View và ViewGroup Mỗi một kiểu là môt con của Class View và tất cả các kiểu đó gọi là các Widget
FireBase
Firebase là một nền tảng ứng dụng di động và web với các công cụ và hạ tầng được thiết kế để giúp các lập trình viên xây dựng các ứng dụng chất lượng cao.
Hình 4: Các tính năng cơ bản của FireBase
Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực Cụ thể hơn là bạn có thể xây dựng được client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung 1 database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong databaseđược thêm mới hoặc sửa đổi Ngoài ra Firebase còn cho phép bạn phân quyền một các đơn giản bằng cú pháp tương tự như Javascript.
Tự động tính toán quy mô ứng dụng của bạn.
Các tính năng bảo mật lớp đầu
Với Firebase, bạn có thể dễ dàng xác thực người dùng từ ứng dụng của bạn trên Android, IOS và JavaScript SDKs chỉ với một vài đoạn mã. Firebase đã xây dựng chức năng cho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google, và xác thực nạc danh.Các ứng dụng sử dụng chức năng xác thực của FireBase có thể giải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rất nhiều các vấn đề phức tạp về phần backend Hơn nữa bạn có thể tích họp xác thực người dùng với các chức năng backend đã có sẵn sử dụng.
Phát triển ứng dụng web của bạn trong thời gian ngắn với các hosting tĩnh đã được cung cấp sẵn Tất cả các kết nối được phân phốiqua SSL từ CDN trên toàn thể giới của Firebase
Triểu khai siêu tốc: Việc triển khai sử dụng các công cụ dòng lệnh Firebase và có thể quay trở lại với phiên bản trước chỉ với một cú click chuột Tất cả các ứng dụng sẽ có đường dẫn mặc đinh ở sau firebaseapp.com và nếu trả phí thì có thể triểu khai một tên miền tuỳ chỉnh.
SSL bởi default: Mọi ứng dụng được xử lý thông qua một kết nối an toàn, và Firebase đã cẩn thận cung cấp SSL cert cho bạn
Hình 5: Mô tả về tính năng Firebase Mesaging
Firebase cũng sẽ ra mắt Firebase Storage để giúp lập trình viên upload và download file dễ dàng Firebase Storage được Google Cloud Storage hỗ trợ, mang đến khả năng lưu trữ khổng lồ và cho phép Google Cloud project truy cập file dễ dàng Firebase Storage client SDKs còn có logic nâng cao có thể dễ dàng xử lý điều kiện mạng kém.
4 Firebase Test Lab và Crash Reporting
Firebase Crash Reporting là công cụ báo cáo crash có khả năng ưu tiên,hành động nhanh giúp bạn chuẩn đoán và xử lý ngay các vấn đềcủa ứng dụng iOS và Android Crash Reporting còn có thể kết nối đến nhóm Audiences trong Firebase Analytics, từ đó bạn có thể biết được người dùng bị crash đang dùng thiết bị nào, khu vực địa lý nào.
SẢN PHẨM ĐỒ ÁN
Database
Chức năng
II.1 Các nhóm chức năng :
- Chức năng của hệ thống có thể chia làm các nhóm chức năng chính như sau:
+ Nhóm chức năng đăng ký, đăng nhập thành viên.
+ Nhóm chức năng xem thông tin bao gồm : xem thông tin sản phẩm, xem thông tin giỏ hàng , xem đơn hàng, xem thông tin cá nhân.
+ Nhóm chức năng quản lý thông tin : chức năng chỉnh sửa hồ sơ cá nhân
+ Nhóm chức năng mua hàng, thêm hàng vào giỏ , thêm hàng vào danh sách yêu thích ,xử lý đơn hàng
+ Chức năng xem thông tin sản phẩm :
+ Chức năng xem thông tin giỏ hàng :
+ Chức năng Thêm sản phẩm vào giỏ hàng :
2.3 Giao diện các chức năng :
+ Chức năng xem các sản phẩm phân theo loại :
- Tạo một class SanPham chứa các thông tin của sản phẩm như tên, giá, hình ảnh, Sau đó cần tạo một Adapter để xây dựng RecyclerView với các sản phẩm được lấy từ database về phân theo loại.
Hàm xử lý xác định sản phẩm theo loại:
Cấu trúc của collection data SanPham như sau :
- Chức năng hồ sơ ,chỉnh sửa hồ sơ: Cho phép người có thể xem và tùy chỉnh hồ sơ của mình với các thông tin như tên , địa chỉ , hình đại diện
+ Giao diện lần lượt của xem hồ sơ và chỉnh sửa hồ sơ như sau ( bên trái là xem hồ sơ, bên phải là chỉnh sửa ) :
+ Lấy và cập lại thông tin của user trên hồ sơ theo thời gian thực khi data có sự thay đổi:
Phương thức setUserImformation() sẽ được gọi trong onCreateView để cập nhật hồ sơ
+ Xử lý sự kiện khi bấm vào nút Edit thì sẽ chuyển sang Activity EditProfile sau đó trên file EditProfile sẽ xử lý như sau :
Phương thức UploadUserInformation() được gọi trong sự kiện click của nút Confirm , nó sẽ thực hiện lấy những thông tin dạng text và đẩy lên FirebaseFirestore trong collection là Users và document là userID hiện tại
Phương thức UploadImage() cũng tương tự như ở trên nhưng nó sẽ xử lý việc upload hình ảnh vào FirebaseStorage , sau khi chọn được hình từ gallery
-Chức năng xem thông tin chi tiết sản phẩm: Giúp người dùng có thể xem thông tin chi tiết hơn về sản phẩm , cũng như có thể thêm sản phẩm vào giỏ hàng thông qua nút Add To Cart,
+ Xử lý xuất thông tin :
Khởi tạo một object để nhận lại một Intent được gửi từ ProductActivity ( Activity chứa RecyclerView danh sách sản phẩm ) Sau đó kiểm nếu sanPham khác null thì thực hiện gán các dữ liệu lấy được từ product vào view detail product.
+ Xử lý sự kiện click nút thêm vào giỏ :
-Chức năng giỏ hàng : Cho phép người dùng có thể xem các sản phẩm hiện có trong giỏ của mình theo thời gian thực khi data có sự thay đổi , có thể tăng giảm số lượng từng mặt hàng và biết được tổng tiền của giỏ hàng,
Code xử lý cho có view và sự kiện click trên item của RecyclerView :
Sự kiện click cho nút giảm cũng tương tử chỉ thay thế totalquantity++; thành totalquantity ;
Sau khi click thì ngay lập tức số lượng của mặt hàng đó trong giỏ sẽ bị thay đổi trên data FirebaseFirestore
Sang code xử lý cho total price là CartFragment :
-Chức năng Đăng nhập , Đăng ký:
+ Đăng ký : Nhóm em sử dụng phần Authentication của Firebase để tạo nên chức năng đăng ký và đăng nhập Ở phần đăng ký , đầu tiên cần tạo một layout đăng ký gồm các ô EditText để người dùng có thể nhập thông tin vào và một số các nút chức năng , giao diện đăng ký có hình như sau :
Sau đó tạo một file Activity và setContent layout với layout đăng ký vừa tạo, và ánh xạ view Tiếp theo là xử lý và tạo chức năng đăng ký bằng cách lấy những thông tin người dùng nhập vào EditText thông qua phương thức getText() như sau :
Sau khi đã lấy được những thông tin người dùng nhập vào thì tiến hành truyền những thông tin như email và password vào Firebase phần Authentication như sau : Đầu tiên khởi tạo FirebaseAuth và FirebaseFirestore
Sau đó kiểm tra các ô thông tin nhập vào như email , password và gửi nó vàoFirebase thực hiện đăng ký:
Cuối cùng là dùng createUserWithEmailAndPasswod() với 2 tham số truyền vào là email và password người dùng nhập , Firebase sẽ thực hiện kiểm tra xem email đó đã tồn tại chưa, nếu rồi thì thông báo rằng đăng không thành công và ngược lại thì thông báo là đăng ký thành công và ghi tài khoản đó và Authentication và đồng thời ghi vàoFirebaseFirestore để lưu trữ thêm các thông tin khác của User:
+ Đăng nhập : Về phần đăng nhập thì nhóm em sử dụng Authentication của Firebase để tạo chức năng Giao diện đăng nhập như hình sau :
Trong file Activity của đăng nhập cũng khá giống với đăng ký, ban đầu cần lấy được thông tin người dùng nhập vào sau đó đem những thông tin đó đi kiểm tra xem người dùng nhập đúng thông tin đăng nhập chưa hay tài khoản email có tồn tại không :
-Chức năng phục hồi quên mật khẩu:
- Giao diện cảm ơn sau khi đặt hàng thành công :