1. Trang chủ
  2. » Thể loại khác

Luận văn tìm hiểu dịch vụ web cho thiết bị di động và ứng dụng

57 5 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 đề Luận Văn Tìm Hiểu Dịch Vụ Web Cho Thiết Bị Di Động Và Ứng Dụng
Tác giả Nguyễn Ngọc Hải
Người hướng dẫn ThS. Phùng Anh Tuấn
Trường học Trường Đại Học Dân Lập Hải Phòng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2018
Thành phố Hải Phòng
Định dạng
Số trang 57
Dung lượng 3,5 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: HỆ ĐIỀU HÀNH ANDROID (9)
    • 1.1. Giới thiệu chung về Hệ điều hành Android (9)
    • 1.2. Kiến trúc hệ điều hành Android (11)
      • 1.2.1. Tầng hạt nhân Linux (11)
      • 1.2.2. Tầng thư viện và thực thi Android (12)
      • 1.2.3. Tầng khung ứng dụng (13)
      • 1.2.4. Tầng ứng dụng (14)
    • 1.3. Mô tả hệ điều hành Android (15)
      • 1.3.1. Giao diện (15)
      • 1.3.2. Ứng dụng (17)
    • 1.4. Sự đón nhận của người dùng đối với hệ điều hành Android (18)
  • CHƯƠNG 2: MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID (20)
    • 2.1. Môi trường phát triển (20)
      • 2.1.1. Phần mềm Android Studio (20)
      • 2.1.2. Bộ công cụ phát triển Java SE Development Kit (JDK) (20)
      • 2.1.3. Máy ảo Android Virtual Device (AVD) (21)
    • 2.2. Các thành phần trong một dự án Android (21)
      • 2.2.1. Tệp cấu hình dự án AndroidManifest.xml (21)
      • 2.2.2. Tệp R.java (22)
    • 2.3. Vòng đời ứng dụng Android (22)
      • 2.3.1. Chu kỳ sống của các thành phần (22)
      • 2.3.2. Activity Stack (23)
      • 2.3.3. Các trạng thái của chu kỳ sống (23)
      • 2.3.4. Thời gian sống của Activity (24)
      • 2.3.5. Các phương thức của chu kỳ sống (24)
    • 2.4. Các thành phần giao diện trong Android (25)
      • 2.4.1. View và ViewGroup (25)
      • 2.4.2 Layout (29)
  • CHƯƠNG 3: CƠ SỞ DỮ LIỆU WEB VÀ DỊCH VỤ WEB (32)
    • 3.1. Mạng Internet (32)
      • 3.1.1. Khái niệm (32)
      • 3.1.2. Lợi ích của Internet trong cuộc sống (32)
      • 3.1.3. Các chương trình duyệt Web thông dụng hiện nay (32)
    • 3.2. Web Hosting (33)
      • 3.2.1. Khái niệm (33)
      • 3.2.2. Các loại hosting (33)
      • 3.2.3. Các thông số cần biết trong web hosting (34)
      • 3.2.4. Tại sao cần phải mua web hosting ? (34)
      • 3.2.5. Cách đăng kí một web hosting miễn phí (34)
    • 3.3. Cơ sở dữ liệu web (38)
      • 3.3.1. Khái niệm (38)
      • 3.3.2. Tổ chức dữ liệu (39)
      • 3.3.3. Phần mềm Cơ sở dữ liệu Web (39)
      • 3.3.4. Đối tượng áp dụng (39)
      • 3.3.5. Hệ quản trị CSDL MySQL (39)
    • 3.4. Dịch vụ web (40)
      • 3.4.1. Giới thiệu (40)
      • 3.4.2. Các công nghệ xây dựng dịch vụ Web (40)
      • 3.4.3. Đặc điểm của dịch vụ Web (41)
      • 3.4.4. Kiến trúc của dịch vụ Web (41)
      • 3.4.5. Các thành phần chính của dịch vụ web (44)
      • 3.4.6. Xây dựng một dịch vụ Web (44)
      • 3.4.7. Các dạng tương tác giữa Web Service với ứng dụng trên TBDĐ (45)
      • 3.4.8. Cấu trúc chung Web Service viết bằng PHP cho ứng dụng di động (49)
  • CHƯƠNG 4: CHƯƠNG TRÌNH THỬ NGHIỆM (50)
    • 4.1. Phát biểu bài toán (50)
    • 4.2. Thiết kế chức chức năng hệ thống (50)
      • 4.2.1. Chức năng xem sản phẩm theo loại sản phẩm (50)
      • 4.2.2. Chức năng quản lí giỏ hàng (51)
      • 4.2.3. Chức năng thanh toán sản phẩm (51)
    • 4.3. Thiết kế dữ liệu (52)
      • 4.3.1. Bảng thông tin sản phẩm (52)
      • 4.3.2. Bảng thông tin sản phẩm mới nhất (52)
      • 4.3.3. Bảng chi tiết đơn hàng (52)
      • 4.3.4. Bảng thông tin loại sản phẩm (53)
      • 4.3.5. Bảng thông tin đơn hàng (53)
    • 4.4. Một số giao diện chương trình (53)
      • 4.4.1 Giao diện màn hình chính và thanh menu của ứng dụng (53)
      • 4.4.2. Giao diện dánh sách các sản phẩm của Điện thoại và Laptop (54)
      • 4.4.3. Giao diện thông tin chi tiết của các sản phẩm (54)
      • 4.4.4. Giao diện các sản phẩm trong giỏ hàng (55)
      • 4.4.5. Giao diện thanh toán sản phẩm và thông tin liên hệ (55)
  • KẾT LUẬN (56)
  • TÀI LIỆU THAM KHẢO (57)

Nội dung

HỆ ĐIỀU HÀNH ANDROID

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

Android là hệ điều hành di động dựa trên nền tảng Linux phiên bản 2.6, được phát triển cho các dòng điện thoại SmartPhone Ra đời bởi công ty Android, hệ điều hành này đã được Google mua lại và phát triển từ năm 2005, trở thành một nền tảng mã nguồn mở, miễn phí và mạnh mẽ, được ưa chuộng trên toàn cầu.

Hình 1.1 Biểu tượng của Hệ điều hành Android

Hệ điều hành Android là một nền tảng mạnh mẽ với bảo mật cao, hỗ trợ nhiều công nghệ tiên tiến như 3G, GPS, EDGE và Wifi Nó tương thích với nhiều loại phần cứng và thiết bị nhập dữ liệu như bàn phím, cảm ứng và trackball Với khả năng kết nối vượt trội, Android là sự lựa chọn lý tưởng cho các mạng không dây.

Công nghệ OpenGL hỗ trợ mạnh mẽ khả năng chơi media và hoạt hình, đồng thời cung cấp khả năng đồ họa vượt trội, tạo điều kiện thuận lợi cho việc phát triển các ứng dụng có giao diện phức tạp, đặc biệt là trong lĩnh vực trò chơi.

Hình 1.2 Các tính năng hỗ trợ trong Hệ hiều hành Android

