1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn lập trình mobile đề tài tìm hiểu api về đồ uống cocktail và công thức trên website

29 4 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Xuất hiệnlần đầu vào năm 1995, Java đã nhanh chóng trở thành một trong những ngôn ngữ phổ biến nhất trên thế giới nhờ vào những đặc điểm độc đáo của mình.Điều làm nổi bật Java là tính ch

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC ĐẠI NAM

Trang 2

Hà Nội, năm 2022

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC ĐẠI NAM

31451020160 Nguyễn Bảo Nam22/07/2001

Cán bộ chấm thi

Trang 4

Hà Nội, năm 2022

Trang 5

MỤC LỤCChương 1 MỞ ĐẦU 4

1.1.Mục đích 4

1.2.Mục tiêu của dự án 4

Chương 2 CƠ SỞ LÍ THUYẾT 6

2.1.Java 6

2.1.1.Giới thiệu về Java 6

2.1.2.Ưu điểm của Java 7

2.1.3.Nhược điểm của Java 7

2.2.Android Studio 8

2.2.1.Giới thiệu về Android Studio 8

2.2.2.Ưu điểm của Android Studio 9

2.2.3.Nhược điểm của Android Studio 10

2.3.Mô hình 11

2.3.1.Giới thiệu về mô hình MVC 11

2.3.2.Ưu điểm của mô hình MVC 12

2.3.3.Nhược điểm của mô hình MVC 13

2.4.Cơ sở dữ liệu SQLite 13

2.4.1.Giới thiệu SQLite 13

2.4.2.Ưu điểm của SQLite 14

2.4.3.Nhược điểm của SQLite 15

Chương 3 16PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 16

Trang 6

3.1.1.Tìm Kiếm Thông Tin: 16

3.1.2.Xem Chi Tiết: 16

Trang 7

LỜI CẢM ƠN

Tôi xin bày tỏ lòng biết ơn sâu sắc đến những người đã giúp đỡ và hỗ trợtôi trong quá trình thực hiện khóa luận này

Tôi muốn gửi lời cảm ơn chân thành Giáo viên hướng dẫn: Trần Đức Minh đã trực tiếp định hướng, chỉ dẫn tôi trong việc nghiên cứu và hoàn thành

Trang 9

Chương 1.MỞ ĐẦU1.1 Mục đích

Mục đích của đề tài này là kết hợp các kỹ thuật phổ biến trong phát triển ứng dụng di động, bao gồm quản lý người dùng thông qua Firebase, sử dụng API liên quan đến đồ uống cocktail, và lưu trữ thông tin người dùng về đồ uống yêu thích vào cơ sở dữ liệu SQLite Mục tiêu chính là xây dựng một ứng dụng đồ uống cocktail hoàn chỉnh và thú vị, với khả năng đăng nhập, quản lý thông tin cá nhân và đồ uống yêu thích của người dùng

1.2 Mục tiêu của dự án

Quản lý người dùng thông qua Firebase:

Ứng dụng sẽ tích hợp Firebase Authentication để cung cấp một cổng xácthực an toàn và tiện ích cho người dùng Người dùng sẽ có khả năng đăng nhậpbằng tài khoản Firebase hoặc đăng ký tài khoản mới trực tiếp từ ứng dụng.Thông tin người dùng như tên, email và hình đại diện có thể được quản lý thôngqua Firebase.

Quản lý đồ uống yêu thích thông qua SQLite:

Ứng dụng sẽ sử dụng cơ sở dữ liệu SQLite để lưu trữ thông tin về đồ uốngmà người dùng đã chọn hoặc thích Mỗi lượt thích sẽ được lưu trữ dưới dạngmột bản ghi trong cơ sở dữ liệu, bao gồm các chi tiết như ID đồ uống, tên đồuống và thông tin khác liên quan.

Sử dụng API Cocktail:

Ứng dụng sẽ kết nối và tương tác với API Cocktail từ ninjas.com/api/cocktail Điều này cho phép ứng dụng lấy thông tin đồ uốngcocktail như hình ảnh, tên và mô tả chi tiết Danh sách đồ uống sẽ được hiển thịmột cách hấp dẫn, và người dùng có thể xem thông tin chi tiết về từng loạicocktail.

https://api-Thiết kế giao diện:

