LOI MO DAU Công nghệ thông tin là một ngành học được đào tạo để sử dụng máy tính và các phần mềm máy tính để phân phối và xử lý các dữ liệu thông tin, đồng thời dùng để trao đổi, lưu trữ
Trang 1
BO GIAO DUC VA DAO TAO TRƯỜNG ĐẠI HỌC NGUYÊN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN
NGUYEN TAT THANH
TIEU LUAN MON HOC
XAY DUNG UNG DUNG QUAN LY QUAN CAFE
Giang vién giang day : ThS Đặng Như Phú
MSSV : 2000006365
MSSV : 2000005949
Chuyên ngành : Khoa học dữ liệu
Mén hoc : Chuyên đề chuyên sâu KHDL 1
Khoa : 2020
Tp.HCM, thang Nam 2022
Trang 2
TRUONG DAI HOC NGUYEN TAT THANH CONG HOA XA HOI CHU NGHIA VIET NAM
NHIEM VU DO AN MON HOC
(Sinh viên phải đóng tờ này vào cuốn báo cáo)
Họ và tên: Phan Lâm Vĩnh Hưng MSSV: 200006365
Chuyên ngành: Khoa học dử liệu Lớp: 20DTH2A
Email: PHANLAMVINHUNG@GMAIL.COM
SDT: 0332941310
Tén dé tai:
Giảng viên giảng dạy: ThS Đặng NhưPhú
Thời gian thực hiện: /9/2022 đến 26/12/2022
Nhiệm vụ/nội dung (mô tả chỉ tiết nội dung, yêu cầu, phương pháp ):
- Phân tích thiết kế cơ sở dữ liệu và các mô hình thực thể và lược
đồ quan hệ
- Áp dụng Ative và Intent
- Hiển thị giao diện chương trình bằng các Layout, View và View
Group tương ứng
Trang 3- Hiển thị các diéu khién trén Layout: TextView, Edit Text,
Drawable Resource, Menu va ToolBar
- Ứng dụng bộ nhớ trong và SQLite để lưu trữ dữ liệu của chương
trình
- Úng dụng đa tiến trình để xây dựng chương trình
Nội dung và yêu cầu đã được thông qua Bộ môn
Tp.HCM, ngày tháng năm 2022
Trang 4LOI CAM ON
Lời nói đầu tiên em xin gửi lời cám ơn đến thầy Dang Như Phú đã hướng dẫn và giúp đỡ em trong suốt học kỳ này với bộ môn Chuyên đề chuyên sâu khoa học dữ liệu 1, thây đã truyền đạt cho em nhiều kiến thức về những ứng dụng trên android Song với đó thầy đã tạo cho em nguồn cảm hứng, sự tìm tòi và học hỏi về môn Chuyên đề chuyên sâu khoa học dữ liệu 1 này Đặc biệt trong lúc giảng bài, thầy luôn tích cực giảng rõ từng chỉ tiết, luôn vui tươi, thoải mái để tạo cho chúng em một bầu không khí dễ chịu dễ tiếp thu được bài học Vì thế cho đến ngày hôm nay em đã thực sự hiểu được những thuật toán hay và phức tạp
Cám ơn thây đã tận tình hướng dẫn và giải đáp tất cả khúc mắc mỗi
khi em gặp khó khăn trong quá trình học và làm bài, rất may em được học và làm việc cùng thầy nên kiến thức của em đã được bồi bổ một cách đầy đủ Cảm ơn thầy !
Em cũng xin cám ơn các giảng viên khoa Công Nghệ Thông Tin Trường Đại Học Nguyễn Tất Thành đã tạo điều kiện và giúp đỡ em trong quá trình học tập
Và em cũng gửi lời cảm ơn đến tập thể lớp 20DTH1D đã cùng đồng hành với em trong học kỳ này nói chung và bộ môn này nói riêng
Sinh viên thực hiện
Phan Lâm Vĩnh Hưng
Trang 5LOI MO DAU
Công nghệ thông tin là một ngành học được đào tạo để sử dụng máy tính và các phần mềm máy tính để phân phối và xử lý các dữ liệu
thông tin, đồng thời dùng để trao đổi, lưu trữ và chuyển đổi các dữ liệu
thông tin dưới nhiều hình thức khác nhau
Sau khi được đào tạo, sinh viên học ngành này sẽ được trang bị kiến thức nền tảng và chuyên sâu về lĩnh vực công nghệ thông tin để nâng cao tay nghề nhằm phát triển khả năng sửa chữa, xây dựng, cài đặt, bảo trì các phân cứng của máy tính cũng như nghiên cứu và phát triển các ứng dụng phần mềm Ngoài ra cũng được trang bị kiến thức về an toàn và bảo mật thông tin mạng, một những lĩnh vực quan trọng được quan tâm hàng đầu trên thế giới hiện nay
Hiện nay, Công nghệ thông tin (CNTT) đang trong giai đoạn phát triển như vũ báo ở mọi lĩnh vực hoạt động khắp nơi trên thế giới.Điều này đã làm cho nghành công nghệ thông tin ngày càng được nhiều người quan tâm đặc biệt là giới trẻ hiện nay, tư tưởng thích cái mới, thích sự tìm tòi sáng tạo là yếu tố quan trọng hấp dẫn các bạn trẻ đến nghành nghề này
Toàn cầu hóa những năm 1990 đã làm xuất hiện khuynh hướng xã hội quan trọng, đó là sự chuyển trạng thái từ xã hội công nghiệp sang xã hội kiến thức và trong đó thông tin giữ vai trò trọng yếu Sự phát triển
và ứng dụng CNTT ngày nay báo trước một thời kỳ mới với những thay đổi xã hội lớn lao CNTT như một công nghệ chung xâm nhập vào mọi lĩnh vực kinh tế xã hội Là một ngành tổng thể bao gồm nhiều nhánh nhỏ như mạng lưới bưu chính viễn thông, truyền thông đa phương tiện, internet , chúng ta có thể khẳng định rằng ở Việt Nam đã xây dựng được một cơ cấu hạ tầng có đồng bộ, đầy đủ trong hệ thống ngành công nghệ thông tin Ở đây chúng ta có thể kể tới một dấu mốc đáng nhớ trong sự phát triển ngành CNTT đó là vào năm 1997, nước ta đã
5
Trang 6biến “giấc mơ Internet” thành hiện thực bằng việc tham gia kết nối vào mạng toàn cầu và tính cho tới thời điểm này, Việt nam đã trở thành quốc gia có tỷ lệ tăng trưởng Internet nhanh nhất trong khu vực và nằm trong số những quốc gia có tỷ lệ tăng trưởng cao nhất thế giới.
Trang 7MUC LUC
CHUONG |: GIOI THIEU ¬ H.H d 9 L.LY DO CHON ĐỀ TÀI QC TS TS 5111911151111 1 1111111511 k tk kg kk kg ky 9 2.MỤC TIÊU ĐÈ TÀI Q1 1121195011115 11 115 11111 1115111 11kg k kg TK TK K11 kg 9 3.CÔNG NGHỆ ÁP DỤNG Q TH HT ng ng ng KH kg kg kg KĐT 11 511k et 9
3.1 Phin mém Andvoid Studi0 ccccccccccccccccscscscsscssscscscsssscscscssvesscacscsevesscacsssssevavavstsaevasseses 10
3.2.Các thành phần trong Android SIudli0 à ch nh He HH ru Il
CHUONG II: CO SO LÝ THUYẾT - ca 21 L.ACTIVITY ccccccccccccsscessccesccsssesseccscccsscessscnscecsscessecnsscesecenssuseseesceessvensecttecensvensesntseeeseaters 21 QLINTENT cceccccccecsceccccecccssecesscsscecssecssecessevssecsasvsaeevseesaessasevseecsasesscuasecesesesvssevsuersseeentes 21
3 TOAST NOTIFICATION .cccccccccesccesscccsecesscessecesecenseesecsscceseveseussessascevssecessuseenensasessasess 22
A DIALOG cccccceccccsccesecenscessccesecenseesecssecensvensecsecsaecenseuatevssesesvsasevssesensvsasevssevsasesasensaars 22 5.ĐA NGÔN NGU TRONG ANDROID 0 ccccccccecsccssecesecesscescecesevessesasecssecesssssecesccesssenseeseesaes 23 CHUONG III:XÂY DỰNG GIAO DIỆN "— 23 KẾT LUẠN TÔ 28
Trang 8DANH MỤC CÁC HÌNH ẢNH
Hình 1 Biểu tượng Android Studio 2c c c2 nhe, 10 Hình 2 File ManifesSfS cọc nnnnnnnn Hà TH Tnhh TT hư 11 HINA 3 FIC JAVA ằằ 12 Hinh 4 View & Vi€WGIOUD cc cccceccsessceeeceeeeeeeeeeeeeseseeeeeeeeeaaeeeeenaneneeesnaees 14 Hinh 5 Ham TextView trong xml Lay TextView trong Java: 14 Hình 6 Hàm TextView trong jaVa nh nh Tnhh HH he 14 Hinh 7 Ham Button trong xml Lay button và bắt sự kiện java 14 Hình 8 Hàm Button trong jaVa nh Tnhh khe 15 Hình 9 Hàm ImageButton trong xm\I cà cv xskrre 15 Hình 10 Hàm ImageView trong Xmi c che 15
Hình 11 EdifText c0 1n HS S2 SH HH nh SH nn HH HH TK gi ke ke kh yên 16
Hình 12 Hình minh họa LiSfVi©W TH n.nn HH Hs nhe Hà, 17 Hình 13 Listview trong XImI cc cnn vn nh vn kn nh sen vớt 17 Hình 14 Gán LÏSfVÏ©W cuc nn TH HH Tnhh kh ky 17 Hình 15 Gridview trong XmII tt vn vn nh nh vn ghe 18 Hình 16 LinearlayOU -cn vn cv nnnnn Hà TH HT kh re 19 Hình 17 RelativelayOU cct nh cv TT ng HH HT hà 19 Hình 18 Inten cà cn nnn Hs Hà Tnhh TT TT HH TK Hy 20 Hình 19 Các thuộc tính của một đối tượng Intent Các Action được định
Hình 20 Các Action được định nghĩa sẵn -.cccccccc cà cà cà: 21 Hình 21 Giao diện chính -‹‹ c2 2n 111v 1n k1 nh nn HH nhu 24 Hình 22 Giao diện đăng nhập tầng 1 neo 26 Hình 23 giao diện đăng nhập tầng 2 cc co nhào 27 Hình 24 Giao diện gọi món và đặt bàn c cành sằ 27
Trang 9CHUONG I: GIỚI THIỆU
1 Ly do chon dé tai
Ngày nay với sự cùng với sự phát triển như vũ bão của công nghệ thông tin, các hệ điều hành trên thiết bị di động đang trở nên rất được quan tâm Các hệ điều hành tiêu biểu như: windowns phone của Microsoft, IOS của Apple Và hệ điều hành Android Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm hiện tại Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ
Số liệu ấy đã chỉ ra cho chúng ta thấy sự phát triển mạnh mẽ của ngôn ngữ lẫn thiết bị như thế nào Nếu như chỉ vài năm trước, các ứng dụng như: Internet, Email, game online, ứng dụng văn phòng thường chỉ xuất hiện trên máy tính bàn hoặc máy tính xách tay thì giờ đây, những ứng dụng đó ngày càng phát triển rộng rãi trên các thiết bị như smartphone, máy tính bảng Các công ty phần mềm sản xuất ứng dụng
di động mới liên tục được mở ra, nhiều công ty phân mềm chuyển hướng hoặc mở rộng sang mảng sản xuất ứng dụng trên thiết bị động cùng với đó là một hướng đi mới trong việc lựa chọn nghề nghiệp, tương lai cho bản thân
Và hiện nay có nhiều quán cà phê được mở ra nhưng do số lượng quá động và thiếu nhân viên nên đôi khi việc quản lý gặp nhiều khó khăn,
“a
cho nên chúng em chọn đề tài “ xây dựng ứng dụng quản lý quán cà phê “ nhằm khắc phục được phần nào khó khăn trong việc quản lý quán cà phê cùng với đó cho thấy được sự tiện ích của các phần mềm công nghệ 4.0 đặc biệt là “ Android Studio”
2 Mục tiêu đề tài
Sử dụng các kiến thức đã học, cùng với các kỹ năng khác xây dựng được ứng dụng giúp quản lý được tiệm cà phê, nâng cao chất lượng
9
Trang 10phục vụ của tiệm, đồng thời giúp nhân viên, chủ tiệm giảm bớt được khó khăn trong việc vận hành cửa tiệm sao cho khách hang hài lòng
3 Công nghệ áp dụng
Với mục tiêu đồ án là xây dựng ứng dụng nên chúng em sẽ sử dụng phân mềm công cụ hỗ trợ xây dựng ứng dụng “ Android Stuido “ để thực hiện đồ án lần này
3.1Phần mềm Android Studio
Có nhiều công cụ để phát triển Android nhưng đến nay công cụ chính thức và mạnh mẽ nhất là Android Studio Đây là IDE (Môi trường phát triển tích hợp) chính thức cho nền tảng Android, được phát triển bởi Google và được sử dụng để tạo phần lớn các ứng dụng mà chúng ta có
thể sử dụng hàng ngày
Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vào năm 2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta khác nhau Trước khi được phát hành, các nhà phát triển Android thường sử dụng các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngôn ngữ lập trình khác
10
Trang 11án đó Đồng thời, Android Studio sẽ cấp quyền truy cập vào Android
SDK
Hãy coi đây là đuôi cho code Java cho phép nó chạy trơn tru trên các thiết bị Android và tận dụng lợi thế của phần cứng gốc Chúng ta cần
sử dụng ngôn ngữ lập trình Java để viết các chương trình, Android SDK
có nhiệm vụ kết nối các phần này lại với nhau Cùng lúc đó Android Studio kích hoạt để chạy code, thông qua trình giả lập hoặc qua một phần cứng kết nối với thiết bị Sau đó, chúng ta cũng có thể “gỡ rối” chương trình khi nó chạy và nhận phản hồi giải thích sự cố, v.v để chúng ta có thể nhanh chóng giải quyết vấn đề
Google da né lực rất nhiều để làm cho Android Studio trở nên mạnh mẽ
và hữu ích nhất có thể Nó cung cấp những gợi ý trực tiếp trong khi viết code và thường đề xuất những thay đổi cần thiết để sửa lỗi hoặc làm code hiệu quả hơn Ví dụ, nếu không sử dụng biến, biến đó sẽ được tô đậm bằng màu xám Và khi bắt đầu gõ một dòng code, Android Studio
sẽ cung cấp danh sách gợi ý tự hoàn thành để giúp bạn hoàn thiện dòng code đó Chức năng này rất hữu ích khi chúng ta không nhớ được chính xác cú pháp hoặc để tiết kiệm thời gian
3.2 Các thành phần trong Android Studio
e File manifests
Trong bất kì một dự án Android nào khi tạo ra đều có một file manifest, file này được dùng để đăng ký các màn hình sử dụng trong ứng dụng Android, các permission cũng như các theme cho ứng dụng Đồng thời
nó cũng chứa thông tin về phiên bản SDKcũng như main activity sẽ chạy đầu tiên
File này được tự động sinh ra khi tạo một Android project Dưới đây là nội dung của một file AndroidManifest.xml
Trang 12android:theme = "drawable theme" Thuộc tính này để đặt theme cho ứng dụng Các theme là các cách để hiển thị giao diện ứng dung
Ngoài ra còn nhiều thuộc tính khác
File Java
File java là một file tự động sinh ra ngay khi tạo ứng dụng, file này đực
sử dụng để quản lý thuộc tính được khai báo trong file XML của ứng
12
Trang 13dụng và các tài nguyên hình ảnh Mã nguồn của file java được tự đọng sinh ra khi có bất kì một sự kiện này xảy ra làm thay đổi các thuộc tính trong ứng dụng
Chẳng hạn như, kéo và thả một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đường dẫn đến file đó cũng sẽ được hình thành trong file java hoặc xóa một file hình ảnh thì đường dẫn tương ứng đến hình ảnh đó cũng tự động bị xóa
Dưới đây là ví dụ về nội dung của một file java:
public class MainActivity extends AppCompatActivity {
EditText edt_s01, edt_*e2,edt_ketqua;
Button btn_tinh, btn_xoa,btn_thoat;
e File tai nguyén
Chứa các tài nguyên ma ứng dụng sẽ sử dụng đến, nó tổ chức thành các thư mục con như:
o_drawable/ : ở đây cơ bản lưu các đối tượng đồ họa như các ảnh dạng png, các ảnh dạng xmI
o layout/: luu tri các file xmIl biểu diễn về thành phần, bố cục của các thành phần hiển thị được trên màn hình
o_mipmap/: cũng để lưu các đối tượng hình ảnh, ví dụ icon ứng dụng ic_launcher đặt ở đây
Trang 14o values/: chua cac file nhu color.xml, dimens.xml, string.xml, style.xml, day la cac file xml dinh nghia cac giá trị có thể sử dụng trong ứng dụng như màu sắc, kích thước,các chuỗi, các theme
e File Grandle
Gradle Scrips: Chứa nhiều nhánh con như build.gradle, local.properties, là nơi bạn thiết lập các thông số để Gradle build ứng dụng Lưu ý Gradle là một công cụ tích hợp vào Android Studio, chức năng của nó build mã nguồn, kết hợp tài nguyên, phân tích xml rồi kết hợp chúng lại với nhau tạo ra ứng dụng chạy trên JVM
e View
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 kiểu lại được kế thừa từ lớp View và tất cả các kiểu đó được gọi là các Widget
Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị trí, nền, kích thước, lề, Tất cả những thuộc tính chung này được thể hiện hết ở trong đối tượng View Trong Android Platform, các màn hình (screen) luôn được bố trí theo một kiểu cấu trúc phân cấp như hình duới
Một màn hình là một tập hợp các Layout và các widget được bố trí có thứ tự Để thể hiện một màn hình thì trong hàm onCreate của mỗi Ac- tivity cần phải được gọi một hàm là setContentView(R.layout.main); hàm này sẽ load giao diện từ file XML lên để phân tích thành mã byte- code
Trang 15
Hinh 4 View & ViewGroup
e TextView
TextView là một View cho phép hiển thị các dòng chữ (text) trên màn hình, nó có nhiều thuộc tính tùy mục đích sử dụng mà áp dụng, như thiết lập cỡ chữ, font chữ, màu chữ
Khai báo TextView trong XML:
Khai báo Button trong XML:
Trang 16Hinh 7 Ham Button trong xml Lay button va bắt sự kiện java
Khai báo ImageButton trong XML
Khai báo trong ImageView trong XML
Trang 17e EditText
EditText là loại View hiển thị một hộp (chữ nhật) cho phép người dùng nhập dữ liệu (chữ, số cĩ thể khống chế nhập dữ liệu là text, số, phone, ngày tháng .)
Do EditText mở rộng chức năng từ TextView, nên các tùy chọn thiết lập trình bày ở TextView vẫn đúng cho EditText
<EditText android: id="@+id/edt_ s91"
Để thể hiện được một list thơng tin trên một screen thì cần phải cĩ 3 yếu tố chính:
o_Data Source: Data Source cĩ thể là một ArrayList hoặc bất kỳ một cấu trúc dữ liệu kiểu danh sách nào
ò Adapter: Adapter là một class trung gian giúp ánh xạ dữ liệu trong Data Source vào đúng vị trí hiển thị trong ListView Chẳng hạn, trong Data Source cĩ một trường name và trong ListView cũng cĩ một TextView để thể hiện trường name này Tuy nhiên ListView sẽ khơng thể hiển thị dữ liệu trong Data Source lên được nếu như Adapter khơng gán dữ liệu vào cho đối tượng hiển thị
o ListView: ListView là đối tượng để hiển thị các thơng tin trong Data Source ra một cách trực quan và người dùng cĩ thể thao tác trực tiếp trên đĩ