Android liên tục được cải tiến qua các bản cập nhật từ Google, giúp hệ điều hành này hoạt động nhanh hơn, ổn định hơn và hỗ trợ công nghệ mới Chẳng hạn, phiên bản Android 2.2 đã cải thiện hiệu suất lên tới 450% so với phiên bản 2.1 Hiện tại, phiên bản mới nhất là 2.3, được phát hành vào ngày 6 tháng 12 năm 2010, và vẫn đang được cập nhật thường xuyên.

Năm 2008, Android đã chính thức mở toàn bộ mã nguồn, cho phép các hãng điện thoại tùy chỉnh và thiết kế hệ điều hành theo nhu cầu riêng Việc này không chỉ giúp tiết kiệm chi phí phát triển mà còn mang lại lợi ích cho cả các hãng sản xuất nhỏ và lớn như Samsung, HTC Hệ điều hành mở và miễn phí này đã tạo điều kiện thuận lợi cho sự phát triển đa dạng của các mẫu điện thoại.

Google không thu phí các hãng sản xuất điện thoại cho hệ điều hành Android, điều này giúp họ dễ dàng tiếp cận thị trường di động Mỗi thiết bị Android đều tích hợp các dịch vụ của Google như Google Search và Google Maps, từ đó tạo ra cơ hội lớn cho công ty trong việc kiếm lợi nhuận chủ yếu từ quảng cáo trên các nền tảng này.

Với sự phổ biến của hệ điều hành Android, các nhà phát triển ứng dụng có thể tự do phát triển ứng dụng mà không lo lắng về việc tương thích với nhiều dòng điện thoại khác nhau Họ không cần phải quan tâm đến loại điện thoại hay phiên bản hệ điều hành, vì nền tảng Android hỗ trợ đa dạng thiết bị Máy ảo Java thực hiện các ứng dụng tương thích với từng dòng điện thoại, trong khi các chương trình được viết bằng ngôn ngữ Java kết hợp với XML, giúp tăng khả năng khả chuyển của ứng dụng.

Several prominent smartphone manufacturers utilize the Android operating system, including HTC, which has produced notable models such as the Desire HD, Evo 4G, DROID ERIS, Desire Z, Hero, Desire, Tattoo, Wildfire, Droid Incredible, Legend, Magic, Google Nexus One, Dream, Aria, and Paradise.

LG với các dòng GT540 Optimus, Optimus Chic E720, Optimus One P500, GW620, Optimus Z, Optimus Q, KH5200 Andro-1, GW880, C710Aloha

MOTOROLA với các dòng MILESTONE 2, BACKFLIP, Droid XTreme, MT710 ZHILING, MILESTONE, XT720 MOTOROI, A1680, XT800 ZHISHANG, DEFY, CHARM, XT806

SAMSUNG với các dòng máy I9000 Galaxy S, Galaxy Tab, Epic 4G, i5510, I5500 Galaxy 5, I7500 Galaxy, I5800 Galaxy 3, M110S Galaxy S, I6500U Galaxy, Galaxy Q, I5700 Galaxy Spica, I8520 Galaxy Beam, I909 Galaxy S

SONY : XPERIA X10, XPERIA X10 mini, XPERIA X8

ACER với các dòng máy beTouch T500, Liquid E, Stream, Liquid, beTouch E110, beTouch E130, beTouch E400, beTouch E120, Liquid Metal

Ngoài ra còn nhiều hãng điện thoại vừa và nhỏ khác nữa cũng sử dụng hệ điều hành android trong sản phẩm của mình [2].

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

The Android operating system is structured in four layers, starting from the bottom with the Linux kernel (version 2.6), followed by the Libraries and Android runtime layer, then the Application Framework layer, and finally, the topmost layer, which is the Application layer.

Hình 1.3 Kiến trúc của Hệ điều hành Android

Hệ điều hành Android được xây dựng dựa trên hạt nhân Linux, cụ thể là phiên bản 2.6, điều này thể hiện rõ ở lớp nền tảng của nó Tất cả các hoạt động của Android đều phụ thuộc vào hạt nhân này.

The functionalities of a smartphone are executed at a low level within the system layer, encompassing essential tasks such as memory management, hardware communication through driver models, security implementation, and process management.

Mặc dù được phát triển trên nền tảng nhân Linux, nhưng nhân Linux đã trải qua nhiều nâng cấp và sửa đổi để phù hợp với đặc điểm của các thiết bị cầm tay, như giới hạn về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình và nhu cầu kết nối mạng không dây.

- Tầng này có các thành phần chủ yếu :

Driver hiển thị chịu trách nhiệm điều khiển việc hiển thị nội dung lên màn hình và tiếp nhận các thao tác của người dùng như di chuyển và cảm ứng Trong khi đó, driver camera quản lý hoạt động của camera và nhận luồng dữ liệu trả về từ thiết bị này.

Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth

USB driver : Quản lý hoạt động của các cổng giao tiếp USB

Keypad driver : Điều khiển bàn phím

Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi

Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dạng audio thành tín hiệu số và ngược lại

Binder IPC Driver đóng vai trò quan trọng trong việc kết nối và giao tiếp với các mạng vô tuyến như CDMA, GSM, 3G, 4G và 5G, đảm bảo rằng các chức năng truyền thông được thực hiện một cách hiệu quả.

M-System Driver : Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ SD, flash

Power Madagement : Giám sát việc tiêu thụ điện năng

1.2.2 Tầng thư viện và thực thi Android 2

Phần này có 2 thành phần là phần Library và Android Runtime : a Phần thư viện

- Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như :

Thư viện hệ thống (System C library) : thư viện dựa trên chuẩn C, được sử dụng chỉ bởi hệ điều hành

Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng

Thư viện web (LibWebCore) là một thành phần quan trọng cho việc hiển thị nội dung trên web, được sử dụng trong phần mềm duyệt web (Android Browse) và cho phép các ứng dụng khác nhúng vào Nó hỗ trợ nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM và AJAX Bên cạnh đó, thư viện SQLite cung cấp hệ cơ sở dữ liệu cho các ứng dụng, giúp quản lý và lưu trữ dữ liệu hiệu quả.

Trong bài viết này, chúng ta sẽ khám phá các thư viện cần thiết cho chương trình Java, bao gồm hai phần chính: thư viện lõi (Core Library) với các lớp như JAVA IO, Collections và Tệp Access, cùng với máy ảo Java (Dalvik Virtual Machine).

Mặc dù ứng dụng Java trên hệ điều hành Android được phát triển bằng ngôn ngữ Java, nhưng nó không chạy trên JRE của Sun (hiện nay là Oracle) mà sử dụng máy ảo Dalvik do Google phát triển.

Tầng này cung cấp bộ công cụ và các phần tử cao cấp, giúp lập trình viên dễ dàng và nhanh chóng xây dựng ứng dụng Được phát triển bằng ngôn ngữ Java, bộ công cụ này có khả năng sử dụng chung, từ đó tiết kiệm tài nguyên hiệu quả.

- Đây là một nền tảng mở, điều đó có 2 điều lợi:

Các hãng sản xuất điện thoại có thể tùy biến hệ điều hành Android để phù hợp với cấu hình và mẫu mã sản phẩm của họ, đáp ứng thị hiếu người dùng Do đó, điện thoại của Google có thể khác biệt hoàn toàn so với các thương hiệu như Motorola, HTC, T-Mobile hay Samsung, mặc dù chúng đều sử dụng nền tảng Android.