Trang 10

Giao diện ứng dụng sẽ được thiết kế với ít nhất 3 trang chức năng chính,chẳng hạn như trang đăng nhập/đăng ký, trang danh sách đồ uống yêu thích vàtrang xem chi tiết đồ uống Sử dụng hình ảnh và biểu tượng sinh động để tạo ratrải nghiệm người dùng thú vị và dễ sử dụng.

Tối ưu hóa trải nghiệm người dùng:

Ứng dụng sẽ được tối ưu hóa để đảm bảo hiệu suất tốt và thời gian đápứng nhanh chóng Các tình huống đặc biệt như mất kết nối internet sẽ được xửlý một cách thông minh để cung cấp trải nghiệm liền mạch cho người dùng.

Trang 11

Chương 2.CƠ SỞ LÍ THUYẾT2.1 Java

2.1.1 Giới thiệu về Java

Java là một ngôn ngữ lập trình phổ biến và mạnh mẽ, được phát triển bởi Sun Microsystems và hiện đang thuộc sở hữu của Oracle Corporation Xuất hiệnlần đầu vào năm 1995, Java đã nhanh chóng trở thành một trong những ngôn ngữ phổ biến nhất trên thế giới nhờ vào những đặc điểm độc đáo của mình.

Điều làm nổi bật Java là tính chất đa nền tảng, khi mã nguồn của nó được biên dịch thành bytecode có thể chạy trên bất kỳ máy ảo Java (JVM) nào, giúp ứng dụng có thể chạy trên nhiều hệ điều hành khác nhau mà không cần sửa đổi Java cũng được thiết kế theo hướng đối tượng, hỗ trợ các khái niệm như đóng gói, kế thừa và đa hình, làm cho mã nguồn trở nên dễ bảo trì và tái sử dụng.

Sự bảo mật cao cũng là một điểm mạnh của Java, với mô hình an ninh giới hạn quyền truy cập của chương trình và JVM kiểm soát các tài nguyên như bộ nhớ và file Java cung cấp thư viện chuẩn rộng lớn và API mạnh mẽ, giúp lậptrình viên xây dựng ứng dụng hiệu quả và linh hoạt.

Với sự thuận tiện cho phát triển web thông qua các framework như Springvà Struts, Java tiếp tục là một lựa chọn hàng đầu trong ngành công nghiệp phần mềm Điều này càng được củng cố bởi cộng đồng lập trình viên lớn và tích cực, cung cấp sự hỗ trợ và tài nguyên đa dạng thông qua các diễn đàn và nguồn mở Java không chỉ là một ngôn ngữ lập trình, mà còn là một hệ sinh thái mạnh mẽ đằng sau sự phát triển của nhiều ứng dụng và hệ thống quan trọng trên khắp thế giới.

Trang 12

2.1.2 Ưu điểm của Java

Java đồng nhiên là một trong những ngôn ngữ lập trình được ưa chuộng khôngchỉ vì tính đa nền tảng và hướng đối tượng mà còn vì một loạt các ưu điểm mà nó mang lại.

Một trong những ưu điểm quan trọng của Java là khả năng đa nhiệm và đồng thời, giúp ứng dụng có thể thực hiện nhiều công việc cùng một lúc mà không làm giảm hiệu suất JVM quản lý quy trình và bộ nhớ một cách hiệu quả, giúp người lập trình tập trung vào việc phát triển ứng dụng mà không phải quan tâm đến quản lý nguồn tài nguyên.

Tính bảo mật cao cũng là một trong những ưu điểm quan trọng, với mô hình bảo mật cấp độ và cơ chế kiểm soát quyền truy cập, Java ngăn chặn hiệu quả cáclỗ hổng bảo mật phổ biến, giúp bảo vệ ứng dụng khỏi các cuộc tấn công và lợi dụng.

Mô hình thu gom rác (garbage collection) là một yếu tố quan trọng giúp giảm bớt gánh nặng của lập trình viên về quản lý bộ nhớ Hệ thống tự động thu gom rác giúp giải phóng bộ nhớ tự động, giảm nguy cơ xuất hiện lỗi bộ nhớ và làm cho quá trình phát triển và bảo trì ứng dụng trở nên dễ dàng hơn.

