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

(Luận văn thạc sĩ) xây dựng ứng dụng di động android quản lý khách hàng cắt tóc

81 11 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 4,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID (12)
    • 1.1. Giới thiệu hệ điều hành Android (12)
    • 1.2. Lịch sử phát triển (13)
    • 1.3. Ứng dụng Android (14)
    • 1.4. Quản lý bộ nhớ Android (15)
    • 1.5. Lịch nâng cấp (16)
    • 1.6. Những đặc trưng của hệ điều hành Android (16)
    • 1.7. Kiến trúc trong hệ điều hành Android (17)
      • 1.7.1. Nhân Linux Kernel (18)
      • 1.7.2. Thư viện (18)
      • 1.7.3. Thực thi ứng dụng Android (18)
      • 1.7.4. Khung ứng dụng (19)
      • 1.7.5. Tầng Ứng dụng (19)
  • CHƯƠNG 2: MÔI TRƯỜNG LẬP TRÌNH ANDROID STUDIO (20)
    • 2.1. Sơ lược về Android Studio (20)
    • 2.2. Thiết lập môi trường (20)
      • 2.2.1. Cài đặt Java (20)
      • 2.2.2. Cài đặt Andoid Studio (21)
    • 2.3. Các thành phần trong một ứng dụng Android (29)
      • 2.3.1. File manifests (29)
      • 2.4.2. File Java (30)
      • 2.4.3. Thư mục tài nguyên (31)
      • 2.4.4. File Grandle (31)
    • 2.5. View (31)
      • 2.5.1. TextView (32)
      • 2.5.2. Button (33)
      • 2.5.3. ImageButton (33)
      • 2.5.4. ImageView (34)
      • 2.5.5. EditText (34)
      • 2.5.6. ListView (35)
      • 2.5.7. GridView (36)
    • 2.6. ViewGroup (37)
      • 2.6.1. Linearlayout (37)
      • 2.6.2. Relativelayout (37)
      • 2.6.3. Framelayout (38)
      • 2.6.4. Tablelayout (38)
    • 2.7. Activity&Intent (38)
      • 2.7.1. Activity (38)
      • 2.7.2. Intent (38)
  • CHƯƠNG 3: CÁC KỸ THUẬT NỀN TẢNG (40)
    • 3.1. Webservice (40)
      • 3.1.1 Giới thiệu về Webservice (40)
      • 3.1.2. Đặc điểm của Webservice (40)
      • 3.1.3. Kiến trúc của Webservice (41)
      • 3.1.4. Định dạng dữ liệu JSON (42)
    • 3.2. Dịch vụ web và kỹ thuật cơ sở dữ liệu trên internet (44)
      • 3.2.1. Hosting (44)
      • 3.2.2. Xây dựng webservice (53)
  • CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (56)
    • 4.1. Phát biểu bài toán (56)
    • 4.2. Sơ đồ tiến trình nghiệp vụ (56)
    • 4.3. Biểu đồ ngữ cảnh (58)
    • 4.4. Sơ đồ phân ra chức năng (59)
    • 4.5. Ma trận thực thể chức năng (60)
    • 4.6. Phân tích dữ liệu (60)
      • 4.6.1. Thiết kế các bảng dữ liệu (62)
      • 4.6.2. Các bảng dữ liệu vật lý (63)
    • 4.7. Chức năng quản lý khách hàng (63)
      • 4.7.1. Chức năng quản lý khách hàng (63)
      • 4.7.2. Chức năng thêm thợ (67)
      • 4.7.3. Chức năng giới thiệu (67)
      • 4.7.4. Chức năng thoát (68)
  • CHƯƠNG 5 CHƯƠNG TRÌNH ỨNG DỤNG (69)
    • 5.1. Kết quả đạt được (69)
    • 5.2. Một số giao diện chính (69)
      • 5.2.1. Giao diện màn hình quản lý danh sách khách hàng (69)
      • 5.2.2. Giao diện chức năng thêm thợ (76)
      • 5.2.3. Giao diện chức năng giới thiệu (77)
      • 5.2.4. Giao diện chức năng thoát (78)
  • KẾT LUẬN (79)
  • TÀI LIỆU THAM KHẢO (81)

Nội dung

GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID

Giới thiệu hệ điều hành Android

Android là hệ điều hành dựa trên Linux, được thiết kế cho thiết bị di động có màn hình cảm ứng như smartphone và tablet Phát triển bởi Tổng công ty Android với sự hỗ trợ tài chính từ Google, Android đã được Google mua lại vào năm 2005 Ra mắt vào năm 2007, Android đánh dấu sự thành lập của Liên minh thiết bị cầm tay mở, nhằm thúc đẩy tiêu chuẩn mở cho thiết bị di động Chiếc điện thoại đầu tiên chạy Android đã được bán vào tháng 10 năm 2008.

Android là hệ điều hành mã nguồn mở được phát hành bởi Google theo Giấy phép Apache, cho phép các nhà phát triển tự do điều chỉnh và phân phối Cộng đồng lập trình viên đông đảo đã tạo ra nhiều ứng dụng mở rộng chức năng cho thiết bị, sử dụng ngôn ngữ lập trình Java sửa đổi Đến tháng 10 năm 2012, Android có khoảng 700.000 ứng dụng và ước tính có khoảng 25 tỷ lượt tải từ Google Play, cửa hàng ứng dụng chính của hệ điều hành này.

Android đã trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới từ quý 4 năm 2010, nhờ vào tính năng nhẹ, khả năng tùy chỉnh và chi phí thấp, khiến các công ty công nghệ ưa chuộng Mặc dù được thiết kế cho điện thoại và máy tính bảng, Android đã mở rộng ra TV, máy chơi game và các thiết bị điện tử khác Sự mở của Android khuyến khích một cộng đồng lập trình viên và người đam mê phát triển các dự án mã nguồn mở, bổ sung tính năng cao cấp cho người dùng và đưa Android lên các thiết bị ban đầu chạy hệ điều hành khác.

Vào quý 3 năm 2012, Android chiếm 75% thị phần điện thoại thông minh toàn cầu, với 500 triệu thiết bị được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công này đã biến hệ điều hành thành mục tiêu trong các vụ kiện liên quan đến bằng sáng chế, dẫn đến "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ.

Lịch sử phát triển

Tổng công ty Android (Android, Inc.) được thành lập vào tháng 10 năm 2003 tại Palo Alto, California bởi Andy Rubin, Rich Miner, Nick Sears và Chris White với mục tiêu phát triển "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thích của người dùng" Mặc dù đội ngũ sáng lập đều là những nhân vật nổi bật trong ngành công nghệ, công ty hoạt động khá âm thầm, chỉ công bố rằng họ đang phát triển phần mềm cho điện thoại di động Trong năm đầu tiên, Rubin gặp khó khăn về tài chính và đã nhận được 10.000 USD tiền mặt từ Steve Perlman, một người bạn, mặc dù Perlman từ chối tham gia vào công ty.

Vào ngày 17 tháng 8 năm 2005, Google đã mua lại Tổng công ty Android và biến nó thành một bộ phận trực thuộc của mình Các nhân viên chủ chốt như Rubin, Miner và White vẫn tiếp tục làm việc tại công ty sau thương vụ này Mặc dù thông tin về Tổng công ty Android lúc đó còn hạn chế, nhiều người tin rằng Google có kế hoạch tham gia vào thị trường điện thoại di động Dưới sự dẫn dắt của Rubin, nhóm tại Google đã phát triển một nền tảng di động dựa trên nhân Linux, quảng bá cho các nhà sản xuất điện thoại và nhà mạng với cam kết cung cấp một hệ thống linh hoạt và dễ nâng cấp Google cũng đã liên hệ với nhiều hãng phần cứng và đối tác phần mềm, thông báo cho các nhà mạng về sự sẵn sàng hợp tác ở nhiều cấp độ khác nhau.