Lập trình viên có thể sử dụng các API ở tầng trên mà không cần hiểu rõ cấu trúc bên dưới, giúp họ tự do sáng tạo và tập trung vào nội dung ứng dụng Các API hữu ích như hệ thống định vị, dịch vụ chạy nền, giao tiếp giữa các ứng dụng và các thành phần giao diện cấp cao được xây dựng sẵn, mang lại nhiều tiện ích cho lập trình viên.

Giới thiệu một số thành phần của phần này :

Activity Manager : Quản lý các chu kỳ sống của một ứng dụng cũng như cung cấp công cụ điều khiển các Activity

Telephony Manager : Cung cấp công cụ để thực hiện việc liên lạc như gọi điện thoại

XMPP Service : Cung cấp công cụ để liên lạc trong thời gian thực

Location Manager : Cho phép xác định vị trí của điện thoại thoại dựa vào hệ thống định vị toàn cầu GPS và Google Maps

Window Manager : Quản lý việc xây dựng và hiển thị các giao diện người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

Notication Manager : Quản lý việc hiển thị các thông báo (như báo có tin nhắn, có e-mail mới )

Quản lý tài nguyên là quá trình quản lý các tài nguyên tĩnh của ứng dụng, bao gồm tệp hình ảnh, âm thanh, bố cục và chuỗi Những thành phần này không được viết bằng ngôn ngữ lập trình, nhưng đóng vai trò quan trọng trong việc tạo nên giao diện và trải nghiệm người dùng của ứng dụng.

1.2.4 Tầng ứng dụng 4 Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như :

Essential applications that come pre-installed with the operating system include phone calls, contact management, web browsing, SMS messaging, email clients, maps, and camera functions for capturing photos and videos.

Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi (Game), từ điển Các chương trình có các đặc điểm là :

Viết bằng Java, phần mở rộng là apk

Mỗi ứng dụng khi chạy sẽ khởi tạo một phiên bản Virtual Machine để phục vụ cho hoạt động của nó Phiên bản này có thể là một chương trình hoạt động với giao diện người dùng (Active Program) hoặc là một chương trình chạy nền (background) hay dịch vụ.

Mô tả hệ điều hành Android

Giao diện người dùng của Android sử dụng nguyên tắc tác động trực tiếp với cảm ứng chạm, cho phép người dùng thực hiện các động tác như vuốt, chạm, kéo giãn và thu lại trên màn hình Phản hồi từ hệ thống diễn ra gần như ngay lập tức, tạo ra trải nghiệm mượt mà và thường sử dụng tính năng rung để cung cấp phản hồi cho người dùng Ngoài ra, các thiết bị phần cứng như gia tốc kế, con quay hồi chuyển và cảm biến khoảng cách cũng được tích hợp để cải thiện trải nghiệm, như tự động chuyển đổi giữa chế độ hiển thị dọc và ngang hoặc cho phép điều khiển xe đua bằng cách xoay thiết bị.

Hình 1.4 Giao diện Android 6.0.1 Marshmallow trên điện thoại LG Nexus 5X

Màn hình chính của thiết bị Android hiển thị các thông tin quan trọng và tương tự như desktop trên máy tính để bàn, với nhiều biểu tượng ứng dụng và tiện ích cập nhật tự động như dự báo thời tiết và tin tức Người dùng có thể tùy chỉnh giao diện màn hình chính, sắp xếp theo sở thích và thay đổi "chủ đề" thông qua các ứng dụng từ Google Play Các nhà sản xuất thường điều chỉnh hình dáng và hành vi của thiết bị để tạo sự khác biệt Thanh trạng thái ở trên cùng màn hình cung cấp thông tin về thiết bị và tình trạng kết nối, có thể kéo xuống để xem thông báo quan trọng mà không gây gián đoạn Người dùng có thể nhấn vào thông báo để mở ứng dụng tương ứng, và thông báo sẽ tồn tại cho đến khi được đọc hoặc xóa.

Hình 1.5 Thanh trạng thái trên Android 6.0

Hình 1.6 Kho ứng dụng CHPlay của Android

Android ngày càng có nhiều ứng dụng bên thứ ba, được cung cấp qua cửa hàng ứng dụng như Google Play và Amazon Appstore, hoặc tải xuống trực tiếp 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 được tự động lọc theo thiết bị 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 Nếu người dùng không hài lòng với ứng dụng đã mua, họ có thể yêu cầu hoàn tiền trong vòng 15 phút Đến tháng 9 năm 2012, đã có hơn 675.000 ứng dụng dành cho Android và ước tính có 25 tỷ lượt tải 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ông cụ gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại, 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 (IDE) chính thức là Eclipse với phần bổ sung Android Development Tools (ADT), cùng với các công cụ phát triển khác như Bộ phát triển gốc cho 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 Tại Trung Quốc, các thiết bị Android thường bị điều chỉnh để chỉ sử dụng các dịch vụ đã được phê duyệt do sự Kiểm duyệt Internet.

Sự đón nhận của người dùng đối với hệ điều hành Android

Khi Android ra mắt vào năm 2007, nó nhận được sự đón nhận thờ ơ, mặc dù các nhà phân tích ấn tượng với sự hợp tác giữa các công ty công nghệ lớn và Google để thành lập Liên minh thiết bị di động mở Sự không chắc chắn về việc các nhà sản xuất có sẵn sàng chuyển sang Android hay không vẫn tồn tại, mặc dù ý tưởng về một nền tảng mã nguồn mở dựa trên Linux thu hút sự quan tâm Tuy nhiên, Android phải đối mặt với sự cạnh tranh khốc liệt từ các ông lớn như Nokia và Microsoft, cũng như các hệ điều hành di động khác đang phát triển trên nền tảng Linux Sự hoài nghi từ các công ty hàng đầu thể hiện rõ, với Nokia tuyên bố không xem Android là mối đe dọa và một thành viên từ nhóm Windows Mobile của Microsoft bày tỏ sự không hiểu về tác động của Android trong tương lai.

Kể từ khi ra mắt, Android đã phát triển thành hệ điều hành di động phổ biến nhất thế giới, mang đến "trải nghiệm di động nhanh nhất hiện nay." Sự nổi bật của Android nằm ở tính mã nguồn mở, cho phép các công ty như Kindle Fire, Barnes & Noble (Nook), Ouya, và Baidu tùy chỉnh phần mềm và phát hành phần cứng chạy trên phiên bản Android riêng Kết quả là, Android đã được Ars Technica mô tả là một nền tảng mạnh mẽ và linh hoạt.

Hệ điều hành Android thường là lựa chọn mặc định cho phần cứng mới của các công ty không sở hữu nền tảng di động riêng Sự linh hoạt và mở rộng này không chỉ xuất hiện ở cấp độ nhà sản xuất mà còn ở người dùng cuối, cho phép họ tùy chỉnh thiết bị theo ý thích Các ứng dụng Android có sẵn trên nhiều cửa hàng ứng dụng và trang web không phải của Google, điều này góp phần tạo nên những lợi thế nổi bật cho điện thoại Android so với các dòng điện thoại khác.