Java còn được biết đến với thư viện chuẩn và API phong phú, giúp lập trình viên tiết kiệm thời gian và công sức khi xây dựng ứng dụng Cộng đồng phát triển lớn và sự hỗ trợ liên tục từ Oracle cũng đóng góp vào việc làm cho Java trởthành một lựa chọn ổn định và đáng tin cậy trong ngành công nghiệp lập trình phần mềm.

2.1.3 Nhược điểm của Java

Mặc dù Java có nhiều ưu điểm nổi bật, nhưng cũng không tránh khỏi một số nhược điểm mà cần được xem xét.

Trang 13

Một trong những nhược điểm quan trọng của Java là sự chậm chạp trong việc thực hiện một số nhiệm vụ so với một số ngôn ngữ lập trình khác Nguyên nhân chính là do Java sử dụng máy ảo (JVM) để chạy bytecode, điều này có thể tạo ramột lớp trễ và làm giảm hiệu suất ứng dụng, đặc biệt là trong các ứng dụng yêu cầu xử lý số liệu lớn và phức tạp.

Một nhược điểm khác là môi trường phát triển chậm và nặng nề Quá trình biên dịch và chạy các ứng dụng Java có thể mất thời gian đáng kể, đặc biệt là khi so sánh với các ngôn ngữ lập trình biên dịch trực tiếp Điều này có thể ảnh hưởng đến trải nghiệm phát triển và kiểm thử ứng dụng.

Một nhược điểm khác của Java là sự phụ thuộc mạnh mẽ vào máy ảo Java (JVM) Mặc dù điều này mang lại tính đa nền tảng, nhưng cũng tạo ra một sự phụ thuộc lớn vào JVM, điều này có thể tạo ra khả năng không tương thích giữa các phiên bản JVM khác nhau và giữa các hệ điều hành.

Cuối cùng, mặc dù Java có hỗ trợ đa luồng (multithreading), nhưng quản lý luồng trong Java có thể phức tạp và dễ dàng gây ra lỗi nếu không được thực hiệnđúng cách, điều này làm tăng khả năng phức tạp của việc phát triển ứng dụng đanhiệm.

Tuy nhiên, mặc dù có nhược điểm, Java vẫn là một trong những ngôn ngữ lập trình phổ biến và mạnh mẽ được sử dụng rộng rãi trong nhiều lĩnh vực phát triểnphần mềm.

2.2 Android Studio

2.2.1 Giới thiệu về Android Studio

Android Studio là một môi trường phát triển tích hợp (IDE) chính thứccho việc phát triển ứng dụng di động Android Được phát triển bởi Google,Android Studio cung cấp một loạt các công cụ và tính năng mạnh mẽ giúp lập

Trang 14

Môi trường phát triển này được xây dựng trên nền tảng IntelliJ IDEA vàtích hợp sâu với các công cụ Android SDK (Software Development Kit).Android Studio hỗ trợ nhiều ngôn ngữ lập trình như Java, Kotlin, và C++, manglại sự linh hoạt cho những nhà phát triển muốn lựa chọn ngôn ngữ phù hợp vớinhu cầu cụ thể của họ.

Android Studio cung cấp một giao diện người dùng thân thiện và hiệusuất cao, giúp lập trình viên dễ dàng quản lý dự án, thiết kế giao diện ngườidùng thông qua trình biên tập XML, và triển khai ứng dụng trực tiếp lên thiết bịdi động hoặc máy ảo Android.

Các tính năng nổi bật của Android Studio bao gồm trình quản lý tàinguyên, kiểm thử tích hợp, hỗ trợ thực hiện kiểm soát phiên bản với Git, và mộtbộ công cụ mạnh mẽ để theo dõi hiệu suất ứng dụng Điều này giúp tăng cườngtrải nghiệm phát triển và làm cho quá trình xây dựng ứng dụng Android trở nênhiệu quả và tiện lợi hơn Android Studio là công cụ quan trọng cho cộng đồngphát triển Android và đóng vai trò quan trọng trong việc hỗ trợ sự phát triểnnhanh chóng và đa dạng của ứng dụng di động trên nền tảng Android.

2.2.2 Ưu điểm của Android Studio

Android Studio mang đến nhiều ưu điểm quan trọng, làm cho nó trở thànhmột trong những môi trường phát triển ứng dụng di động hàng đầu Dưới đây là một số ưu điểm nổi bật của Android Studio:

