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

Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc

73 28 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

Tiêu đề Đồ Án Xây Dựng Ứng Dụng Di Động Android Quản Lý Khách Hàng Cắt Tóc
Thể loại đồ án
Định dạng
Số trang 73
Dung lượng 4,48 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 (4)
    • 1.1. Giới thiệu hệ điều hành Android (4)
    • 1.2. Lịch sử phát triển (5)
    • 1.3. Ứng dụng Android (6)
    • 1.4. Quản lý bộ nhớ Android (7)
    • 1.5. Lịch nâng cấp (8)
    • 1.6. Những đặc trưng của hệ điều hành Android (8)
    • 1.7. Kiến trúc trong hệ điều hành Android (9)
      • 1.7.1. Nhân Linux Kernel (10)
      • 1.7.2. Thư viện (10)
      • 1.7.3. Thực thi ứng dụng Android (10)
      • 1.7.4. Khung ứng dụng (11)
      • 1.7.5. Tầng Ứng dụng (11)
  • CHƯƠNG 2: MÔI TRƯỜNG LẬP TRÌNH ANDROID STUDIO (12)
    • 2.1. Sơ lược về Android Studio (12)
    • 2.2. Thiết lập môi trường (12)
      • 2.2.1. Cài đặt Java (12)
      • 2.2.2. Cài đặt Andoid Studio (13)
    • 2.3. Các thành phần trong một ứng dụng Android (21)
      • 2.3.1. File manifests (21)
      • 2.4.2. File Java (22)
      • 2.4.3. Thư mục tài nguyên (23)
      • 2.4.4. File Grandle (23)
    • 2.5. View (23)
      • 2.5.1. TextView (24)
      • 2.5.2. Button (25)
      • 2.5.3. ImageButton (0)
      • 2.5.4. ImageView (26)
      • 2.5.5. EditText (26)
      • 2.5.7. GridView (28)
    • 2.6. ViewGroup (29)
      • 2.6.1. Linearlayout (29)
      • 2.6.2. Relativelayout (29)
      • 2.6.3. Framelayout (30)
      • 2.6.4. Tablelayout (30)
    • 2.7. Activity&Intent (30)
      • 2.7.1. Activity (30)
      • 2.7.2. Intent (30)
  • CHƯƠNG 3: CÁC KỸ THUẬT NỀN TẢNG (32)
    • 3.1. Webservice (32)
      • 3.1.1 Giới thiệu về Webservice (32)
      • 3.1.2. Đặc điểm của Webservice (32)
      • 3.1.3. Kiến trúc của Webservice (33)
      • 3.1.4. Định dạng dữ liệu JSON (34)
    • 3.2. Dịch vụ web và kỹ thuật cơ sở dữ liệu trên internet (36)
      • 3.2.1. Hosting (36)
      • 3.2.2. Xây dựng webservice (45)
  • CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (48)
    • 4.1. Phát biểu bài toán (48)
    • 4.2. Sơ đồ tiến trình nghiệp vụ (48)
    • 4.3. Biểu đồ ngữ cảnh (50)
    • 4.4. Sơ đồ phân ra chức năng (51)
    • 4.5. Ma trận thực thể chức năng (52)
    • 4.6. Phân tích dữ liệu (52)
      • 4.6.1. Thiết kế các bảng dữ liệu (54)
      • 4.6.2. Các bảng dữ liệu vật lý (55)
    • 4.7. Chức năng quản lý khách hàng (55)
      • 4.7.1. Chức năng quản lý khách hàng (55)
      • 4.7.2. Chức năng thêm thợ (59)
      • 4.7.3. Chức năng giới thiệu (59)
      • 4.7.4. Chức năng thoát (60)
  • CHƯƠNG 5 CHƯƠNG TRÌNH ỨNG DỤNG (61)
    • 5.1. Kết quả đạt được (61)
    • 5.2. Một số giao diện chính (61)
      • 5.2.1. Giao diện màn hình quản lý danh sách khách hàng (61)
      • 5.2.2. Giao diện chức năng thêm thợ (68)
      • 5.2.3. Giao diện chức năng giới thiệu (69)
      • 5.2.4. Giao diện chức năng thoát (70)
  • KẾT LUẬN (71)
  • TÀI LIỆU THAM KHẢO (73)

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, thiết kế cho thiết bị di động màn hình cảm ứng như điện thoại thông minh và máy tính bảng Được phát triển bởi Tổng công ty Android với sự hỗ trợ từ Google, Android đã được Google mua lại vào năm 2005 Ra mắt vào năm 2007, Android đồng thời công bố thành lập 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 ra vào tháng 10 năm 2008.