Android thường bị chỉ trích vì thiếu hỗ trợ hậu mãi từ nhà sản xuất và nhà mạng, đặc biệt khi so với iOS của Apple Đối với các thiết bị không mang nhãn hiệu Nexus, nhà mạng thường kiểm tra và điều chỉnh tiêu chuẩn riêng cho từng thiết bị, dẫn đến việc trì hoãn cập nhật Nhiều nhà bình luận cho rằng ngành công nghiệp di động cố tình không cập nhật thiết bị hiện tại nhằm thúc đẩy người tiêu dùng mua sắm thiết bị mới vì lý do lợi nhuận.

*Thị phần và tỷ lệ sử dụng

Theo ước tính của công ty nghiên cứu thị trường Canalys, trong quý 2 năm 2009, Android chiếm 2,8% thị phần điện thoại thông minh toàn cầu Đến quý 4 năm 2009, con số này đã có sự thay đổi đáng kể.

Từ năm 2010, Android đã chiếm 33% thị phần và trở thành nền tảng điện thoại thông minh bán chạy nhất Đến quý 3 năm 2011, Gartner ước tính rằng hơn một nửa (52,5%) thị trường điện thoại thông minh thuộc về Android Đến quý 3 năm 2012, theo nghiên cứu của IDC, Android đã đạt 75% thị phần điện thoại thông minh toàn cầu.

Vào tháng 7 năm 2011, Google công bố rằng mỗi ngày có 550.000 thiết bị Android mới được kích hoạt, với đỉnh điểm là 400.000 máy vào tháng 5 cùng năm Tổng số thiết bị đã được kích hoạt vượt qua 100 triệu, với tỷ lệ tăng trưởng 4,4% mỗi tuần Đến tháng 9 năm 2012, sự phát triển này tiếp tục thu hút sự chú ý của thị trường.

500 triệu thiết bị đã được kích hoạt với 1,3 triệu lượt kích hoạt mỗi ngày

Thị phần của Android có khác nhau theo khu vực Vào tháng 7 năm 2012, thị phần Android tại Mỹ là 52%, nhưng lên tới 90% tại Trung Quốc

* Tỷ lệ sử dụng các phiên bản Android

Tính đến tháng 4 năm 2014, phiên bản 4.1.x Jelly Bean của hệ điều hành Android, phát hành vào ngày 9 tháng 7 năm 2012, vẫn chiếm ưu thế trên nhiều thiết bị nhờ tính ổn định và khả năng hỗ trợ tốt cho các máy có cấu hình thấp.

Hình 1.7 Tỷ lệ sử dụng các phiên bản Android

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID

Môi trường phát triển

Android Studio là môi trường phát triển tích hợp (IDE) chính thức dành cho phát triển các ứng dụng chạy trên nền tảng Android[1]

Nó được ra mắt vào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O Android Studio được phát hành miễn phí theo giấy phép Apache Licence 2.0

Hình 2.1 Giao diện phần mềm Android Studio

Android Studio, dựa trên nền tảng IntelliJ IDEA Community Edition, cho phép lập trình viên phát triển ứng dụng một cách dễ dàng với tính năng xem trước thời gian thực Công cụ này không chỉ giúp tăng tốc quy trình phát triển sản phẩm mà còn hỗ trợ thiết kế giao diện đẹp hơn Đặc biệt, Android Studio cũng hỗ trợ tiếng Việt, mang lại sự thuận tiện cho người dùng trong quá trình lập trình.

Android Studio cung cấp nhiều giả lập để kiểm tra ứng dụng, giúp bạn yên tâm rằng mọi chức năng hoạt động tốt ngay cả khi không có thiết bị thực tế Ngoài ra, các công cụ như lời khuyên tối ưu hóa, đồ thị doanh số và số liệu từ phân tích hỗ trợ các nhà phát triển quản lý hiệu quả ứng dụng của mình và xác định chiến lược phù hợp cho từng thiết bị Android.

Android Studio is the official IDE from Google for developing native Android applications, supporting Windows, Mac OS X, and Linux operating systems It replaces the Android Development Tools (ADT) that were based on Eclipse.

2.1.2 Bộ công cụ phát triển Java SE Development Kit (JDK)

JDK là một bộ công cụ phát triển Java, nó dành cho những người lập trình Java để phát triển ứng dụng Về cơ bản nó bao gồm:

JRE (Java Runtime Environment) là một môi trường chạy ứng dụng Java

Javac là một chương trình chuyển đổi mã nguồn Java thành mã bytecode Khi ứng dụng Java được thực thi, mã bytecode sẽ được biên dịch thành mã máy tính, cho thấy rằng bytecode chỉ là một dạng mã trung gian.

Archive (jar): Là một chương trình nén các tệp thành một tệp duy nhất có đuôi jar Thường dùng để đóng gói các tệp class

Javadoc: Là một công cụ tạo ra tài liệu hướng dẫn sử dụng API

Và các công cụ khác cần thiết cho phát triển Java[1]

2.1.3 Máy ảo Android Virtual Device (AVD)

Máy ảo Android là công cụ quan trọng trong việc phát triển ứng dụng cho hệ điều hành Android, cho phép lập trình viên thử nghiệm ứng dụng trực tiếp trên máy tính Android Studio cung cấp một máy ảo mặc định gọi là Android Virtual Device (AVD), giúp tối ưu hóa quá trình lập trình và kiểm tra ứng dụng.

AVD, hay Android Virtual Device, là máy ảo Android chính thức từ Google, nổi bật với tính ổn định cao và hiệu suất tốt, tiêu tốn ít bộ nhớ hơn so với các máy ảo khác Nó hỗ trợ giả lập đa dạng thiết bị như điện thoại, máy tính bảng, thiết bị đeo và Android TV Gần đây, AVD đã tích hợp hỗ trợ ứng dụng Google Play, cho phép người dùng dễ dàng cài đặt và sử dụng các ứng dụng từ cửa hàng.

Các thành phần trong một dự án Android

2.2.1 Tệp cấu hình dự án AndroidManifest.xml

Khi tạo một dự án Android, tệp AndroidManifest.xml được tự động sinh ra và đóng vai trò quan trọng trong việc định nghĩa các màn hình, quyền truy cập và chủ đề cho ứng dụng Tệp này cũng chứa thông tin về phiên bản SDK và main activity sẽ chạy đầu tiên Trong AndroidManifest.xml, có ba thành phần chính: thành phần ứng dụng, các quyền và các phiên bản.

Thẻ, bên trong thẻ này chứa các thuộc tính được định nghĩa cho ứng dụng Android như:

- android:icon = “drawable resource” → Ở đây đặt đường dẫn đến tệp icon của ứng dụng khi cài đặt VD: android:icon = “@drawable/icon”

- android:name = “string” → thuộc tính này để đặt tên cho ứng dụng Android Tên này sẽ được hiển thị lên màn hình sau khi cài đặt ứng dụng

Thuộc tính android:theme = “drawable theme” được sử dụng để thiết lập giao diện cho ứng dụng, cho phép người dùng tùy chỉnh cách hiển thị của ứng dụng Bên cạnh đó, còn nhiều thuộc tính khác liên quan đến quyền truy xuất và sử dụng tài nguyên trong ứng dụng.