Vào tháng 12 năm 2006, ngày càng nhiều suy đoán cho rằng Google sẽ tham gia vào thị trường điện thoại di động Các nguồn tin từ BBC và Nhật báo Phố Wall cho biết Google đang nỗ lực tích hợp công nghệ tìm kiếm và ứng dụng của họ vào điện thoại di động Các phương tiện truyền thông, cả truyền thống lẫn trực tuyến, đã đưa tin về việc Google phát triển một thiết bị cầm tay mang thương hiệu của mình Một số báo cáo cho biết Google đã trình diễn sản phẩm mẫu cho các nhà sản xuất điện thoại và nhà mạng, mặc dù họ vẫn đang hoàn thiện các bản mô tả kỹ thuật chi tiết Vào tháng 9 năm 2007, InformationWeek đã công bố một nghiên cứu từ Evalueserve cho thấy Google đã nộp một.

Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động Cùng ngày, Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008 Biểu trưng của hệ điều hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế Irina Blok tại California vẽ

Kể từ năm 2008, hệ điều hành Android đã trải qua nhiều bản cập nhật nhằm cải tiến và bổ sung tính năng mới, đồng thời khắc phục các lỗi từ các phiên bản trước Mỗi phiên bản được đặt tên theo thứ tự bảng chữ cái và dựa trên tên các món tráng miệng, như phiên bản 1.5 Cupcake và 1.6 Donut Phiên bản mới nhất hiện nay là Android 9.0, mang tên Android Pie.

Vào năm 2010, Google đã giới thiệu dòng sản phẩm Nexus, bao gồm điện thoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối tác phần cứng sản xuất HTC là đối tác đầu tiên hợp tác với Google để phát triển chiếc điện thoại Nexus One Kể từ đó, nhiều thiết bị mới như Nexus 4 và Nexus 10 đã được ra mắt, do LG và Samsung sản xuất Google coi điện thoại và máy tính bảng Nexus là những thiết bị chủ lực của mình, tích hợp các tính năng phần cứng và phần mềm mới nhất của Android.

Ứng dụng Android

Android ngày càng có nhiều ứng dụng bên thứ ba, được phân phối qua các cửa hàng ứng dụng như Google Play và Amazon Appstore, hoặc thông qua việc tải xuống file APK từ các trang web khác Cửa hàng Play cho phép người dùng duyệt, tải về và cập nhật ứng dụng từ Google và các nhà phát triển khác, với danh sách ứng dụng tương thích tự động được lọc cho từng thiết bị Các nhà phát triển có thể giới hạn ứng dụng theo nhà mạng hoặc quốc gia vì lý do kinh doanh Người dùng có thể yêu cầu hoàn tiền trong vòng 15 phút nếu không hài lòng với ứng dụng đã mua, và một số nhà mạng cho phép thanh toán ứng dụng qua hóa đơn hàng tháng Đến tháng 9 năm 2012, đã có hơn 675.000 ứng dụng cho Android và ước tính 25 tỷ lượt tải về từ Cửa hàng Play.

Các ứng dụng Android được phát triển bằng ngôn ngữ Java thông qua Bộ phát triển phần mềm Android (SDK), bao gồm các công cụ như gỡ lỗi, thư viện phần mềm, và bộ giả lập điện thoại dựa trên QEMU Môi trường phát triển tích hợp chính thức là Eclipse với phần bổ sung Android Development Tools (ADT) Ngoài ra, còn có các công cụ khác như Bộ phát triển gốc cho ứng dụng viết bằng C/C++, Google App Inventor cho lập trình viên mới, và nhiều nền tảng ứng dụng web di động đa nền tảng khác.

Quản lý bộ nhớ Android

Hệ điều hành Android được tối ưu hóa để quản lý bộ nhớ RAM nhằm tiết kiệm điện năng, khác với hệ điều hành máy tính để bàn thường giả định rằng nguồn điện là không giới hạn Khi một ứng dụng Android không còn sử dụng, hệ thống sẽ tự động ngừng ứng dụng đó trong bộ nhớ, mặc dù ứng dụng vẫn tồn tại về mặt kỹ thuật.

Các ứng dụng "mở" không tiêu thụ tài nguyên như pin hay năng lượng xử lý, giữ nguyên trạng thái cho đến khi cần thiết Phương pháp này giúp tăng khả năng phản hồi của thiết bị Android, vì ứng dụng không cần phải khởi động lại từ đầu, đồng thời giảm thiểu việc tiêu hao năng lượng không cần thiết từ các ứng dụng nền.

Hệ điều hành Android tự động quản lý ứng dụng trong bộ nhớ, tự động tắt các ứng dụng và tiến trình không hoạt động khi bộ nhớ thấp, ưu tiên tắt những ứng dụng cũ nhất Quá trình này được thiết kế để người dùng không cần phải can thiệp vào việc quản lý bộ nhớ Tuy nhiên, sự ẩn giấu này có thể dẫn đến những ứng dụng bên thứ ba trên Google Play, mà nhiều ứng dụng như vậy được cho là có hại hơn lợi.

Lịch nâng cấp

Google phát hành các bản nâng cấp lớn cho Android mỗi 6 đến 9 tháng, với bản mới nhất là Android 6.0 Marshmallow Tuy nhiên, các bản nâng cấp này thường mất thời gian lâu hơn để đến tay người dùng so với iOS, đặc biệt là với các thiết bị không thuộc dòng Nexus Nguyên nhân chủ yếu là do sự đa dạng phần cứng của các thiết bị Android, khiến các nhà sản xuất phải điều chỉnh bản nâng cấp cho phù hợp Nhiều thiết bị cũ không được nâng cấp vì nhà sản xuất không thấy đáng để đầu tư thời gian, bất kể khả năng của thiết bị Thêm vào đó, các nhà mạng cũng góp phần làm chậm trễ khi họ điều chỉnh và thử nghiệm bản nâng cấp trước khi phát hành Việc thiếu hỗ trợ từ nhà sản xuất và nhà mạng đã bị chỉ trích, với nhiều ý kiến cho rằng ngành công nghiệp cố tình không nâng cấp để thúc đẩy doanh số bán hàng thiết bị mới The Guardian đã chỉ trích rằng quy trình phân phối bản nâng cấp trở nên phức tạp do sự can thiệp của các nhà sản xuất và nhà mạng.

Năm 2011, Google đã hợp tác với một số hãng công nghiệp để ra mắt "Liên minh nâng cấp Android", cam kết nâng cấp thường xuyên cho các thiết bị trong vòng 18 tháng sau khi ra mắt Tuy nhiên, đến năm 2012, liên minh này đã không còn được nhắc đến nữa.

Những đặc trưng của hệ điều hành Android

 Application framework: cho phép sử dụng lại và thay thế các thành phần trong lập trình ứng dụng

 Dalvik virtual machine: tối ưu hóa cho thiết bị di động

 Intergrated browser: trình duyệt tích hợp, dựa trên cơ chế WebKit mã nguồn mở

 SQLite: là một hệ quản trị cơ sở dữ liệu tương tự như MySQL,đặc biệt sqlite gọn,nhẹ,đơn giản

 Media support: hỗ trợ các định dạng audio, video và hình ảnh thông dụng

 GSM Telephony: mạng điện thoại di động (phụ thuộc vào phần cứng)

 Bluetooth, EDGE, 3G, 4G và WiFi : các chuẩn kết nối dữ liệu (phụ thuộc vào phần cứng)

 Camera, GPS, la bàn, và gia tốc kế: (phụ thuộc vào phần cứng)

Môi trường phát triển phong phú bao gồm các thiết bị mô phỏng, công cụ dò tìm lỗi, bộ nhớ và định hình hiệu năng, cùng với một plugin hỗ trợ cho Android Studio.

Kiến trúc trong hệ điều hành Android

Hệ điều hành Android có thể coi như một ngăn xếp chứa các thành phần của phần mềm, được chia làm các phần như sau:

Hình 1.7.1: Kiến trúc của Android

1.7.1 Nhân Linux Kernel Ở dưới cùng của các lớp là Linux-Linux 2.6 Nhân Linux cung cấp chức năng cơ bản như hệ thống quản lý tiến trình, quản lý bộ nhớ, quản lý thiết bị như máy ảnh, bàn phím, màn hình hiển thị, vv…

