Webservice trong android là gì

Home » Android » Tạo Web Service bằng PHP và MYSQL cho ứng dụng di động Part 1

Tạo Web Service bằng PHP và MYSQL cho ứng dụng di động Part 1

NTC 24/03/201716/08/2019Android, Android Tutorial7 Comments on Tạo Web Service bằng PHP và MYSQL cho ứng dụng di động Part 1

Trong bài viết này mình sẽ hướng dẫn các bạn tạo Web Service bằng PHP và MYSQLđơn giản, cơ bản cho những bạn mới bắt đầu tìm hiểu về web service và PHP, cụ thể là web service trong android và hướng dẫn parse json bằng thư viện retrofit với web service đã tạo.Bạn đã từng nghe về web servicechưa, web service là gì và cách hoạt động của nó như thế?

Webservice trong android là gì
Tạo Web Service bằng PHP và MYSQL cho ứng dụng di động Part 1

Web services là gì ?

Web service là một tập các phương thức được gọi thực hiện từ xa thông qua một địa chỉ http url. Kết quả trả về của web service thường dưới dạng json hoặc xml. Web service thường được sử dụng để tạo các ứng dụng phân tán.

Web service cho phép bạn giao tiếp qua mạng, không phải P2P. Nó cung cấp API cho phép bạn sử dụng nó để tương tác với service hoặc bạn có thể tự tạo web service bằng PHP và MYSQL như trong bài viết này.
Ví dụ bạn dùng một ứng dụng di động, ứng dụng desktop, web. Thì các ứng dụng đó gửi thông tin lên webservice rồi webservice xử lý dữ liệu bạn gửi từ app đến sever và sever xử lý xong nó sẽ trả về các dữ liệu cho bạn bằng json hay xml, để xử lý dữ liệu ở app bạn sẽ phải parse json hay parse xml.

Đặc điểm của web service

  • Chi phí thấp, dễ bảo trì
  • Có thể được được truy cập từ bất kỳ ứng dụng nào
  • Không phụ thuộc vào ngôn ngữ lập trình: PHP, JAVA, .NET,
  • Hỗ trợ thao tác giữa các thành phần không đồng nhất
frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>

Tạo web service bằng PHP và MYSQL

Trước tiên để tạo web service bằng php và mysql thì bạn cần phải có server hỗ trợ ngôn ngữ php và mysql. Nếu bạn nào có chưa có hosting thì có thể tạo localhost với Xampp hoặc WampServer, các bạn không nên sử dụng hosting free vì những hosting free thường có chứa quảng cáo, khi bạn code trả về Json nó thường kèm theo các quảng cáo này gây khó khăn cho chúng ta trong việc xử lý. Trong hướng dẫn này mình dùng WampServer.

B1:Tạo một database là students_managervà bảng là studentsbao gồm các trường : id, name, age, nclass.

Sau khi cài wampserver thành công bạn vào đường dẫnhttp://localhost/phpmyadmin, userroot, pass để trống, chọn tab SQL và pase vào đoạn code sau.

#Create database CREATE DATABASE students_manager; #Create Table students CREATE TABLE students_manager.students( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `age` INT(5) NOT NULL, `nclass` VARCHAR(10) NOT NULL, PRIMARY KEY(`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; #Insert data INSERT INTO students_manager.students(`id`, `name`, `age`, `nclass`) VALUES (1, 'Nguyễn Văn A', '20', 'KT10'), (2, 'Nguyễn Văn B', '21', 'DT5'), (3, 'Nguyễn Văn C', '20', 'KT10'), (4, 'Nguyễn Văn D', '21', 'DT5'), (5, 'Nguyễn Văn E', '21', 'CK2')

B2: Tạo file php đặt tên là api.phpđể file này trong thư mục www của WampServerC:wamp64wwwstudent_managerapi.php

  • Để lấy tất cả danh sách studentsvà trả về Json.
= 1) { while ($row = mysql_fetch_assoc($resouter)) { $temparray[] = $row; } } echo json_encode($temparray); ?>

Bạn vào đường dẫn sau để xem kết quả:http://localhost/student_manager/api.php. Hoặc các bạn có thể cài ứng dụng Postmannày trên chrome để có thể tùy biến xem kết quả dễ hơn, link trên trình duyệt chỉ có thể sử dụng được phương thức GET nhưng trên app này có thể sử dụng được nhiều phương thức khác nữa: GET, POST, PUT, PATCH, DELETE rất hữu ích.

Xin lỗi các bạn vì có thể bạn thấy trong hình có trường class, nhưng trong sql thì không có, lý do là mình vừa sửa lại database 1 chút thành nclass :D.

Webservice trong android là gì
Xem kết quả trả về Json
Webservice trong android là gì
Xem kết quả ở định dạng Json trong Postman
  • Lấy student theo ID và trả về Json

Bạn chỉnh sửa thêm trong file api.php cho giống như dưới

= 1) { while ($row = mysql_fetch_assoc($resouter)) { $temparray[] = $row; } } echo json_encode($temparray); end: ?>

Để xem kết quả bạn chỉ cần thêm ?id=vào sau link lúc nãyhttp://localhost/student_manager/api.php?id=1. Nếu bạn để id trống http://localhost/student_manager/api.php?id=nó sẽ trả vềVui lòng nhập id.

Sau khi đã có Json bạn có thể parse json bằng retrofit trong android mình đã nói ở bài trước.

Json parsing with Retrofit

Webservice trong android là gì
Json parsing with Retrofit

B1:Mở Android studiovà tạo một project mới đặt tên WebService

B2:Thêm thư viện retrofit vào dependencies (Module: app)

dependencies { ... // Retrofit compile 'com.squareup.retrofit2:retrofit:2.2.0' // JSON Parsing compile 'com.google.code.gson:gson:2.8.0' compile 'com.squareup.retrofit2:converter-gson:2.2.0' ... }

B3:Thêm quyền truy cập INTERNET vàoAndroidManifest.xml

B4:Tạo layout cho activity_main.xml

Json parsing, Parse json trong android, Parse Json với Retrofit, Tạo web service, Web service android, Webservice với PHP