Trong tệp manifest của ứng dụng, cần khai báo các quyền truy xuất để chỉ định quyền truy cập và sử dụng tài nguyên Khi cần sử dụng một loại tài nguyên nhất định, việc chỉ định các quyền truy xuất là rất quan trọng.

c Phiên bản SDK

Thẻ xác định phiên bản SDK được khai báo như sau:

Ở đây chỉ ra phiên bản SDK thấp nhất mà ứng dụng hiện đang sử dụng

Tệp R.java được tự động tạo ra khi ứng dụng được xây dựng, chứa các thuộc tính được khai báo trong tệp XML, bao gồm id, layout, menu, class và tài nguyên hình ảnh.

Tệp R.java được tự động sinh ra khi có sự kiện thay đổi thuộc tính trong ứng dụng Ví dụ, khi bạn kéo và thả một tệp hình ảnh vào dự án, đường dẫn đến tệp đó sẽ được tạo trong R.java Ngược lại, nếu bạn xóa một tệp hình ảnh, đường dẫn tương ứng cũng sẽ bị xóa tự động.

Vòng đời ứng dụng Android

2.3.1 Chu kỳ sống của các thành phần

Các thành phần ứng dụng trải qua một chu kỳ sống, trong đó mỗi thành phần sẽ có những trạng thái khác nhau từ khi được tạo ra cho đến khi kết thúc Các trạng thái này bao gồm hoạt động (đang hiển thị hoặc đang ẩn) và không hoạt động.

Trong hệ thống quản lý activity, các activity được tổ chức thành một stack Khi một activity mới được khởi tạo, nó sẽ nằm ở đỉnh của stack và trở thành activity đang hoạt động, trong khi các activity trước đó sẽ tạm dừng và nằm dưới activity mới, không hiển thị trong suốt thời gian tồn tại của activity mới.

Nếu người dùng nhấn nút Back thì activity kế tiếp của stack sẽ di duyển lên và trở thành active

2.3.3 Các trạng thái của chu kỳ sống

Hình 2.3 Chu kỳ sống của Activity

Một Activity trong ứng dụng có bốn chu kỳ chính: đầu tiên là trạng thái active (đang chạy), khi Activity hiển thị trên màn hình và người dùng tương tác với nó Tiếp theo là trạng thái paused, khi Activity tạm dừng, vẫn hiển thị nhưng không thể tương tác do có một Activity khác ở trên Trạng thái stop xảy ra khi Activity bị thay thế hoàn toàn bởi một Activity mới, lúc này nó vẫn giữ trạng thái và thông tin nhưng không còn hiển thị cho người dùng Cuối cùng, trạng thái killed diễn ra khi hệ thống thiếu bộ nhớ, dẫn đến việc giải phóng các Activity ở trạng thái stop hoặc paused, yêu cầu khởi động lại và phục hồi trạng thái khi được hiển thị lại.

2.3.4 Thời gian sống của Activity

Entire lifetime: Từ phương thức onCreate( ) cho tới onDestroy( )

Visible lifetime: Từ phương thức onStart( ) cho tới onStop( )

Foreground lifetime: Từ phương thức onResume( ) cho tới onPause( )

Khi phát triển Activity cho ứng dụng, việc viết lại phương thức onCreate() là cần thiết để thực hiện quá trình khởi tạo Các phương thức khác có thể được điều chỉnh tùy thuộc vào yêu cầu cụ thể của lập trình.

2.3.5 Các phương thức của chu kỳ sống onCreate(): hàm này được gọi khi lớp Activity được khởi tạo, dùng để thiết lập giao diện ứng dụng và thực thi những thao tác cơ bản onStart(): hàm này được gọi khi lớp ứng dụng xuất hiện trên màn hình onResume(): hàm được gọi ngay sau OnStart hoặc khi người dùng thao tác trên ứng dụng, hàm này sẽ đưa ứng dụng lên top màn hình onPause(): hàm được gọi khi hệ thống đang hướng đến 1 activity trước đó onStop(): hàm được gọi khi một activity khác được khởi động và thao tác trên nó

The onRestart() method is triggered when an application transitions to onStop() but is intended to restart through onStart() Conversely, the onDestroy() method is called when the user presses the back button from an activity or invokes the finish() method of the activity.

Các thành phần giao diện trong Android

Những gì hiển thị trên màn hình thiết bị Android được gọi là View, tương tự như control trong các hệ điều hành khác View được vẽ dưới dạng hình chữ nhật trên thiết bị Android.

Trong ứng dụng Android, giao diện người dùng được tạo thành từ các đối tượng View và ViewGroup Các kiểu View và ViewGroup đa dạng, tất cả đều được kế thừa từ lớp View, và chúng được gọi chung là các Widget.

Tất cả các widget đều chia sẻ những thuộc tính cơ bản như cách trình bày vị trí, nền, kích thước và lề Những thuộc tính chung này được thể hiện đầy đủ trong đối tượng View.

Trong nền tảng Android, màn hình được tổ chức theo cấu trúc phân cấp, trong đó mỗi màn hình bao gồm các Layout và widget được sắp xếp theo thứ tự Để hiển thị một màn hình, trong hàm onCreate của mỗi activity, cần gọi hàm setContentView(R.layout.main); hàm này sẽ tải giao diện từ tệp XML và chuyển đổi thành mã bytecode.

ViewGroup thực chất là một loại View, cụ thể hơn, ViewGroup bao gồm các widget Layout được sử dụng để sắp xếp và bố trí các đối tượng khác trên một màn hình.

Hình 2.4 Cấu trúc một giao diện ứng dụng android

Một số view cơ bản và thường xuyên sử dụng trong Android : a TextView

TextView là một thành phần giao diện dùng để hiển thị văn bản trên màn hình mà không cho phép chỉnh sửa sau khi ứng dụng được khởi chạy Nó được định nghĩa bằng thẻ trong tệp XML và yêu cầu hai thuộc tính chính là layout_width và layout_height.

TextView properties include android:id for identifying the TextView, android:text for displaying the text, android:textColor for setting the text color, android:textSize for defining the text size, and android:textStyle for specifying the text style, which can be italic, bold, or normal Additionally, EditText is another important component in Android development.

EditText là một view được sử dụng để nhận giá trị từ người dùng thông qua việc nhập liệu Trong XML, EditText được định nghĩa bằng thẻ Một số thuộc tính thường gặp của lớp EditText bao gồm:

Một số thuộc tính của EditText: android:text: Xác định text hiển thị lên EditText android:textColor: Xác định màu của text

Kích thước văn bản được xác định bởi thuộc tính android:textSize, trong khi thuộc tính android:textStyle cho phép bạn chọn kiểu chữ như italic (nghiêng), bold (in đậm) hoặc normal (kiểu thường) Để lấy giá trị văn bản từ EditText trong Java, bạn có thể thực hiện theo cách sau:

Bước 1: Lấy về EditText thông qua id trong file xml

EditText edt; edt = (EditText) findViewById(R.id.edittext);

Bước 2: Sử dụng phương thức getText() của EditText để lấy text

String value = edt.getText().toString(); c Button