Nhân Linux bao gồm một loạt các thư viện quan trọng, trong đó có mã nguồn mở trình duyệt web WebKit, các thư viện phổ biến và cơ sở dữ liệu SQLite, được sử dụng như một kho lưu trữ hữu ích cho việc lưu trữ và chia sẻ dữ liệu ứng dụng Ngoài ra, nó còn có các thư viện hỗ trợ chạy ứng dụng ghi âm và video, cùng với thư viện SSL đảm bảo an ninh Internet.

1.7.3 Thực thi ứng dụng Android Đây là phần thứ ba của kiến trúc và có sẵn trên lớp thứ hai từ dưới lên Phần này cung cấp một thành phần quan trọng được gọi là Dalvik (có thể đã thay đổi theo phiên bản) còn được gọi là máy ảo Máy ảo là một loại máy Java được thiết kế đặc biệt và tối ưu hóa cho Android

Máy ảo Dalvik, sử dụng các tính năng cốt lõi của Linux như quản lý bộ nhớ và đa luồng, là một phần quan trọng trong ngôn ngữ Java Nó cho phép tất cả ứng dụng Android chạy trong tiến trình riêng biệt, đảm bảo hiệu suất và an toàn cho từng ứng dụng thông qua các trường hợp riêng của máy ảo Dalvik.

Thực thi Android cung cấp các thư viện lõi giúp các nhà phát triển ứng dụng Android sử dụng ngôn ngữ lập trình Java để xây dựng ứng dụng hiệu quả.

Khung ứng dụng cung cấp dịch vụ nâng cao cho các ứng dụng dưới dạng các lớp Java, cho phép các nhà phát triển tích hợp và sử dụng những dịch vụ này trong sản phẩm của họ.

Người dùng có thể tìm thấy tất cả các ứng dụng Android ở lớp trên cùng, nơi mà họ sẽ viết và cài đặt các ứng dụng này.

MÔI TRƯỜNG LẬP TRÌNH ANDROID STUDIO

Sơ lược về Android Studio

Google cung cấp Android Studio, một công cụ phát triển ứng dụng Android dựa trên nền tảng IntelliJ IDEA, nổi bật với khả năng hỗ trợ lập trình Java Nhờ vào nền tảng vững chắc này, Android Studio trở thành môi trường phát triển lý tưởng cho các ứng dụng Android.

Thiết lập môi trường

Để lập trình Android, hai thành phần cơ bản cần thiết là Bộ phát triển Java (Java Development Kit) và Bộ phát triển phần mềm (Software Development Kit) Bộ phát triển Java tạo ra môi trường thực thi máy ảo cho hệ điều hành, trong khi Bộ phát triển phần mềm cung cấp các phiên bản Android, hàm API cần thiết, mã nguồn minh họa và các công cụ lập trình hỗ trợ Mỗi khi Google phát hành phiên bản Android mới, Bộ phát triển phần mềm sẽ được cập nhật tương ứng.

2.2.1 Cài đặt Java Để cài đặt Bộ phát triển Java(JDK), ta cần truy cập vào trang Oracle JDK và tải phiên bản mới nhất để tang tính ổn định và tận dụng được nhiều tính năng hỗ trợ tốt nhất Để cài đặt, bạn click đúp chuột vào tệp exe bắt đầu cài JDK

Có thể thay đổi đường dẫn cài đặt jdk và nhẫn next để tiếp tục cài đặt mặc định

Hình 2.2.2 nhần next để tiếp tục cài đặt

Hình 2.2.3 Nhấn close để hoàn thành cài đặt

Android Studio là công cụ phát triển chính thức và mạnh mẽ nhất cho nền tảng Android, được phát triển bởi Google Đây là môi trường phát triển tích hợp (IDE) chủ yếu được sử dụng để tạo ra hầu hết các ứng dụng Android mà người dùng 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

Android được phát hành công khai vào năm 2014 sau nhiều phiên bản beta, với sự phát triển bắt đầu từ năm 2013 Trước khi ra mắt, các nhà phát triển Android chủ yếu sử dụng Eclipse IDE, một công cụ phát triển Java hỗ trợ nhiều ngôn ngữ lập trình khác.

Android Studio là công cụ hỗ trợ phát triển ứng dụng Android, cung cấp giao diện dễ sử dụng và quản lý các công cụ file phức tạp Ngôn ngữ lập trình chính là Java, yêu cầu cài đặt trên thiết bị Người dùng chỉ cần viết, chỉnh sửa và lưu các dự án cùng với các file liên quan, trong khi Android Studio cũng cấp quyền truy cập vào Android SDK.

Để đảm bảo mã Java chạy mượt mà trên thiết bị Android và tận dụng phần cứng gốc, chúng ta cần sử dụng ngôn ngữ lập trình Java kết hợp với Android SDK để kết nối các thành phần Android Studio sẽ được kích hoạt để thực thi mã thông qua trình giả lập hoặc thiết bị kết nối Ngoài ra, quá trình "gỡ rối" chương trình khi chạy sẽ giúp nhận phản hồi và giải thích sự cố, từ đó nhanh chóng khắc phục vấn đề.

Google đã đầu tư nhiều công sức để nâng cao Android Studio, biến nó thành một công cụ mạnh mẽ và hữu ích cho lập trình viên Phần mềm này cung cấp gợi ý trực tiếp trong quá trình viết code, thường xuyên đề xuất những thay đổi cần thiết để sửa lỗi hoặc tối ưu hóa mã Chẳng hạn, các biến không được sử dụng sẽ được tô đậm bằng màu xám, giúp lập trình viên dễ dàng nhận diện Hơn nữa, 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, hỗ trợ người dùng trong việc nhớ cú pháp và tiết kiệm thời gian.

2.1.2.2 Hướng dẫn cài đặt Android Studio

Hình 2.1.2.2.1: Trang download android studio

Tick vào ô “I have read and agree with the above terms and conditions” và nhấn nút Download Android Studio for Windows nếu có thông báo xuất hiện

Hình 2.1.2.2.2: Xác nhận điều khoản sử dụng để có thể tải về

Cài đặt Android Studio bằng bộ cài vừa tải về

Hình 2.1.2.2.3: Cài đặt Android Studio bằng bộ cài vừa tải về

Khi cài đặt chú ý chọn cả SDK và trình giả lập thiết bị android ảo ADV như hình:

Hình 2.1.2.2.4: Giao diện cài đặt SDK và AVD Ở màn hình trên lưu ý cài vào thư mục C:\Android\android-studio Sau đó nhấn Next để tiếp tục:

Nhấn “Install” để bắt đầu cài đặt

Khi việc cài đặt hoàn tất, chúng ta sẽ được như hình sau:

Hình 2.1.2.2.5 Cài đặt hoàn tất

2.1.2.3.Tạo mới một project trong Android Studio

Bước 1: Khởi động Android Studio  Chọn Start a new Android Studio project

Bước 2: Trong Phone and Tablet  chọn Empty Activity  chọn Next

Hình 2.1.2.3.2: màn hình lựa chọn kiểu ứng dụng

Bước 3 : Đăt tên cho Activity tại Name  chọn Finish

Hình 2.1.2.3.3: màn hình lựa chọn đặt tên cho Activity

Bước 4: Sau khi tạo thành công project, chúng ta sẽ nhìn thấy như hình bên dưới

Hình 2.1.2.3.4: màn hình môi trường android studio

2.1.2.4 Thiết bị ảo trong Android Studio