Android là một hệ điều hành mã nguồn mở được Google phát hành dưới 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 Sự linh hoạt này đã thu hút nhiều lập trình viên và nhà sản xuất thiết bị tham gia phát triển Cộng đồng lập trình viên đông đảo đã tạo ra hàng trăm ngàn ứng dụng để mở rộng chức năng của Android, sử dụng ngôn ngữ lập trình Java đã được sửa đổi Tính đến tháng 10 năm 2012, Android có khoảng 700.000 ứng dụng và ước tính 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, vượt qua Symbian nhờ vào sự nhẹ nhàng, khả năng tùy chỉnh và chi phí thấp, làm cho nó trở thành lựa chọn hàng đầu cho các công ty công nghệ 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à nhiều thiết bị điện tử khác Tính mở của Android khuyến khích một cộng đồng lập trình viên và những 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 vào 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 Thành công này đã biến hệ điều hành trở thành mục tiêu trong các vụ kiện liên quan đến bằng sáng chế, góp phần vào "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ù các nhà sáng lập đều là những nhân vật nổi bật trong ngành công nghiệp, công ty hoạt động một cách âm thầm và chỉ tiết lộ 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 tài chính và được bạn thân Steve Perlman hỗ trợ 10.000 USD nhưng 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, biến nó thành một bộ phận trực thuộc của mình, với các nhân viên chủ chốt như Rubin, Miner và White tiếp tục làm việc tại công ty Dù thông tin về Tổng công ty lúc đó còn hạn chế, nhiều người đã đoán rằng Google có kế hoạch tham gia vào thị trường điện thoại di động Nhóm do Rubin lãnh đạo tại Google đã phát triển một nền tảng di động dựa trên nhân Linux, được 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 hệ thống linh hoạt và có khả năng nâng cấp Google cũng đã kết nối 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.

Ngày càng có nhiều suy đoán về việc Google sẽ tham gia thị trường điện thoại di động vào tháng 12 năm 2006 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ả truyền thông truyền thống và trực tuyến đều đưa tin về việc Google đang phát triển một thiết bị cầm tay mang thương hiệu của mình Một số tờ báo còn 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 di động 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.

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 lần cập nhật, 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 bản nâng cấp được đặt tên theo thứ tự bảng chữ cái, lấy cảm hứng từ các món ă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, được sản xuất bởi các đối tác phần cứng HTC đã hợp tác với Google để phát triển chiếc điện thoại Nexus đầu tiên, Nexus One Kể từ đó, nhiều thiết bị mới như Nexus 4 và Nexus 10, do LG và Samsung sản xuất, đã gia nhập dòng sản phẩm này Google coi Nexus là những thiết bị Android chủ lực, 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 hệ điều hành Android.

Ứng dụng Android