Button là một thành phần giao diện quan trọng trong Android, thường được sử dụng cùng với EditText và TextView Chức năng chính của Button là thực hiện một nhiệm vụ cụ thể khi người dùng nhấn vào nó thông qua phương thức onClick.

Ví dụ về Button khai báo trong file xml

Các thuộc tính của Button trong Android bao gồm: android:id để xác định ID cho Button, android:text để chỉ định văn bản hiển thị trên Button, android:textColor để xác định màu văn bản, và android:background để thiết lập màu nền Để thực hiện các lệnh khi nhấn vào Button, bạn cần thực hiện các bước cụ thể.

Bước 1: Lấy về đối tượng Buton thông qua id được khai báo button ở file xml Button btnClick = (Button)findViewById(R.id.btn_click);

Bước 2: Thiết lập bộ lắng nghe sự kiện cho nút Button bằng phương thức setOnClickListener, và xử lý các công việc cần thực hiện trong phương thức onClick như sau: btnClick.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {} });

ImageView là một view sử dụng rất nhiều trong ứng dụng android, ImageView sử dụng để hiển thị hình ảnh

Ví dụ khai báo ImageView trong file xml :

Common attributes of ImageView include android:id, which defines the ID; android:src, which specifies the image or drawable source; and android:scaleType, which determines how the image is displayed within the ImageView, with options such as fitCenter, fitStart, fitEnd, center, centerCrop, centerInside, and matrix.

Danh sách thông tin có thể được hiển thị trên màn hình thông qua một ListView, với mỗi dòng thông tin thường được tải từ một tệp XML đã được định sẵn về số lượng và loại thông tin Để hiển thị danh sách này, cần có bốn thành phần cơ bản.

- Data Source: Data Source có thể là một ArrayList, HashMap hoặc bất kỳ một cấu trúc dữ liệu kiểu danh sách nào

An adapter serves as an intermediary class that maps data from a Data Source to the appropriate display positions in a ListView For example, if the Data Source contains a field named "name," the adapter ensures that this field is correctly represented in a TextView within the ListView.

29 này Tuy nhiên, ListView sẽ không thể hiển thị dữ liệu trong Data Source lên được nếu như Adapter không gán dữ liệu vào cho đối tượng hiển thị

- Bản vẽ ( Layout) xml : Nơi thiết kế các cách hiển thị của ListView khi hiện thị lên màn hình

CƠ SỞ DỮ LIỆU WEB VÀ DỊCH VỤ WEB

Mạng Internet

Internet là mạng máy tính toàn cầu, cho phép truy cập công cộng và kết nối hàng ngàn mạng nhỏ từ doanh nghiệp, viện nghiên cứu, trường đại học, cá nhân và chính phủ Hệ thống này sử dụng công nghệ chuyển mạch gói dữ liệu (packet switching) và giao thức IP chuẩn hóa để truyền thông tin hiệu quả.

3.1.2 Lợi ích của Internet trong cuộc sống

Mạng Internet cung cấp nhiều tiện ích hữu ích cho người dùng, bao gồm hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), công cụ tìm kiếm (search engine), và các dịch vụ thương mại, chuyển ngân Ngoài ra, Internet còn hỗ trợ các dịch vụ y tế và giáo dục như chữa bệnh từ xa và tổ chức lớp học ảo, mang đến một lượng thông tin và dịch vụ phong phú.

Internet và WWW là hai khái niệm khác nhau; Internet là mạng lưới máy tính kết nối qua dây và cáp quang, trong khi WWW là tập hợp các tài liệu liên kết qua siêu liên kết và địa chỉ URL WWW chính là môi trường giao tiếp chính của người dùng trên Internet Sự phát triển của trình duyệt web và hệ quản trị nội dung nguồn mở trong thập kỷ đầu của thế kỷ 21 đã làm cho website trở nên phổ biến, đồng thời thế hệ web 2.0 đã thúc đẩy cuộc cách mạng web, biến nó thành phần mềm trực tuyến hay phần mềm như một dịch vụ.

3.1.3 Các chương trình duyệt Web thông dụng hiện nay

Internet Explorer, Microsoft Edge có sẵn trong Microsoft Windows, của Microsoft

Mozilla Firefox của Tập đoàn Mozilla

Safari trong Mac OS X, macOS, iOS của Apple Computer

Avant Browser của Avant Force (Ý)

Cách phổ biến để truy cập Internet bao gồm sử dụng mạng không dây, kết nối vệ tinh và thiết bị di động như điện thoại cầm tay, iPad, iPhone, Samsung Galaxy cùng nhiều dòng điện thoại cảm ứng khác.

Web Hosting

Web Hosting là dịch vụ cung cấp không gian lưu trữ trên máy chủ cho các hoạt động Internet như website (www), truyền tải file (FTP) và email Nó thường được sử dụng để lưu trữ nội dung của trang web hoặc dữ liệu liên quan.

Web Hosting đồng thời cũng là nơi diễn ra tất cả các hoạt động giao dịch, trao đổi thông tin giữa người sử dụng Internet và Website

Mỗi website đều có một host, khi truy cập vào website đó, thực ra là chúng ta đang truy cập vào host chứa website

Khi chúng ta có một tệp tin trên máy tính ở dạng Localhost và muốn chia sẻ với người khác, chúng ta cần tải tệp đó lên mạng Nơi lưu trữ tệp tin này được gọi là hosting.

Hình 3.1 Web Hosting là gì?

Shared hosting: Chia sẻ host

Collocated hosting: Thuê chỗ đặt máy chủ

Dedicated Server: Máy chủ dùng riêng

Virtual Private Server: VPS là máy chủ riêng ảo

3.2.3 Các thông số cần biết trong web hosting

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ợ 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 website Mặc dù Hosting Windows cũng hỗ trợ ngôn ngữ PHP, nhưng ưu tiên hàng đầu vẫn 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 bạn 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

3.2.4 Tại sao cần phải mua web hosting ?

Nếu không có hosting, website chỉ có thể hoạt động trên máy tính dưới dạng Localhost và không thể chia sẻ dữ liệu trên mạng Do đó, việc sở hữu một gói hosting là rất cần thiết để website có thể hoạt động hiệu quả.

3.2.5 Cách đăng kí một web hosting miễn phí

Bước 1: Truy cập website : https://vn.000webhost.com Sau đó chọn Đăng kí miễn phí

Hình 3.2 Giao diện trang chủ website

Bước 2 : Tiếp theo, bạn điền vào form đăng ký Nhập địa chỉ email, password và tên website Chọn nút Nhận Hosting miễn phí

Hình 3.3 Giao diện đăng kí tài khoản

Sau đó, bạn vào hòm mail và thực hiện xác nhận email Khi xác nhận mail xong website sẽ hiện ra giao diện như sau:

Hình 3.4 Giao diện website khi đăng kí thành công

To retrieve the source code file, use an FTP Client like FileZilla to access your 000webhost server or directly manage it through the web service You can find the connection details by navigating to Settings -> General.

Hình 3.5 Các thông tin để kết nối với Filezilla

Để truy xuất và kết nối cơ sở dữ liệu lên Web service, bước 4 là quản lý các file đuôi php Đầu tiên, bạn cần chọn "File manager" và sau đó nhấn "Upload file now" như trong hình minh họa.