Máy ảo Android là công cụ quan trọng cho lập trình viên phát triển ứng dụng trên hệ điều hành Android, cho phép thử nghiệm ứng dụng trực tiếp trên máy tính Genymotion hiện là lựa chọn phổ biến cho máy ảo Android Để cài đặt Genymotion, hãy truy cập vào trang web chính thức: [Genymotion Download](https://www.genymotion.com/download/).

Sau khi tải và cài đặt thành công ta sẽ có giao diện máy ảo Gennymotion như hình bên dưới

Hình 2.1.2.4.1: Màn hình giao diện máy ảo Gennymotion

Các thành phần trong một ứng dụng Android

Trong mọi dự án Android, file manifest là thành phần quan trọng, được sử dụng để đăng ký các màn hình, quyền truy cập và chủ đề của ứng dụng File này cũng chứa thông tin về phiên bản SDK và xác định activity chính sẽ được khởi động đầ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

File Java được tự động tạo ra khi ứng dụng được phát triển, nhằm quản lý các thuộc tính được khai báo trong file XML và các tài nguyên hình ảnh Mã nguồn của file Java này sẽ tự động cập nhật khi có bất kỳ sự kiện nào làm thay đổi các thuộc tính trong ứng dụng.

Khi bạn kéo và thả một file hình ảnh từ bên ngoài vào dự án, thuộc tính đường dẫn đến file đó sẽ tự động được tạo ra trong file Java Ngược lại, nếu bạn xóa một file hình ảnh, đường dẫn tương ứng cũng sẽ được xóa một cách tự động.

Dưới đây là ví dụ về nội dung của một file java:

Chứa các tài nguyên mà ứng dụng sẽ sử dụng đến, nó tổ chức thành các thư mục con như:

- 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 xml

- layout/: lưu trữ các file xml 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

- mipmap/: cũng để lưu các đối tượng hình ảnh, ví dụ icon ứng dụng ic_launcher đặt ở đây

Trong thư mục values/, có chứa các tệp tin như color.xml, dimens.xml, string.xml và style.xml Những tệp XML này định nghĩa các giá trị có thể sử dụng trong ứng dụng, bao gồm màu sắc, kích thước, chuỗi văn bản và các chủ đề (theme).

Gradle Scripts là nơi bạn thiết lập các thông số cho Gradle để xây dựng ứng dụng, bao gồm nhiều nhánh con như build.gradle và local.properties Gradle, được tích hợp trong Android Studio, có chức năng xây dựng mã nguồn, kết hợp tài nguyên, phân tích XML và tổng hợp chúng để tạo ra ứng dụng chạy trên JVM.

View

Các thành phần giao diện trong Android được xây dựng từ lớp cơ sở View, bao gồm nhiều loại như Button, TextView, CheckBox, và tất cả chúng đều được gọi chung là View.

View biểu diễn một hình chữ nhật, trong đó nó hiện thị thông tin nào đó cho người dùng ,và người dùng có thể tương tác với View

Hình 2.5.1 : Sơ đồ View 2.5.1 TextView

TextView là một thành phần giao diện cho phép hiển thị văn bản trên màn hình, với nhiều thuộc tính tùy chỉnh như cỡ chữ, font chữ và màu chữ, phù hợp với các mục đích sử dụng khác nhau.

Cú pháp khai báo TextView trong tệp XML được viết như sau:

Hình 2.5.1.1 Khai báo TextView trong tệp xml Đoạn mã chương trình sử dụng TextView trong tệp Java:

Hình 2.5.1.2 Sử dụng TextView trong tệp java 2.5.2 Button

Button là một loại View hiển thị nút bấm, chờ người dùng tương tác Nó kế thừa các thuộc tính và thiết lập từ TextView, do đó các cài đặt dành cho TextView cũng áp dụng hiệu quả cho Button.

Khai báo Button trong XML:

Hình 2.5.2.1 Khai báo Button trong tệp xml

Lấy button và bắt sự kiện java

Hình 2.5.2.2 Sử dụng Button trong tệp java

Cũng tương tự như Button ,ImagButton chỉ có thể thêm thuộc tính android:src="@drawable/ic_launcher_background" để thêm hình ảnh vào và không có thẻ text

ImageView được sử dụng để hiển thị các tài nguyên hình ảnh như Bipmap và Drawable Nó cung cấp nhiều chức năng tùy biến, cho phép co kéo và cắt ảnh khi hiển thị trên View.

Khai báo trong ImageView trong XML

Hình 2.5.4.1 Khai báo ImageView trong tệp Xml

EditText là một loại View trong ứng dụng, cho phép người dùng nhập dữ liệu dưới dạng hộp chữ nhật Người dùng có thể nhập nhiều loại dữ liệu khác nhau như chữ, số, và có thể kiểm soát kiểu dữ liệu nhập vào, bao gồm text, số, số điện thoại, và 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

Hình 2.5.5.1 Khai báo EditText trong tệp XML

2.5.6 ListView Được sử dụng để thể hiện một danh sách các thông tin theo từng hàng Một hàng thông thường được load lên từ một file XML đã được cố định trên đó số lượng thông tin và loại thông tin cân được thể hiện Để 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:

 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 là một lớp trung gian giúp kết nối dữ liệu từ Data Source vào các vị trí hiển thị trong ListView Ví dụ, nếu Data Source chứa trường name và ListView có một TextView để hiển thị trường này, thì Adapter sẽ đảm nhận việc gán dữ liệu từ Data Source vào TextView Nếu không có Adapter, ListView sẽ không thể hiển thị dữ liệu từ Data Source.

ListView là một thành phần quan trọng dùng để hiển thị thông tin từ Data Source một cách trực quan, cho phép người dùng dễ dàng tương tác và thao tác trực tiếp với nội dung hiển thị.

Hình 2.5.6.1: Sử dụng Listview hiển thị danh sách dữ liệu lớn

Khai báo ListView trong XML:

Hình 2.5.6.2.Khai báo listview trong XML

GridView tương tự như ListView, đều dựa vào DataSource và Adapter Sự khác biệt chính là GridView cho phép thiết lập số cột, giúp hiển thị dữ liệu theo dạng lưới Dữ liệu được cung cấp dưới dạng mảng hoặc danh sách một chiều, và dựa vào số cột đã thiết lập, GridView sẽ tự động ngắt hàng để trình bày dữ liệu một cách hợp lý.

Khai báo GridView trong XML

Hình 2.5.7.1 Khai báo Gridview trong tệp xml

ViewGroup

ViewGroup là một đối tượng dùng để chứa và quản lý các đối tượng View và GroupView khác, giúp tổ chức và kiểm soát bố cục của màn hình Nó cho phép tạo ra một hệ thống phân cấp cho các đối tượng View, từ đó tạo ra các layout phức tạp hơn.

LinearLayout được dùng để bố trí các thành phần giao diện theo chiều ngang hoặc chiều dọc nhưng trên một line duy nhất mà không có xuống dòng

LinearLayout giúp các thành phần bên trong không bị ảnh hưởng bởi kích thước màn hình Các thành phần trong LinearLayout được sắp xếp theo tỷ lệ cân đối dựa trên các ràng buộc giữa chúng.

RelativeLayout là một loại layout cho phép bố trí các view con dựa trên mối quan hệ vị trí giữa chúng, chẳng hạn như một view nằm dưới hoặc bên trái view khác Nó cũng hỗ trợ việc xác định vị trí của các view con so với phần tử cha, như căn chỉnh theo cạnh đáy, nằm giữa hoặc bên trái phần tử cha.

FrameLayout là một loại View cơ sở và là Layout đơn giản nhất, được thiết kế chủ yếu để chứa một View duy nhất Mặc dù có thể chứa nhiều View con, nhưng việc bố trí chúng trở nên khó khăn do thiếu các tính năng điều khiển vị trí Do đó, không nên sử dụng FrameLayout cho các Layout phức tạp với nhiều View, vì nó không đảm bảo tính độc lập về màn hình cho các thành phần bên trong.

Layout này thường được áp dụng để thiết kế bảng chứa dữ liệu hoặc sắp xếp các widget theo hàng và cột, như trong giao diện của một chiếc máy tính đơn giản.

Activity&Intent

Activity là thành phần chính trong ứng dụng Android, cho phép người dùng tương tác trực tiếp qua giao diện Mỗi ứng dụng có thể bao gồm nhiều màn hình, với mỗi màn hình tương ứng với một Activity, trừ khi sử dụng Fragment.

Là cầu nối giữa các Activity : ứng dụng Android thường bao gồm nhiều

Mỗi Activity trong ứng dụng hoạt động độc lập và thực hiện các nhiệm vụ khác nhau Intent đóng vai trò như một người đưa thư, giúp các Activity gọi lẫn nhau và truyền tải các dữ liệu cần thiết giữa chúng.

Hình 2.7.2.1 Chuyển giữa hai màn hình Activity

Các thuộc tính của một đối tượng Intent:

Hình 2.7.2.2.Các thuộc tính của một đối tượng Intent

Các Action được định nghĩa sẵn:

Hình 2.7.2.3.Các Action được định nghĩa sẵn

CÁC KỸ THUẬT NỀN TẢNG

Webservice

Web service là công cụ cho phép ứng dụng di động, đặc biệt là ứng dụng Android, tương tác với cơ sở dữ liệu từ xa được lưu trữ trên các dịch vụ Hosting.

Dịch vụ Web, theo W3C, là hệ thống phần mềm hỗ trợ tương tác giữa các ứng dụng trên máy tính khác nhau qua Internet, với giao diện được mô tả bằng XML Nó là tài nguyên phần mềm có địa chỉ URL, thực hiện chức năng và cung cấp thông tin theo yêu cầu người dùng Dịch vụ Web được xây dựng bằng cách đóng gói các chức năng để các ứng dụng khác có thể dễ dàng truy cập và yêu cầu thông tin từ các dịch vụ Web khác Nó bao gồm các mô-đun độc lập cho hoạt động của khách hàng và doanh nghiệp, và được thực thi trên server.

Dịch vụ Web chủ yếu được sử dụng để tích hợp các hệ thống, là một phần quan trọng trong quá trình phát triển hệ thống Các ứng dụng trong hệ thống cần kết nối với cơ sở dữ liệu và các ứng dụng khác, cho phép người dùng thực hiện phân tích và truy xuất dữ liệu Gần đây, sự phát triển mạnh mẽ của thương mại điện tử và B2B yêu cầu các hệ thống phải có khả năng tích hợp với cơ sở dữ liệu của đối tác kinh doanh, đồng thời tương tác không chỉ với các thành phần nội bộ mà còn với các hệ thống bên ngoài.

Theo W3C, dịch vụ Web là hệ thống phần mềm hỗ trợ tương tác giữa các ứng dụng trên máy tính khác nhau qua Internet, với giao diện chung được mô tả bằng XML Dịch vụ Web có thể được xác định qua địa chỉ URL, thực hiện chức năng và cung cấp thông tin theo yêu cầu của người dùng Nó được tạo ra bằng cách đóng gói các chức năng để các ứng dụng khác dễ dàng truy cập và yêu cầu thông tin từ dịch vụ Web khác Dịch vụ này bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp, và được thực thi trên server.

Ứng dụng cơ bản của dịch vụ Web là tích hợp các hệ thống, đóng vai trò quan trọng trong phát triển hệ thống Các ứng dụng cần kết nối với cơ sở dữ liệu và các ứng dụng khác, cho phép người dùng giao tiếp để phân tích và truy xuất dữ liệu Sự phát triển mạnh mẽ của thương mại điện tử và B2B hiện nay yêu cầu các hệ thống có khả năng tích hợp với cơ sở dữ liệu của đối tác kinh doanh, tạo điều kiện cho việc tương tác với cả hệ thống bên ngoài và các thành phần nội bộ trong doanh nghiệp.

Dịch vụ Web có 3 chuẩn chính:

- SOAP (Simple Object Access Protocol): cách mà Web Service sử dụng để truyền tải dữ liệu

WSDL (Web Service Description Language) là ngôn ngữ được sử dụng để mô tả các thông tin cần thiết cho một dịch vụ web Nó được tổ chức thành một tệp tin có cấu trúc thống nhất, giúp dễ dàng hiểu và sử dụng bất kể ngôn ngữ lập trình nào.

UDDI (Universal Description, Discovery, and Integration) is utilized for registering and discovering web services that are specifically described in WSDL UDDI interactions employ SOAP to communicate with the UDDI server, allowing SOAP applications to request web services These SOAP messages are accurately transmitted via HTTP and TCP/IP.

Webservice có 4 thành phần chính:

Dịch vụ vận chuyển đóng vai trò quan trọng trong việc truyền tải thông điệp giữa các ứng dụng mạng, sử dụng nhiều giao thức khác nhau như HTTP, SMTP, FTP, JSM và gần đây nhất là giao thức BEEP (Blocks Extensible Exchange Protocol).

Thông điệp XML đóng vai trò quan trọng trong việc giải mã các thông điệp định dạng XML, giúp chúng có thể được hiểu ở cấp độ ứng dụng tương tác với người dùng Hiện nay, các giao thức phổ biến thực hiện nhiệm vụ này bao gồm XML-RPC, SOAP và REST.

Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ

WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML, thường được sử dụng trong dịch vụ Web Ngôn ngữ này cho phép dịch vụ Web truyền tham số và các loại dữ liệu cần thiết cho các thao tác và chức năng mà nó cung cấp.

Khám phá dịch vụ là quá trình tập trung các dịch vụ vào một nơi được đăng ký, giúp cho dịch vụ Web dễ dàng nhận diện và tìm kiếm các dịch vụ khác để tương tác Để các dịch vụ có thể truy cập và giao tiếp với nhau, một dịch vụ Web cũng cần tiến hành đăng ký Hiện nay, UDDI API thường được sử dụng để thực hiện nhiệm vụ này.

Hình 3.1.3.1.: Kiến trúc của Web Service

Tầng giao thức tương tác dịch vụ (Service Communication Protocol) sử dụng công nghệ SOAP, cho phép người dùng triệu gọi dịch vụ từ xa qua thông điệp XML Để đảm bảo tính an toàn, toàn vẹn và bảo mật thông tin trong kiến trúc dịch vụ Web, người dùng còn có các tầng Policy, Security, Transaction và Management.

3.1.4.Định dạng dữ liệu JSON a) Khái niệm JSON