Android ngày càng phong phú với hàng triệu ứng dụng bên thứ ba, được cung cấp qua các cửa hàng như Google Play và Amazon Appstore, hoặc thông qua việc tải xuống tập tin APK từ các trang web khác Cửa hàng Play cho phép người dùng dễ 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 lọc theo tính tương thích của thiết bị Các nhà phát triển có thể giới hạn ứng dụng cho một số nhà mạng hoặc quốc gia nhất định Người dùng có quyền 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 còn hỗ trợ mua ứng dụng qua hóa đơn hàng tháng Tính đến tháng 9 năm 2012, Android đã có hơn 675.000 ứng dụng 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, bộ giả lập điện thoại QEMU, tài liệu hướng dẫn và mã nguồn mẫu 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ụ phát triển khác như Bộ phát triển gốc cho ứng dụng viết bằng C hoặc C++, Google App Inventor cho lập trình viên mới bắt đầu, và nhiều nền tảng ứng dụng web di động đa nền tảng.

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 giảm thiểu mức tiêu thụ điện năng, khác với hệ điều hành máy tính để bàn thường giả định có nguồn điện không giới hạn Khi một ứng dụng Android không còn sử dụng, hệ thống 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.

Khi "mở" các ứng dụng, chúng không tiêu thụ tài nguyên như pin hay năng lượng xử lý, giúp tiết kiệm năng lượng và tăng khả năng phản hồi của thiết bị Android Phương pháp này cho phép ứng dụng hoạt động ngay lập tức mà không cần khởi động lại, đồng thời ngăn chặn 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 ứng dụng cũ nhất trước Quá trình này diễn ra ẩn và không yêu cầu người dùng can thiệp, giúp tránh việc sử dụng các ứng dụng bên thứ ba trên cửa hàng Google Play, vì những ứng dụng này thường tiềm ẩn nhiều rủi ro hơn lợi ích.

Lịch nâng cấp

Google thường xuyên 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à đối với những thiết bị không thuộc dòng Nexus, do sự đa dạng về phần cứng của Android Các nhà sản xuất phải điều chỉnh bản nâng cấp cho phù hợp với từng thiết bị, dẫn đến việc nhiều smartphone cũ không được nâng cấp vì không được coi là xứng đáng Thêm vào đó, các nhà mạng cũng góp phần vào sự 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ừ cả nhà sản xuất lẫn nhà mạng đã gây ra nhiều chỉ trích từ cộng đồng người dùng và các trang tin công nghệ Một số ý kiến cho rằng ngành công nghiệp cố tình không nâng cấp thiết bị để thúc đẩy doanh số bán hàng mới, điều này đã được The Guardian chỉ trích vì tính phức tạp trong quy trình phân phối bản nâng cấp.

Vào năm 2011, Google đã hợp tác với một số công ty công nghệ để thành lập "Liên minh nâng cấp Android", cam kết cung cấp các bản nâng cấp cho 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ớ, định hình hiệu năng và plugin 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 như WebKit - trình duyệt web mã nguồn mở, các thư viện phổ biến, và cơ sở dữ liệu SQLite, giúp lưu trữ và chia sẻ dữ liệu ứng dụng hiệu quả Ngoài ra, nó còn cung cấp các thư viện hỗ trợ cho việc ghi âm, video và SSL, đảm bảo an ninh cho các kết nối 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, được xây dựng trên nền tảng Linux, tận dụng các tính năng như quản lý bộ nhớ và đa luồng, đồng thời tích hợp với ngôn ngữ Java Nó cho phép các ứng dụng Android hoạt động trong các tiến trình riêng biệt, đảm bảo hiệu suất và tính ổn định cho từng ứng dụng thông qua các trường hợp cụ thể của máy ảo Dalvik.

Thực thi Android cung cấp cho các nhà phát triển một bộ thư viện lõi, cho phép họ sử dụng ngôn ngữ lập trình Java để phát triển ứng dụng Android.

Khung ứng dụng cung cấp nhiều dịch vụ nâng cao cho các ứng dụng thông qua các lớp Java, cho phép các nhà phát triển tích hợp những dịch vụ này vào 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 Với IntelliJ IDEA là một IDE hàng đầu cho Java, 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 chứa 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ợ khác 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 Google phát triển Đâ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 cho công chúng vào năm 2014, sau nhiều phiên bản beta từ năm 2013 Trước khi ra mắt, các nhà phát triển Android thường 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ụ phát triển ứng dụng Android, cung cấp giao diện để tạo ứng dụng và quản lý các file phức tạp Ngôn ngữ lập trình chính được sử dụng là Java, cần được cài đặt trên thiết bị Với Android Studio, người dùng có thể dễ dàng viết, chỉnh sửa và lưu các dự án cùng các file liên quan Ngoài ra, Android Studio cũng cấp quyền truy cập vào Android SDK, hỗ trợ tối đa cho quá trình phát triển ứng dụng.