Hình 3.6 Cách up file lên web service

Bước 5: Tại màn hình đăng nhập, ta sẽ sử dụng Username và password như ở trong mục Setting(hình 3.5)

Hình 3.7 Màn hình đăng nhập cảu File manager

Trong thư mục public_html, ta có thể upload những file,tài liệu,hình ảnh… lên web service bằng cách chọn Upload files

Hình 3.8 Cách up files lên web service

Bước 6 : Về lấy cơ sở dữ liệu bạn vào Manage Database Sau đó ấn New

Hình 3.9 Cách tạo một Database

Tại cửa sổ Create new database điền name của database,username để đăng nhập vào database và password, sau đó chọn Create để tạo

Hình 3.10 Cách tạo một Database

Sau khi tạo xong sẽ có 1 database như hình gồm có đầy đủ những thông số như

DB name, DB user và DB Host Để truy cập vào PhpMyAdmin để quản trị cơ sở dữ liệu ta chọn Manage -> PhpMyAdmin

Hình 3.11.Cách truy cập vào phpMyAdmin

Khi truy cập vào PhpMyAdmin, bạn sẽ thấy cơ sở dữ liệu mới được tạo có tên là id420182_db_doan Tại đây, có hai phương pháp để thêm bảng vào cơ sở dữ liệu này.

Cách 1 là khi ta đã có 1 database ở dạng localhost rồi thì ta chỉ cần xuất những bảng đó ra và nhập vào trong database mới

Cách 2 đó là tạo các bảng mới bằng cách chọn nút mới, sau đó nhập tên bảng,các thuộc tính trong bảng,các kiểu của thuộc tính …

Hình 3.12 Cách thêm bảng trong database

Như vậy bạn sẽ có file sql chứa cơ sở dữ liệu của website.

Cơ sở dữ liệu web

Cơ sở dữ liệu Web là ứng dụng quản lý và truy cập dữ liệu qua Internet, cho phép các nhà khai thác trang web quản lý bộ sưu tập dữ liệu và trình bày kết quả phân tích Xuất hiện lần đầu vào những năm 1990, cơ sở dữ liệu Web đã trở thành tài sản quý giá cho doanh nghiệp, giúp thu thập và phân tích dữ liệu dường như vô hạn từ khách hàng.

Cơ sở dữ liệu Web cho phép thu thập và tổ chức dữ liệu một cách hiệu quả với hàng trăm thông số mà không yêu cầu kỹ năng máy tính cao Nhiều phần mềm cơ sở dữ liệu cung cấp giao diện "click-and-create", giúp người dùng dễ dàng tạo và lưu trữ các bản ghi mà không cần mã hóa phức tạp Bạn có thể tổ chức dữ liệu theo cách riêng, như theo thời gian, thứ tự bảng chữ cái hoặc theo các thông số cụ thể.

3.3.3 Phần mềm Cơ sở dữ liệu Web

Các chương trình phần mềm cơ sở dữ liệu Web phổ biến bao gồm Microsoft Office Access, OpenOffice Base, Webex WebOffice và FormLogix Những ứng dụng này cho phép người dùng thiết lập mẫu thu thập dữ liệu, thăm dò ý kiến và mẫu phản hồi, đồng thời phân tích dữ liệu hiện tại trong thời gian thực.

Các doanh nghiệp, từ lớn đến nhỏ, có thể tận dụng cơ sở dữ liệu Web để tạo ra các cuộc thăm dò, mẫu phản hồi và quản lý hàng tồn kho Cơ sở dữ liệu này hoàn toàn tùy chỉnh để đáp ứng nhu cầu cụ thể của từng cá nhân hoặc doanh nghiệp.

3.3.5 Hệ quản trị CSDL MySQL

MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ, nhanh chóng và dễ sử dụng, hoạt động trên nhiều hệ điều hành với khả năng chuyển giao cao Với tốc độ xử lý nhanh và tính bảo mật tốt, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu qua internet Bạn có thể tải MySQL miễn phí từ trang chủ, và nó là một trong những ví dụ tiêu biểu về cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).

MySQL là một hệ quản trị cơ sở dữ liệu phổ biến, hỗ trợ các ngôn ngữ lập trình như PHP và Perl, giúp lưu trữ thông tin cho các trang web Nó có nhiều phiên bản tương thích với các hệ điều hành khác nhau, bao gồm Win32 cho Windows, cùng với Linux, Mac OSX, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris và SunOS.

Dịch vụ web

Sự kết hợp giữa các ứng dụng trên máy tính cá nhân, thiết bị di động và các thiết bị khác, cùng với cơ sở dữ liệu và mạng máy tính, tạo ra một hệ thống tính toán hoàn hảo Người dùng có thể làm việc, yêu cầu, phân tích, khai thác và cập nhật thông tin thông qua Internet hoặc Wifi.

Theo định nghĩa của W3C (World Wide Web Consortium):

Dịch vụ Web là một 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 và cấu trúc gắn kết được mô tả bằng XML.

Là tài nguyên phần mềm có thể xác định bằng địa chỉ URL

Thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu Ứng dụng cơ bản của Dịch vụ Web là tích hợp các hệ thống

Các ứng dụng tích hợp với cơ sở dữ liệu cho phép người dùng tương tác để phân tích và truy xuất dữ liệu một cách hiệu quả.

3.4.2 Các công nghệ xây dựng dịch vụ Web

Phân loại dịch vụ Web cho ứng dụng di động sử dụng NET Framework phiên bản 4.5.3 dựa trên công nghệ xây dựng hiện nay bao gồm các công nghệ chính sau:

3.4.3 Đặc điểm của dịch vụ Web a Ưu điểm

- Cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm khác nhau chạy trên những nền tảng khác nhau[5]

- Sử dụng các giao thức và chuẩn mở

- Nâng cao khả năng tái sử dụng

- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại

- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

Thúc đẩy hệ thống tích hợp giúp giảm sự phức tạp và hạ giá thành hoạt động, đồng thời phát triển hệ thống nhanh chóng và tương tác hiệu quả với các doanh nghiệp khác Tuy nhiên, cũng cần lưu ý đến những khuyết điểm có thể phát sinh trong quá trình triển khai.

- Vào những khoảng thời gian chết của Web service sẽ dẫn đến những thiệt hại lớn[5]:

Giao diện không thay đổi

Có thể lỗi nếu một máy khách không được nâng cấp

Thiếu các giao thức cho việc vận hành

- Có quá nhiều chuẩn cho Web Service khiến người dùng khó nắm bắt

- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

3.4.4 Kiến trúc của dịch vụ Web a Mô hình hoạt động

Hình 3.14 Mô hình hoạt động của Web Service

42 b Dịch vụ Web gồm có 4 chuẩn chính:

1) SOAP (Simple Object Access Protocol)

2) WSDL (Web Service Description Language)

3) UDDI (Universal Description, Discovery, and Integration)

Hình 3.15 Xây dựng và triển khai Web Service cho ứng dụng di động

SOAP là một giao thức giao tiếp được cấu trúc dưới dạng XML, cho phép các ứng dụng trao đổi thông tin một cách hiệu quả Ý tưởng phát triển SOAP xuất phát từ Microsoft và phần mềm Userland, nhằm tạo ra một định dạng chung cho việc truyền dữ liệu giữa các hệ thống khác nhau.