JSON là một định dạng dữ liệu sử dụng văn bản thuần túy, trong đó dữ liệu được tổ chức dưới dạng các cặp key - value Cả JSON và XML đều là định dạng để lưu trữ và truyền tải dữ liệu, nhưng chúng có những điểm tương đồng và khác biệt đáng chú ý.

- Đều là văn bản trơn (không có định dạng (màu sắc, cỡ chữ,…))

- Đều là “tự mô tả” (người dùng có thể hiểu được)

- Đều là phân cấp (có cấu trúc cây)

- Đều có thể được phân tích cú pháp (parse) bởi JavaScript

- Dữ liệu JSON và XML có thể được truyền đi bằng AJAX

- JSON không có thẻ kết thúc

- JSON nhanh hơn để đọc và ghi

- JSON có thể được phân tích cú pháp bằng hàm dựng sẵn trong JavaScript là eval()

- JSON sử dụng mảng (Array)

- JSON không dùng các từ reserve c) Cú pháp JSON

Các quy luật cú pháp JSON: Cú pháp JSON là một tập hợp con của cú pháp đối tượng JavaScript

- Dữ liệu là các cặp tên/giá trị (name/values), được phân cách bằng dấu phẩy

- Đối tượng nằm trong cặp ngoặc nhọn ‘{ }’

- Mảng đối tượng nằm trong cặp ngoặc vuông ‘[ ]’.

Dịch vụ web và kỹ thuật cơ sở dữ liệu trên internet