Để đảm bảo code 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 để phát triển ứng dụng, với Android SDK làm cầu nối Android Studio sẽ kích hoạt quá trình chạy code thông qua trình giả lập hoặc thiết bị thực Ngoài ra, chúng ta có thể gỡ rối chương trình trong quá trình chạy và nhận phản hồi để nhanh chóng khắc phục sự cố.

Google đã đầu tư nhiều công sức vào việc cải thiện Android Studio, nhằm tăng cường tính năng và hiệu quả cho lập trình viên Phần mềm này cung cấp gợi ý trực tiếp khi viết code và thường xuyên đề xuất các 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 đánh dấu bằng màu xám, và khi bắt đầu gõ, Android Studio sẽ hiển thị danh sách gợi ý tự động hoàn thành, giúp người dùng 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ụ thiết yếu cho lập trình ứng dụng trên hệ điều hành Android, cho phép chạy thử ứng dụng trực tiếp trên máy tính Genymotion là một trong những công cụ máy ảo phổ biến hiện nay Để cài đặt Genymotion, bạn có thể truy cập vào trang web chính thức tại: 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à một 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à giao diện cho ứng dụng File này cũng chứa thông tin về phiên bản SDK và hoạt động chính sẽ được khởi 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

File Java được tự động tạo ra khi ứng dụng được khởi tạo, có chức năng 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 của ứng dụng Mã nguồn của file Java này sẽ được cập nhật tự động mỗi khi có sự kiện 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ẽ bị 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/, bạn sẽ tìm thấy các tệp tin như color.xml, dimens.xml, string.xml và style.xml Đây là những tệp XML quan trọng, định nghĩa các giá trị 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ủ đề.

Gradle Scripts bao gồm nhiều tệp con như build.gradle và local.properties, nơi bạn thiết lập các thông số cho quá trình xây dựng ứng dụng bằng Gradle Gradle, 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 và phân tích XML, từ đó 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, và CheckBox Tất cả những thành phần này đều được gọi chung là View, mang đến sự đa dạng cho việc phát triển ứng dụng.

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 sắc, phục vụ cho 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 Button kế thừa các thuộc tính và thiết lập từ TextView, do đó, những 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 android:src="@drawable/ic_launcher_background" để thêm hình ảnh vào và không có thẻ text