SOAP là một giao thức trao đổi dữ liệu dựa trên các thông điệp được định dạng bằng XML Nó bao gồm ba khái niệm cơ bản: thông điệp XML được gửi từ bên gửi đến bên nhận, và bên nhận có khả năng chuyển tiếp dữ liệu đến địa điểm khác Đặc trưng của SOAP giúp đảm bảo tính linh hoạt và khả năng tương tác giữa các hệ thống khác nhau.

SOAP được thiết kế đơn giản và dễ mở rộng

Tất cả các message SOAP đều được mã hóa sử dụng XML

SOAP sử dùng giao thức truyền dữ liệu riêng

Không có garbage collection phân tán, và cũng không có cơ chế tham chiếu

Vì thế SOAP client không giữ bất kỳ một tham chiếu đầy đủ nào về các đối tượng ở xa

SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nào hoặc công nghệ nào

WSDL là một ngôn ngữ dựa trên nền XML dùng để định vị và mô tả WS WSDL là viết tắt của Web services Description language

WSDL dựa trên nền tảng XML

WSDL được dùng để mô tả WS

WSDL được dùng để định vị WS

WSDL là một tiêu chuẩn W3C

WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML, bao gồm các thông tin[7] :

Khi gọi các hàm của web service, giao thức và kiểu mã hóa sẽ được áp dụng Thông tin bao gồm các thao tác, tham số và kiểu dữ liệu, cùng với giao diện của web service và tên tương ứng của giao diện đó.

Phần giao diện mô tả giao diện và giao thức kết nối, phần thi hành mô tả thông tin để truy xuất service

UDDI là một thư mục dịch vụ, nơi mà chúng ta có thể đăng ký và tìm kiếm các dịch vụ web

UDDI là viết tắt của Universal Description, Discovery and integration UDDI là một thư mục dùng để lưu trữ thông tin về các dịch vụ web

UDDI là một thư mục các giao diện dịch vụ web được mô tả bởi WSDL UDDI giao tiếp thông qua SOAP

UDDI là một thành phần quan trọng trong nền tảng Microsoft NET, giúp client tìm kiếm và ghi nhận thông tin về các dịch vụ web Để sử dụng dịch vụ, client cần biết cách truy cập và thông tin về nhà cung cấp dịch vụ UDDI định nghĩa các thành phần cần thiết để hỗ trợ client trong việc truy tìm và nhận thông tin cần thiết cho việc sử dụng dịch vụ web.

Cấu trúc UDDI gồm các thành phần:

Trang trắng chứa thông tin liên hệ và các định dạng chính của dịch vụ web, bao gồm tên giao dịch và địa chỉ Những thông tin này giúp các đối tượng khác nhận diện và xác định dịch vụ một cách dễ dàng.

Danh bạ vàng: cung cấp thông tin mô tả về dịch vụ web theo các loại khác nhau Thông tin này giúp người dùng dễ dàng tìm kiếm dịch vụ web dựa trên từng loại cụ thể.

Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của web service để tìm kiếm

REST (Representational State Transfer) là một kiến trúc phần mềm phổ biến cho các hệ thống phân tán siêu truyền thông như WWW, thường được ưa chuộng hơn so với dịch vụ Web dựa trên SOAP và WSDL Đặc điểm nổi bật của REST bao gồm tính đơn giản, khả năng mở rộng và hiệu suất cao, giúp cải thiện trải nghiệm người dùng trong các ứng dụng web.

Phân tách giao diện của client ra khỏi dữ liệu

Cho phép mỗi thành phần phát triển độc lập

Hỗ trợ đa nền tảng

Mỗi yêu cầu từ khách hàng cần cung cấp đầy đủ thông tin để máy chủ có thể hiểu mà không cần lưu trữ dữ liệu trước đó.

Tất cả tài nguyên được truy cập thông qua một interface thống nhất (HTTP GET, PUT, POST, DELETE, )

3.4.5 Các thành phần chính của dịch vụ web

XML – eXtensible Markup Language/ JSON (JavaScript Object Notation) WSDL – Web Service Description Language Universal Description, Discovery, and Integration (UDDI)

SOAP – Simple Object Access Protocol

WADL - Web Application Description Language[5]

3.4.6 Xây dựng một dịch vụ Web

- Có 4 giai đoạn chính để xây dựng một dịch vụ Web[5] :

Giai đoạn xây dựng : phát triển và chạy thử ứng dụng dịch vụ Web, xây dựng các chức năng và định nghĩa dịch vụ

Giai đoạn triển khai công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai mã thực thi của dịch vụ Web

Giai đoạn tiến hành tìm kiếm và gọi thực thi dịch vụ Web bởi những người sử dụng dịch vụ

Giai đoạn quản lý dịch vụ bao gồm việc duy trì sự ổn định, cập nhật thông tin mới và sửa lỗi khi phát sinh.

- Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:

1) Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung cấp

2) Tạo WSDL cho dịch vụ

3) Xây dựng SOAP hoặc REST server

4) Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy xuất

5) Client nhận tập tin WSDL và từ đó xây dựng SOAP hoặc REST client để có thể kết nối với SOAP hoặc REST server

6) Xây dựng ứng dụng phía client và sau đó gọi thực hiện dịch vụ thông qua việc kết nối tới SOAP hoặc REST server

3.4.7 Các dạng tương tác giữa Web Service với ứng dụng trên TBDĐ a XML - eXtensible Markup Language

Là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị

Là một dạng chuẩn cho phép lưu các thông tin hướng cấu trúc, được tổ chức dưới dạng thẻ (tag) tương ứng

Các thẻ XML thường không được định nghĩa sẵn mà được tạo ra theo quy ước của người dùng hoặc chương trình tạo XML, dựa trên những quy tắc do người tạo đặt ra.

Giúp đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet

Sử dụng các khai báo kiểu dữ liệu DTD (Document Type Definition) hay lược đồ Schema để mô tả dữ liệu

46 b Định dạng JSON - JavaScript Object Notation Định nghĩa dữ liệu theo ngôn ngữ JavaScript, tiêu chuẩn ECMA-262 năm

Là một định dạng văn bản đơn giản với các trường dữ liệu được lồng vào nhau

Dùng để trao đổi dữ liệu giữa các thành phần của một hệ thống tương thích với hầu hết các ngôn ngữ C, C++, C#, Java, JavaScript, Perl, Python

Vì sao nên sử dụng JSON?

Có thể đọc hiểu và dễ dàng tiếp cận (human-readability)

Dữ liệu truyền tải ngắn gọn so với những định dạng dữ liệu khác như: XML, HTML, … → Tiết kiệm dung lượng hơn XML, HTML,

Dễ dàng chuyển đổi (parse) dữ liệu từ dạng chuỗi (nhận từ server) sang dữ liệu có thể sử dụng được (thành Object, Number, Array)

Dễ truy cập nội dung

CHƯƠNG TRÌNH THỬ NGHIỆM

Ngày đăng: 05/08/2021, 21:53

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

TÀI LIỆU LIÊN QUAN

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

w