Một trong những lợi ích quan trọng của Android Studio là tích hợp sâu với Android SDK, giúp lập trình viên có được quyền truy cập dễ dàng đến tất cả các công cụ và tài nguyên cần thiết để phát triển ứng dụng Android Việc này giúp giảm thiểu sự phụ thuộc vào các công cụ bên ngoài và tạo ra môi trường phát triển ổn định.

Android Studio hỗ trợ nhiều ngôn ngữ lập trình, bao gồm Java, Kotlin và C++, cung cấp sự linh hoạt cho lập trình viên trong việc chọn ngôn ngữ phù hợpvới nhu cầu cụ thể của dự án Đặc biệt, việc hỗ trợ Kotlin nâng cao hiệu suất lập

Trang 15

Giao diện người dùng thân thiện của Android Studio làm cho quá trình phát triển trở nên dễ dàng hơn Trình biên tập XML tích hợp giúp lập trình viên thiết kế giao diện người dùng một cách hiệu quả, trong khi các công cụ quản lý tài nguyên giúp quản lý tất cả các loại tài nguyên một cách thuận tiện.

Android Studio cung cấp một loạt các tính năng hỗ trợ kiểm thử tích hợp, giúp lập trình viên kiểm thử ứng dụng của mình một cách chặt chẽ và hiệu quả Việc tích hợp sẵn các công cụ kiểm thử giúp nhanh chóng xác định và sửa lỗi, tối ưu hóa hiệu suất và đảm bảo chất lượng của ứng dụng.

2.2.3 Nhược điểm của Android Studio

Android Studio, mặc dù là một môi trường phát triển ứng dụng di động hiệu quả, nhưng cũng không tránh khỏi một số nhược điểm cần được xem xét Đầu tiên, việc tài nguyên hệ thống lớn của AndroidStudio có thể tạo ra áp lực đáng kể đối với các máy tính có cấu hình thấp, làm giảm hiệu suất và làm chậm quá trình phát triển.

Thời gian khởi động Android Studio cũng là một vấn đề, đặc biệt là khi làm việc với các dự án lớn Quá trình này có thể tăng thời gian chờ đợi của lập trình viên và làm gián đoạn quá trình làm việc Ngoài ra, sự hỗ trợ không đồng đều cho các ngôn ngữ khác nhau, đặc biệt là C++, có thể tạo ra những thách thức và khó khăn trong quá trình phát triển.

Các vấn đề về plugin và quá trình cập nhật cũng là điểm đáng chú ý Việc sử dụng các plugin có thể gây ra sự không ổn định hoặc xung đột trong Android Studio, đặc biệt là khi có sự cập nhật Điều này có thể làm phức tạp quá trình cập nhật và sử dụng các tính năng mở rộng.

Trang 16

2.3 Mô hình

2.3.1 Giới thiệu về mô hình MVC

MVC là viết tắt của cụm từ "Model-View-Controller," là một mô hình kiến trúc phần mềm được sử dụng rộng rãi trong lĩnh vực công nghệ phần mềm Mô hình này được thiết kế để quản lý và xây dựng giao diện người dùng trên cácứng dụng máy tính MVC phân chia ứng dụng thành ba thành phần chính, và mỗi thành phần có vai trò và nhiệm vụ riêng biệt và độc lập với nhau.Trong mô hình MVC, có ba thành phần không thể thiếu:

1 Model: Đây là thành phần chịu trách nhiệm lưu trữ toàn bộ dữ liệu

của ứng dụng và đóng vai trò là giao diện giữa hai thành phần khác là View và Controller Model thường đại diện cho dữ liệu sử dụng bởi ứng dụng, có thể là cơ sở dữ liệu, các file dữ liệu như XML, hoặc thậm chí là các đối tượng đơn giản như biểu tượng hoặc nhân vật trong một trò chơi.

2 View: Đây là thành phần giao diện dành cho người sử dụng, thể hiện thông

Trang 17

như cửa sổ, nút bấm, văn bản, và hiển thị dữ liệu để người dùng có thể nhìn thấyvà tương tác với chúng.

3 Controller: Thành phần này có nhiệm vụ xử lý các yêu cầu được người