Trong thời đại công nghệ thông tin và kinh tế tri thức, việc tối ưu hóa hiệu quả hoạt động của cá nhân, tổ chức và doanh nghiệp là rất quan trọng để cạnh tranh thành công Do đó, việc xây dựng và lưu trữ cơ sở dữ liệu chung trên Internet trở nên cần thiết, giúp người dùng dễ dàng truy cập và thao tác với thông tin mọi lúc, mọi nơi và trên nhiều thiết bị Điều này không chỉ tăng cường tính chính xác và nhanh chóng trong việc trao đổi thông tin mà còn mang lại sự thuận tiện và linh hoạt trong công việc.

 Cấu trúc phân tán dữ liệu thích hợp cho bản chất phân tán của nhiều người dùng

 Dữ liệu được chia sẻ trên mạng nhưng vẫn cho phép quản trị dữ liệu địa phương (dữ liệu đặt tại mỗi trạm)

 Dữ liệu có tính tin cậy cao

 Dữ liệu có tính sẵn sàng cao

 Hiệu năng của hệ thống được nâng cao hơn

 Cho phép mở rộng các cá nhân, tổ chức, doanh nghiệp một cách linh hoạt

 Việc thiết kế tạo lập cở sở dữ liệu phức tạp hơn

 Đảm bảo an ninh khó khăn hơn

 Đảm bảo tính nhất quán dữ liệu khó hơn

Hosting là dịch vụ lưu trữ và chia sẻ dữ liệu trực tuyến, cung cấp không gian trên máy chủ với các dịch vụ Internet như www, FTP và Mail Qua đó, người dùng có thể lưu trữ nội dung trang web hoặc dữ liệu trên không gian này Các loại hosting đa dạng phục vụ nhiều nhu cầu khác nhau.

Shared hosting là dịch vụ lưu trữ nhiều trang web trên một máy chủ, cho phép mỗi trang có phân vùng riêng, tiết kiệm chi phí bảo trì cho người dùng Ngược lại, free web hosting cung cấp dịch vụ lưu trữ miễn phí, thường kèm theo quảng cáo, với tên miền phụ hoặc thư mục, mặc dù người dùng cũng có thể sử dụng tên miền riêng với một số điều kiện Trong khi đó, dịch vụ thu phí thường đi kèm với tên miền cấp hai và các máy chủ ổn định hơn.

Nhiều máy chủ miễn phí không cho phép sử dụng tên miền riêng Hosting miễn phí bị một số nước chặn không cho sử dụng như Trung Quốc

Reseller hosting là hình thức lưu trữ web cho phép chủ tài khoản phân bổ lại ổ cứng và băng thông để lưu trữ trang web cho bên thứ ba Các đại lý mua một phần không gian trên máy chủ và bán lại cho khách hàng, từ đó thu lợi nhuận.

Email hosting là dịch vụ thư điện tử chuyên nghiệp, khác biệt với các dịch vụ email miễn phí Doanh nghiệp thường sử dụng email hosting với tên miền riêng để nâng cao uy tín và xác thực thông điệp gửi đi Dịch vụ này cho phép tùy chỉnh cấu hình và tạo nhiều tài khoản email, đáp ứng nhu cầu của doanh nghiệp.

Dịch vụ lưu trữ tập tin trực tuyến, hay còn gọi là file hosting, được thiết kế để lưu trữ các nội dung tĩnh, đặc biệt là các tập tin lớn không phải là trang web Thông thường, các dịch vụ này cho phép người dùng truy cập thông qua giao thức FTP, được tối ưu hóa cho nhiều người sử dụng.

Windows hosting là dịch vụ lưu trữ cho nhiều trang web trên máy chủ chạy hệ điều hành Windows Server, kết nối Internet Mỗi trang web được phân vùng riêng, thường sử dụng các phần mềm quản lý hosting như Hosting Controller và Plesk.

Linux hosting là dịch vụ lưu trữ nhiều trang web trên máy chủ sử dụng hệ điều hành Linux kết nối Internet Mỗi trang web được cấp một phân vùng riêng, thường sử dụng các phần mềm quản lý hosting như Cpanel hoặc Direct Admin.

VPS Hosting, hay máy chủ riêng ảo, là một giải pháp lưu trữ cho phép người dùng sở hữu một máy chủ độc lập với khả năng chạy hệ điều hành riêng Mỗi VPS hoạt động trên một máy tính riêng biệt, mang lại hiệu suất cao và tính năng khởi động lại độc lập Khi lựa chọn VPS Hosting, người dùng cần chú ý đến các thông số quan trọng để đảm bảo hiệu quả và phù hợp với nhu cầu sử dụng.

Hệ điều hành (OS) của máy chủ: hiện tại có hai loại OS thông dụng là Linux và Windows

- Hosting Linux: là Hosting chuyên hỗ trợ ngôn ngữ lập trình PHP, Joomla, các mã nguồn mở…

Hosting Windows chuyên hỗ trợ các ngôn ngữ lập trình như ASP, ASP.Net và HTML, giúp tối ưu hóa hiệu suất khi tải web Mặc dù Hosting Windows cũng hỗ trợ ngôn ngữ PHP, nhưng ASP vẫn là ngôn ngữ chính được hỗ trợ tốt nhất.

- Dung lượng: Bộ nhớ lưu trữ cho phép bạn tải file lên host

- Băng thông: Bandwidth (băng thông) là thông số chỉ dung lượng thông tin tối đa mà website được lưu chuyển qua lại mỗi tháng

- PHP: Phiên bản php hỗ trợ

- Max file: Số lượng file tối đa có thể upload lên host

- Addon domain: Số lượng domain ta có thể trỏ tới hosting

- Subdomain: Số lượng tên miền phụ có thể tạo ra cho mỗi tên miền

- Park domain: Số lượng tên miền có thể parking

- Email accounts: Số lượng email đi kèm với hosting

- FTP accounts: Số lượng FTP account bạn có thể tạo và dùng nó upload dữ liệu lên hosting c) Đăng ký mua và sử dụng hosting

Tùy thuộc vào nhu cầu của cá nhân, tổ chức và doanh nghiệp, có nhiều hình thức đăng ký mua hoặc thuê hosting tại các nhà cung cấp hosting tại Việt Nam.

Hiện nay cũng có một số hosting miễn phí phục vụ cho quá trình học tập nghiên cứu như:

- HOSTBUDDY.COM d Các bước đăng ký sử dụng hosting

VD: Đăng ký tại "000webhost.com"

- Đến địa chỉ: " https://members.000webhost.com "

- Điền đầy đủ các thông tin yêu cầu như hình:

Hình 3.2.1.1: Màn hình đăng kí tài khoản hosting

Sau khi điền đầy đủ thông tin, nhấp chuột vào “SIGN UP”, sẽ có thông báo xác nhận trong mail bạn đã dùng để đăng ký web service

- Đăng nhập email kiểm tra hộp thư đến để xác nhận đăng ký thành công

Hình 3.2.1.3: Kiểm tra mail xác nhận đăng kí

Sau khi đăng ký và xác nhận xong ta click vào biểu tượng dấu cộng để tiến hành tạo hosting mới

Tiếp theo ,nhập tên website của bạn,gõ mật khẩu cho hosting rồi nhấn tạo

Tiếp đó bạn sẽ được lựa chọn tạo nền tảng cho web

Hình 3.2.1.6: Chọn nền tảng cho website e) Tạo cơ sở dữ liệu trên hosting Đăng nhập vào 000webhost.com bằng tài khoản đã đăng ký: Click vào: Quản lý

Tiếp theo chọn New database để tạo mới

Nhập thông tin cho database cần tạo vào các ô như trong ảnh:

Hình 3.2.1.9:Điền thông tin database

Sau khi tạo thành công ta có giao diện mới như sau:

Hình 3.2.1.10: Giao diện quản trị sở dữ liệu Mysql

Click vào New và điền thông tin còn trống sau đó click vào Create để tiến hành tạo database mới như hình:

Để tạo bảng dữ liệu mới trong cơ sở dữ liệu, bạn cần nhập các thông số như tên bảng, tên hàng, tên cột, số hàng, số cột và kiểu dữ liệu cho các hàng cột Sau khi hoàn tất, hãy nhấn nút Save để lưu bảng dữ liệu mới.

Hình 3.2.1.10: Tạo các trường và khai báo kiểu dữ liệu