ImageView là một thành phần trong XML, được sử dụng để hiển thị tài nguyên hình ảnh như Bipmap và Drawable Nó cung cấp các 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 Android, cho phép người dùng nhập liệu qua một hộp chữ nhật Người dùng có thể nhập dữ liệu như chữ, số, và có thể kiểm soát loại dữ liệu nhập vào, bao gồm text, số, số điện thoại, ngày tháng, và nhiều định dạng khác.

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 quan trọng trong việc ánh xạ dữ liệu từ Data Source vào các thành phần 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ẽ chịu trách nhiệm 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 đối tượng quan trọng trong việc hiển thị thông tin từ Data Source một cách trực quan, cho phép người dùng tương tác trực tiếp với dữ liệu.

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 một cách linh hoạt hơn Dữ liệu được cung cấp dưới dạng mảng hoặc danh sách một chiều, và GridView sẽ tự động ngắt hàng dựa trên số cột đã được thiết lập.

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 layout của màn hình Nó cho phép tạo ra hệ thống phân cấp cho các đối tượng View, từ đó xây dựng 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 đượ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 các view con được sắp xếp dựa trên mối quan hệ vị trí của chúng với nhau, chẳng hạn như một view con nằm dưới hoặc bên trái của view con khác Nó cũng cho phép xác định vị trí của các view con so với phần tử cha RelativeLayout, 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, chủ yếu được thiết kế để chứa một View duy nhất Mặc dù có khả năng chứa nhiều View con, nhưng việc bố trí chúng trong FrameLayout có thể gặp khó khăn do thiếu các tính năng điều khiển vị trí Do đó, khi thiết kế Layout với nhiều View, không nên sử dụng FrameLayout vì nó không đảm bảo tính độc lập về màn hình cho các View con.

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, ví dụ như 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 tương tác trực tiếp với người dùng thông qua giao diện Mỗi ứng dụng có thể có nhiều màn hình, và mỗi màn hình đó có thể được đại diện bở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 tương tác với nhau và truyền tải 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ụ quan trọng cho phép các ứ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 định nghĩa của W3C, là một 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 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 của 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 dễ dàng truy cập và yêu cầu thông tin từ các dịch vụ Web khác Hệ thống này bao gồm các mô đun độc lập phục vụ 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 được 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 tích hợp hiệu quả với cơ sở dữ liệu của đối tác kinh doanh, tạo điều kiện cho tương tác giữa hệ thống bên ngoài và các thành phần nội bộ trong doanh nghiệp.

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 qua Internet, với giao diện và cấu trúc được mô tả bằng XML Dịch vụ này có thể 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 người dùng Một dịch vụ Web được hình thành từ việc đó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 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, được thực thi trên server.

Dịch vụ Web đóng vai trò quan trọng trong việc tích hợp các hệ thống, là một hoạt động cốt yếu trong phát triển hệ thống Các ứng dụng cần liên kết chặt chẽ 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 Sự phát triển mạnh mẽ của thương mại điện tử và mô hình B2B hiện nay 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 các đối tác kinh doanh, tức là cần thiết phải tương tác không chỉ với các thành phần nội bộ mà còn với hệ thống bên ngoài.

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à một ngôn ngữ dùng để mô tả các thông tin cần thiết cho một web service Nó được tổ chức dưới dạng một tệp tin có cấu trúc thống nhất, cho phép không phân biệt ngôn ngữ lập trình được sử dụng.

UDDI (Universal Description, Discovery, and Integration) is a platform used for registering and discovering web services that are specifically described in WSDL It utilizes SOAP for communication with the UDDI server, enabling SOAP applications to request web services These SOAP messages are accurately transmitted over HTTP and TCP/IP protocols.

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

Dịch vụ vận chuyển có 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 như HTTP, SMTP, FTP, JSM, và gần đây là giao thức Blocks Extensible Exchange Protocol (BEEP).

Thông điệp XML đóng vai trò quan trọng trong việc giải mã các thông điệp theo định dạng XML, giúp người dùng có thể hiểu và tương tác dễ dàng hơn Hiện nay, các giao thức liên quan đang được phát triển để tối ưu hóa khả năng xử lý và truyền tải thông tin.

WSDL là ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML, thường được sử dụng để định nghĩa các 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 các 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 phải tiến hành đăng ký Hiện nay, UDDI API thường được sử dụng để thực hiện quy trình 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, nằm giữa tầng vận chuyển và tầng mô tả thông tin dịch vụ 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, kiến trúc dịch vụ Web còn bao gồm 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 So với XML, JSON có cấu trúc đơn giản và dễ đọc hơn, nhưng XML lại mạnh mẽ hơn trong việc biểu diễn dữ liệu phức tạp và hỗ trợ các thuộc tính Cả hai định dạng đều được sử dụng rộng rãi trong việc trao đổi dữ liệu, nhưng sự khác biệt trong cú pháp và tính năng khiến chúng phù hợp với những nhu cầu khác nhau.