dùng gửi qua View Controller bao gồm cả Model và View, và nó nhận các dữ liệu đầu vào từ người dùng và thực hiện các cập nhật và xử lý tương ứng Controller là bộ não của ứng dụng, điều hướng và quản lý luồng dữ liệu giữa Model và View.

2.3.2 Ưu điểm của mô hình MVC

Mô hình MVC (Model-View-Controller) mang đến nhiều ưu điểm quan trọng trong phát triển ứng dụng Trước hết, mô hình này giúp tiết kiệm băng thông bởivì không sử dụng viewstate, từ đó giúp giảm tải cho server và cải thiện tính ổn định của website Khả năng này không chỉ giúp giảm khả năng gặp sự cố kết nốimạng mà còn cải thiện trải nghiệm người dùng.

Việc kiểm tra ứng dụng cũng trở nên dễ dàng hơn trong mô hình MVC Nhờ sự phân chia rõ ràng giữa các thành phần Model, Controller và View, việc kiểm tra lỗi phần mềm trước khi ứng dụng được bàn giao cho người dùng trở nên đơn giản và hiệu quả hơn Điều này giúp đảm bảo rằng ứng dụng làm việc ổn định và cung cấp chất lượng tốt.

Mô hình MVC tách biệt các thành phần trong ứng dụng, bao gồm Model (mô hình dữ liệu), Controller (bộ điều khiển), và View (giao diện) Sự tách biệt này giúp quản lý mã nguồn dễ dàng hơn, làm cho mã trở nên sạch sẽ và dễ đọc Điềunày giúp nhóm phát triển làm việc hiệu quả hơn và dễ dàng theo dõi và duy trì mã nguồn.

Controller, một phần quan trọng của mô hình MVC, được tối ưu hóa cho nhiều nền tảng ngôn ngữ khác nhau, từ đó tạo ra tính linh hoạt cho ứng dụng Nógiúp ứng dụng hoạt động tốt trên nhiều môi trường và thiết bị khác nhau.

Trang 18

Duy trì ứng dụng trong mô hình MVC trở nên dễ dàng hơn do sự tách biệt giữa các thành phần Bạn có thể chỉnh sửa hoặc nâng cấp một phần mà không ảnh hưởng đến các phần khác.

2.3.3 Nhược điểm của mô hình MVC

Mô hình MVC (Model-View-Controller) là một kiến trúc phát triển phần mềmmạnh mẽ, nhưng cũng đi kèm với một số nhược điểm cần được xem xét Ban đầu, việc hiểu và triển khai mô hình này có thể phức tạp, đặc biệt đối với người mới bắt đầu Sự tách biệt chặt chẽ giữa Model (mô hình), View (giao diện) và Controller (điều khiển) có thể dẫn đến hiệu suất kém trong trường hợp các ứng dụng yêu cầu nhiều tương tác giữa các thành phần này.

Một trong những thách thức khác là việc quản lý mã trở nên phức tạp, đặc biệtlà trong các dự án lớn Cấu trúc MVC có thể tạo ra nhiều lớp và tầng lớp mã, làm cho mã trở nên khó quản lý và khó hiểu Thời gian phát triển dự án cũng có thể kéo dài hơn so với các mô hình khác, đặc biệt khi yêu cầu của dự án thay đổithường xuyên.

Đối với các dự án nhỏ và đơn giản, triển khai mô hình MVC có thể cảm thấy quá phức tạp và không cần thiết, làm cho mã trở nên quá nặng nề và khó quản lý Cuối cùng, việc sử dụng mô hình MVC đòi hỏi kiến thức và kỹ năng cao cho phát triển và bảo trì hiệu quả, và có thể không phù hợp cho những dự án với đội ngũ phát triển không có kinh nghiệm trong việc làm việc với kiến trúc này.

2.4 Cơ sở dữ liệu SQLite2.4.1 Giới thiệu SQLite

SQLite là một hệ quản trị cơ sở dữ liệu quan hệ nhỏ gọn và nhút nhát, được tích hợp trực tiếp vào ứng dụng mà không đòi hỏi quá trình cài đặt và quảnlý riêng biệt Được phát triển bởi Dwayne Richard Hipp, SQLite là một công cụ

Ngày đăng: 18/07/2024, 16:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w