Để ứng dụng Android có thể trao đổi thông tin với cơ sở dữ liệu trên Internet, việc xây dựng Webservice là rất quan trọng Để thực hiện điều này, người lập trình cần nắm vững kỹ năng lập trình backend, chủ yếu sử dụng PHP và các kỹ thuật kết nối liên quan đến cơ sở dữ liệu.

Ta tiến hành tạo Webservice theo các bước sau: a Xây dựng web service kết nối CSDL

Hình 3.2.2.1 Xây dựng code kết nối cơ sở dữ liệu b Xây dựng chức năng truy vấn CSDL và xem CSDL cho Websevice rồi chuyển sang dạng mã JSON c

Hình 3.2.2.2: Code truy vấn cơ sở dữ liệu c) Upload Webservice lên hosting sau đó lấy đường dẫn để chạy

Hình 3.2.2.3 Upload web service lên hosting http://tiemcattoc.000webhostapp.com/layallkhachhang.php

Chúng ta đã hoàn thành việc xây dựng một Webservice với các chức năng cơ bản, bao gồm kết nối và truy vấn để lấy dữ liệu từ cơ sở dữ liệu trên internet.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Phát biểu bài toán

Cạnh tranh trong kinh doanh là yếu tố quan trọng giúp doanh nghiệp phát triển bền vững, đặc biệt là trong ngành dịch vụ như tiệm cắt tóc Để nâng cao chất lượng dịch vụ và quản lý khách hàng hiệu quả, người quản lý cần cập nhật thông tin khách hàng và thợ cắt tóc mới Việc sử dụng ứng dụng trên thiết bị di động cho phép chủ tiệm tra cứu thông tin khách hàng nhanh chóng, biết được tần suất cắt tóc của họ, và dễ dàng chỉnh sửa hoặc xóa thông tin khi cần thiết Bên cạnh đó, chủ tiệm có thể lưu lại hình ảnh kiểu tóc của khách hàng để cải thiện dịch vụ Việc quản lý thông tin khách hàng qua sổ sách truyền thống gặp nhiều bất tiện, do đó, việc phát triển ứng dụng di động là giải pháp cần thiết để đáp ứng nhu cầu này.

Sơ đồ tiến trình nghiệp vụ

Sơ đồ tiến trình nghiệp vụ bao gồm các bước quan trọng như: nhập thông tin khách hàng, nhập thông tin thợ cắt, sửa thông tin khách hàng và quy trình khách hàng cắt tóc Những sơ đồ này giúp tối ưu hóa quy trình quản lý thông tin và nâng cao trải nghiệm dịch vụ cho khách hàng.

Biểu đồ ngữ cảnh

Hình 4.3.1 Biểu đồ ngữ cảnh b) Mô tả hoạt động

- Yêu cầu cầu cắt tóc

- Yêu cầu cập nhập thông tin

- Yêu cầu xem lịch sử căt tóc

- Yêu câu xin việc tới chủ tiệm cắt tóc

- Khách hàng sẽ cung cấp thông tin cho chủ tiệm cắt tóc

- Chủ tiệm sẽ nhập thông tin khách hàng vào lưu vào danh sách khách hàng trên hệ thống

- Chủ tiệm sẽ tiếp nhận yêu cầu sửa thông tin khách hàng và sửa

- Khách hàng yêu cầu muốn xem lại kiểu tóc đã từng cắt chủ tiệm tiếp nhận yêu câu và xem lịch sử khách hàng đó.

Ma trận thực thể chức năng

Hình 4.5.1 Ma trận thực thể chức năng

Phân tích dữ liệu

a Mô hình liên kết thực thể E-R

Xuất phát từ những yêu cầu của bài toán từ đó ta có những thực thể và các thuộc tính như sau

Thực thể “KhachHang” với các thuộc tính như:Idkhach, Tên khách, Ngày sinh,

Số điện thoại, Địa chỉ,giới tính và Mô tả

Hình 4.6.1:Mô hình thực thể Khách Hàng

Thực thể “Thợ” với các thuộc tính như :Idtho,ten

Hình 4.6.2:Mô hình thực thể Thợ Quan hệ giữa thực thể Thợ và Khách hàng, gồm các thông tin:idlichsu ,ngaycat,anh

Hình 4.6.3:Quan hệ giữa thực thể Thợ và Khách Hàng

Từ các thực thể và quan hệ trên ta sẽ xây dựng được mô hình E-R như sau:

Hình 4.6.4: Mô hình quan hệ E-R b.Thiết kế dữ liệu quan hệ

Thực thể Tho được chuyển đổi thành quan hệ Tho

Thực thể KhachHang được chuyển đổi thành quan hệ KhachHang

Quan hệ Cắt tóc được chuyển thành quan hệ Lichsu

Hình 4.6.5: Thiết kế dữ liệu quan hệ 4.6.1 Thiết kế các bảng dữ liệu a.Thiết kế bảng dữ liệu Khách Hàng

STT Tên trường Kiểu dữ liệu Độ rộng Mô tả Ghi chú

1 Idkhach int 11 Định danh Khóa chính

2 Ten Varchar 100 Tên khách hàng

4 Sdt Varchar 20 Số điện thoại

Hình 4.6.1.1 : thiết kế bảng dữ liệu KhachHang b Thiết kế bảng dữ liệu Thợ

STT Tên trường Kiểu dữ liệu Độ rộng Mô tả Ghi chú

1 Idtho int 11 Định danh Khóa chính

Hình 4.6.1.2 : thiết kế bảng dữ liệu Tho c Thiết kế bảng dữ liệu Lịch sử

STT Tên trường Kiểu dữ liệu Độ rộng Mô tả Ghi chú

1 Idlichsu int 11 Định danh Khóa chính

2 Idkhach int 11 Định danh Khóa ngoài

3 Idtho int 11 Định danh Khóa ngoài

Hình 4.6.1.3 : thiết kế bảng dữ liệu LichSu 4.6.2.Các bảng dữ liệu vật lý

Tiến hành cài đặt các bảng dữ liệu trên Hosting theo thiết kế như sau:

Bảng dữ liệu vật lý KhachHang

Hình 4.6.2.1.Bảng dữ liệu vật lý KhachHang

Bảng dữ liệu vật lý Tho

Hình 4.6.2.2.Bảng dữ liệu vật lý Tho Bảng dữ liệu vật lý Lichsu

Hình 4.6.2.3.Bảng dữ liệu vật lý LichSu

Chức năng quản lý khách hàng

4.7.1 Chức năng quản lý khách hàng a.Lấy danh sách khách hàng

Khi khởi động ứng dụng lên lấy toàn bộ danh sách khách hàng trong cơ sở dữ liệu trên Hosting về thiết bị di động

Hàm lấy danh sách khách hàng giúp lọc ra những khách hàng khi số lượng khách hàng đến tiệm cắt tóc hàng ngày rất đông Chức năng tìm kiếm khách hàng theo số điện thoại hỗ trợ người dùng nhanh chóng tìm kiếm khách hàng cần thiết, tiết kiệm thời gian và công sức.

Hình 4.7.1.2 Hàm lọc khách hàng c Thêm khách hàng

Khi khách hàng lần đầu đến tiệm cắt tóc, chủ tiệm sẽ ghi nhận thông tin cơ bản của họ, bao gồm tên, số điện thoại, ngày sinh, địa chỉ, giới tính và mô tả.

Hình 4.7.1.3 Hàm thêm khách hàng d Sửa thông tin khách hàng

Chức năng sửa thông tin khách hàng cho phép người chủ tiệm cập nhật và điều chỉnh thông tin khi khách hàng có thay đổi Điều này đảm bảo rằng dữ liệu khách hàng luôn chính xác và kịp thời.

Hình 4.7.1.4: Hàm sửa thông tin khách hàng trong java e Xóa khách hàng

Chức năng xóa khách hàng cho phép người dùng loại bỏ bất kỳ khách hàng nào không còn cần thiết Sau khi thực hiện xóa, khách hàng đó sẽ không còn xuất hiện trong danh sách khách hàng nữa.

Hình 4.7.1.5: Hàm xóa khách hàng trong java f khách hàng cắt tóc