- Đề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 ‘{ }’.

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, cá nhân, tổ chức và doanh nghiệp cần đạt hiệu quả cao và giành lợi thế cạnh tranh Để làm được điều này, việc cung cấp và trao đổi thông tin một cách nhanh chóng, chính xác và thuận tiện là rất quan trọ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 dữ liệu mọi lúc, mọi nơi và trên mọi thiết bị có kết nối Internet, thay vì chỉ giới hạn trên máy tính cục bộ.

 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ủ cho các dịch vụ Internet như www, FTP và email 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 bao gồm nhiều hình thức khác nhau để đáp ứng nhu cầu sử dụng.

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

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à một hình thức lưu trữ web cho phép chủ tài khoản phân bổ lại dung lượng ổ cứng và băng thông để lưu trữ các 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à sau đó bán lại cho khách hàng để thu lợi nhuận.

Email hosting là dịch vụ thư điện tử chuyên nghiệp, khác biệt so 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à quản lý số lượng lớn tài khoản email một cách hiệu quả.

File hosting là dịch vụ lưu trữ trực tuyến chuyên dụng cho việc lưu trữ các tập tin lớn, không phải là trang web Dịch vụ này thường cho phép người dùng truy cập thông qua giao thức FTP, được tối ưu hóa để phục vụ nhiều người sử dụng cùng lúc.

Windows hosting là dịch vụ lưu trữ cho nhiều trang web trên máy chủ sử dụng hệ điều hành Windows Server 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ư Hosting Controller và Plesk để tối ưu hóa hiệu suất và quản lý dễ dàng.

Linux hosting là dịch vụ lưu trữ nhiều trang web trên máy chủ chạy hệ điều hành Linux, kết nối Internet Mỗi trang web có phân vùng riêng, thường sử dụng phần mềm quản lý như Cpanel hoặc Direct Admin Mỗi máy chủ ảo có khả năng độc lập, có thể chạy hệ điều hành đầy đủ và được khởi động lại khi cần Các thông số quan trọng cần biết trong hosting bao gồm khả năng lưu trữ, băng thông và tính năng bảo mật.

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 cung cấp hỗ trợ tối ưu cho các ngôn ngữ lập trình như ASP, ASP.Net và HTML, giúp cải thiện hiệu suất khi tải web Mặc dù Hosting Windows cũng hỗ trợ ngôn ngữ PHP, nhưng ngôn ngữ chính được tối ưu hóa là ASP, mang lại trải nghiệm tốt hơn cho người dùng.

- 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ừ các nhà cung cấp 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

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 từng hàng cột Sau khi hoàn tất, hãy nhấn "Save" để lưu lại bảng vừa tạo.

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 Điều này yêu cầu lập trình viên cần có kỹ năng lập trình backend, đặc biệt là sử dụng PHP và các kỹ thuật kết nối với 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

Trong môi trường kinh doanh cạnh tranh, việc nâng cao chất lượng dịch vụ là giải pháp bền vững giúp doanh nghiệp phát triển Để quản lý và chăm sóc khách hàng hiệu quả tại tiệm cắt tóc, người quản lý cần cập nhật thông tin khách hàng và thợ mới Việc tra cứu thông tin khách hàng qua thiết bị di động giúp chủ tiệm biết được lịch sử cắt tóc của khách hàng, đồng thời có thể chỉnh sửa hoặc xóa thông tin khi cần thiết Ngoài ra, việc chụp lại kiểu tóc của khách hàng trong quá trình cắt cũng giúp lưu giữ kỷ niệm và thông tin Sử dụng ứng dụng di động thay cho sổ sách truyền thống sẽ giúp quản lý thông tin khách hàng một cách thuận tiện và hiệu quả hơn.

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ổ chức và quản lý thông tin một cách hiệu quả, đảm bảo quy trình phục vụ khách hàng diễn ra suôn sẻ.

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

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 cho phép lọc khách hàng hiệu quả, đặc biệt khi số lượng khách hàng đến tiệm cắt tóc hàng ngày rất lớn Chức năng tìm kiếm theo số điện thoại giúp người dùng nhanh chóng xác định khách hàng cần thiết, tiết kiệm thời gian và nâng cao hiệu suất làm việ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 tiên đến tiệm cắt tóc, chủ tiệm sẽ ghi chú thông tin cơ bản của họ vào danh sách khách hàng, 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 chủ tiệm cập nhật thông tin khi khách hàng có sự 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à được cập nhật 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.

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 hoàn thành dịch vụ, chủ tiệm sẽ chụp ảnh kiểu tóc mới của khách và ghi lại 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, thông tin sẽ được lưu lại trong ứng dụng Khi khách hàng muốn xem lại kiểu tóc đã cắt, chủ tiệm có thể mở ứng dụng để khách hàng kiểm tra lịch sử Khách hàng sẽ thấy được thời gian cắt, kiểu tóc đã chọn và tên thợ cắt tóc phục vụ mình.

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 và hiển thị trên giao diện.