Khi khách hàng quay lại tiệm cắt tóc, chủ tiệm chỉ cần hỏi số điện thoại để xác định tên khách Sau khi cắt tóc, chủ tiệm sẽ chụp lại kiểu tóc và ghi rõ tên thợ cắt, sau đó cập nhật thông tin này vào cơ sở dữ liệu.

Sau khi khách hàng cắt tóc, ứng dụng sẽ lưu lại thông tin chi tiết về lịch sử cắt tóc của họ Khi khách hàng yêu cầu xem lại kiểu tóc đã cắt, chủ tiệm có thể mở ứng dụng để khách hàng dễ dàng kiểm tra thời gian cắt, kiểu tóc và tên thợ cắt tóc đã phục vụ họ.

Hình 4.7.1.7: Hàm xem lịch sử khách hàng trong java 4.7.2.Chức năng thêm thợ

Khi một người thợ mới đến làm việc để chủ tiệm cắt tóc chỉ cần thêm tên người thợ đó vào danh sách thợ trên cơ sở dữ liệu

Hình 4.7.2.1: Hàm thêm thợ trong java

Chức năng này có tác dụng hiển thị nội dung của ứng dụng cho người dùng nhìn thấy

Hình 4.7.3.1 :Hàm ánh xạ và bắt sự kiến đóng màn hình giới thiệu

Chức năng thoát ứng dụng có tác dụng khi người dung muốn đóng hoàn toàn ứng dụng khi không dùng

Hình 4.7.4.1 :Hàm thoát ứng dụng

CHƯƠNG TRÌNH ỨNG DỤNG

Kết quả đạt được

Tìm hiểu lịch sử và kiến trúc của Hệ điều hành Android

Tìm hiểu được các kỹ thuật để xây dựng một ứng dụng hoàn chỉnh trên thiết bị thật

Xây dựng thành công ứng dụng quản lý khách hàng cắt tóc

Bước đầu xây dựng thành công ứng dụng quản lý khách hàng cắt tóc với các chức năng cơ bản.

Một số giao diện chính

5.2.1 Giao diện màn hình quản lý danh sách khách hàng a Giao diện lấy danh sách khách hàng

Sau khi khởi động ứng dụng, màn hình hiển thị sẽ lấy toàn bộ danh sách khách hàng từ Hosting để hiển thị trên giao diện.

Để lọc danh sách khách hàng một cách nhanh chóng, người dùng có thể sử dụng giao diện lọc khách hàng bằng cách nhập số điện thoại vào ô bộ lọc.

Để thêm mới khách hàng lần đầu cắt tóc, người dùng cần cung cấp thông tin như tên, số điện thoại, địa chỉ, giới tính và ngày sinh Sau khi điền đầy đủ thông tin vào giao diện theo hình 5.2.1.3, người dùng sẽ thấy thanh công cụ menu hiển thị danh sách các chức năng, trong đó có tùy chọn "thêm khách" Cuối cùng, nhấn vào nút "thêm mới" để hoàn tất quá trình thêm thông tin khách hàng.

Giao diện sửa thông tin khách hàng cho phép người dùng thay đổi thông tin bằng cách nhấn và giữ vào khách hàng cần sửa, sau đó một hộp thoại sẽ xuất hiện với chức năng sửa Khi nhấn vào sửa thông tin, màn hình sẽ chuyển sang giao diện mới cho phép chỉnh sửa, và sau khi hoàn tất, người dùng chỉ cần nhấn nút để lưu lại Đối với chức năng xóa khách hàng, chủ tiệm chỉ cần nhấn và giữ vào khách hàng muốn xóa, một hộp thoại sẽ hiện lên với tùy chọn xóa Khi nhấn vào chức năng xóa, hệ thống sẽ hiển thị lời nhắc xác nhận việc xóa khách hàng, và người dùng có thể chọn "Có" hoặc "Không" để thực hiện hành động.

Hình 5.2.1.5:Giao diện chức năng xóa khách hàng f Giao diện chức năng cắt tóc

Chức năng Cắt Tóc cho phép tiệm dễ dàng nhận diện khách hàng đã từng sử dụng dịch vụ, giúp tiết kiệm thời gian khi khách quay lại Khi khách hàng trở lại, chỉ cần chọn tên trong danh sách đã có sẵn để tiếp tục phục vụ.

Sau đó Click và giữ tại khách hàng muốn cắt tóc sẽ suất hiện màn hình cắt tóc cho khách hàng như Hình 5.2.1.6

Hình 5.2.1.6 Giao diện chức năng cắt tóc cho khách hàng

Trên màn hình chức năng cắt tóc, người dùng sẽ thấy các thông tin quan trọng như tên khách hàng, lựa chọn thợ cắt, ngày cắt tóc và ảnh của khách Để chọn thợ cắt, chỉ cần nhấn vào ô tương ứng, danh sách các thợ cắt tóc sẽ hiện ra, và người dùng chỉ cần chọn đúng tên thợ đã phục vụ khách hàng trước đó.

Giao diện chọn tên thợ cắt tóc giúp khách hàng theo dõi thời gian giữa các lần cắt tóc, đồng thời hỗ trợ chủ tiệm quản lý thông tin khách hàng hiệu quả hơn Để chọn ngày cắt tóc, người dùng chỉ cần nhấn vào ô Ngày khách cắt tóc, sau đó một hộp thoại về ngày tháng năm sẽ xuất hiện, cho phép giữ nguyên ngày hiện tại và hoàn tất quá trình đặt lịch.

Để lưu lại hình ảnh kiểu tóc của khách sau khi cắt, chỉ cần nhấn vào nút "Chụp ảnh" để ghi lại kiểu tóc hiện tại, hoặc chọn "Chọn ảnh" nếu muốn sử dụng ảnh đã chụp qua camera điện thoại Ảnh sẽ được lưu vào bộ sưu tập và có thể dễ dàng chọn từ đó.

Hình 5.2.1.9:Giao diện chụp ảnh

Giao diện chức năng xem lịch sử khách hàng cho phép người dùng dễ dàng tra cứu thông tin Để xem lại lịch sử của một khách hàng, chỉ cần nhấn vào tên khách hàng đó, sau đó một hộp thoại sẽ xuất hiện với tùy chọn xem lịch sử Khi nhấn vào "xem lịch sử", màn hình Lịch Sử Khách Hàng sẽ hiển thị thông tin chi tiết về lịch sử giao dịch của khách hàng, như minh họa trong Hình 5.2.1.11.

Hình 5.2.1.11 :Giao diện xem lịch sử khách hàng

5.2.2 Giao diện chức năng thêm thợ

Để thêm một thợ mới vào danh sách, bạn chỉ cần nhấn vào biểu tượng trên thanh menu Sau đó, chọn chức năng "thêm thợ" Một hộp thoại sẽ xuất hiện, cho phép bạn nhập tên thợ mới và nhấn "thêm" để hoàn tất quá trình.

Hình 5.2.2.1 :Giao diện thêm thợ

5.2.3 Giao diện chức năng giới thiệu Ở màn hình quản lý khách hàng trên thanh công cụ có biểu tượng menu ta ấn và xuất hiện danh sách chức năng trong đó có phần giới thiệu,ta ấn vào khi đó sẽ xuất hiện một màn hình giới thiệu về phần mềm,thông tin phần mềm đang dùng,khi xem xong ta ấn vào nút đóng để đóng màn hình giới thiệu

Hình 5.2.3.1 :Giao diện chức năng giới thiệu

5.2.4 Giao diện chức năng thoát

Khi người dùng muốn đóng ứng dụng, họ chỉ cần nhấn vào biểu tượng menu trên thanh công cụ để mở danh sách chức năng Sau đó, chọn "thoát" và ứng dụng sẽ hỏi xác nhận liệu bạn có muốn thoát hay không Chỉ cần chọn "có" hoặc "không" để hoàn tất quá trình.

Hình 5.2.4.1 :Giao diện chức năng thoát ứng dụng

Ngày đăng: 15/06/2021, 10:51

🧩 Sản phẩm bạn có thể quan tâm