Để lọc danh sách khách hàng một cách nhanh chóng, bạn chỉ cần nhập số điện thoại của khách hàng vào ô bộ lọc trên giao diện màn hình chính.

Để thêm mới một khách hàng lần đầu cắt tóc, chúng ta cần thu thậ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 lọc khách hàng, người dùng sẽ thấy thanh công cụ menu hiển thị 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 để thực hiện việc 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, người dùng cũng nhấn và giữ vào khách hàng cần xóa, một hộp thoại sẽ hiện ra cho phép xác nhận việc xóa Người dùng chỉ cần chọn "Có" hoặc "Không" để thực hiện hành động xóa khách hà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 giúp nhận diện khách hàng đã từng sử dụng dịch vụ tại tiệm, cho phép nhân viên dễ dàng tìm kiếm và chọn đúng khách hàng trong danh sách khi họ quay lại.

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 thông tin như tên khách hàng, 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 ô chọn thợ, danh sách tất cả các thợ cắt tóc sẽ hiện ra, giúp dễ dàng chọn đúng thợ đã phục vụ khách trước đó Việc này không chỉ giúp khách hàng biết được thời gian cắt tóc mà còn hỗ trợ chủ tiệm theo dõi thời gian khách hàng quay lại, từ đó cải thiện dịch vụ chăm sóc khách hàng Để 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, một hộp thoại sẽ hiện ra cho phép chọn ngày hiện tại và nhấn xong để hoàn tất.

Để lưu lại hình ảnh kiểu tóc của khách sau khi cắt, bạn chỉ cần nhấn vào nút "Chụp ảnh" để ghi lại kiểu tóc hiện tại, như minh họa trong Hình 5.2.1.9 Nếu chủ tiệm không chụp trực tiếp, có thể sử dụng camera điện thoại để chụp, và ảnh sẽ được lưu vào bộ sưu tập Sau đó, bạn chỉ cần chọn ảnh từ bộ sưu tập có sẵn, như thể hiện trong Hình 5.2.1.10.

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

Khi muốn xem lại lịch sử khách hàng, người dùng chỉ cần nhấn vào tên khách hàng tương ứng, sau đó một hộp thoại sẽ xuất hiện với chức năng xem lịch sử Tiếp theo, nhấn vào "xem lịch sử" để hiển thị màn hình Lịch Sử Khách Hàng, cho phép người dùng theo dõi chi tiết lịch sử giao dịch của khách hàng đó.

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ẽ hiện ra, 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

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

Khi người dùng muốn đóng ứng dụng, họ có thể chọn biểu tượng menu trên thanh công cụ để hiển thị danh sách chức năng Sau đó, người dùng chọn "thoát" và ứng dụng sẽ hỏi xác nhận trước khi thoát 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: 09/08/2021, 11:26

HÌNH ẢNH LIÊN QUAN

Hình 2.2.1 Cài đặt JDK - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.2.1 Cài đặt JDK (Trang 12)
Hình 2.2.2. nhần next để tiếp tục cài đặt - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.2.2. nhần next để tiếp tục cài đặt (Trang 13)
Hình 2.1.2.2.2: Xác nhận điều khoản sử dụng để có thể tải về - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.1.2.2.2 Xác nhận điều khoản sử dụng để có thể tải về (Trang 15)
Hình 2.1.2.2.1: Trang download android studio - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.1.2.2.1 Trang download android studio (Trang 15)
Hình 2.1.2.2.3: Cài đặt Android Studio bằng bộ cài vừa tải về - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.1.2.2.3 Cài đặt Android Studio bằng bộ cài vừa tải về (Trang 16)
Khi cài đặt chú ý chọn cả SDK và trình giả lập thiết bị android ảo ADV như hình: - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
hi cài đặt chú ý chọn cả SDK và trình giả lập thiết bị android ảo ADV như hình: (Trang 16)
Ở 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:  - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
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: (Trang 17)
Hình 2.1.2.3.2: màn hình lựa chọn kiểu ứng dụng - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.1.2.3.2 màn hình lựa chọn kiểu ứng dụng (Trang 19)
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 - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
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 (Trang 20)
Hình 2.4.1. 1: File Manifests - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.4.1. 1: File Manifests (Trang 22)
Hình 2.5.2.1. Khai báo Button trong tệp xml - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.5.2.1. Khai báo Button trong tệp xml (Trang 25)
Hình 2.5.1.2. Sử dụng TextView trong tệp java - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.5.1.2. Sử dụng TextView trong tệp java (Trang 25)
android:src="@drawable/ic_launcher_background" để thêm hình ảnh vào và không có thẻ text  - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
android src="@drawable/ic_launcher_background" để thêm hình ảnh vào và không có thẻ text (Trang 26)
Hình 2.5.5.1. Khai báo EditText trong tệp XML - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.5.5.1. Khai báo EditText trong tệp XML (Trang 27)
Hình 2.7.2.2.Các thuộc tính của một đối tượng Intent - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 2.7.2.2. Các thuộc tính của một đối tượng Intent (Trang 31)
Hình 3.1.4.1: Cú pháp JSON - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 3.1.4.1 Cú pháp JSON (Trang 35)
Hình 3.2.1.6: Chọn nền tảng cho website - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 3.2.1.6 Chọn nền tảng cho website (Trang 41)
Hình 3.2.1.8: Tạo database mới - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 3.2.1.8 Tạo database mới (Trang 42)
Hình 3.2.1.11: Tạo database mới - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 3.2.1.11 Tạo database mới (Trang 44)
Hình 3.2.1.10: Giao diện quản trị sở dữ liệu Mysql - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 3.2.1.10 Giao diện quản trị sở dữ liệu Mysql (Trang 44)
Hình 3.2.2.3. Upload webservice lên hosting - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 3.2.2.3. Upload webservice lên hosting (Trang 47)
Hình 4.3.1 Biểu đồ ngữ cảnh - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 4.3.1 Biểu đồ ngữ cảnh (Trang 50)
d) Sơ đồ tiến trình nghiệp vụ: “khách hàng cắt tóc” - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
d Sơ đồ tiến trình nghiệp vụ: “khách hàng cắt tóc” (Trang 50)
a. Mô hình liên kết thực thể E-R - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
a. Mô hình liên kết thực thể E-R (Trang 52)
Hình 4.7.1.2. Hàm lọc khách hàng - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 4.7.1.2. Hàm lọc khách hàng (Trang 56)
Hình 4.7.1.4: Hàm sửa thông tin khách hàng trong java - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 4.7.1.4 Hàm sửa thông tin khách hàng trong java (Trang 57)
Hình 4.7.1.6: Hàm lưu lại thông tin sau khi khách vừa cắt tóc - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 4.7.1.6 Hàm lưu lại thông tin sau khi khách vừa cắt tóc (Trang 58)
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  - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
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 (Trang 58)
Hình 4.7.2.1: Hàm thêm thợ trong java - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
Hình 4.7.2.1 Hàm thêm thợ trong java (Trang 59)
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  - Đồ án Xây dựng ứng dụng di động Android quản lý khách hàng cắt tóc
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 (Trang 61)

TỪ KHÓA LIÊN QUAN

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