Kết nối android với mysql sẽ hướng dẫn các bạn cách xây dựng ứng dụng android làm việc với cơ sở dữ liệu được lưu trữ trên các server sử dụng các hệ quản trị cơ sở dữ liệu như MySQL, SQLServer, Oracle, … cho phép người sử dụng thực hiện các thao tác cơ bản CRUD[Create, Read, Update, Delete]. sẽ hướng dẫn các bạn cách xây dựng ứng dụng android làm việc với cơ sở dữ liệu được lưu trữ trên các server sử dụng các hệ quản trị cơ sở dữ liệu như MySQL, SQLServer, Oracle, … cho phép người sử dụng thực hiện các thao tác cơ bản CRUD[Create, Read, Update, Delete].
Trong bài viết này, chúng tôi sẽ hướng dẫn các bạn thực hiện truy vấn dữ liệu [Read] từ MySQL thông qua PHP từ ứng dụng Android. Ứng dụng android sẽ thông qua PHP để thực hiện các thao tác trên dữ liệu. truy vấn dữ liệu [Read] từ MySQL thông qua PHP từ ứng dụng Android. Ứng dụng android sẽ thông qua PHP để thực hiện các thao tác trên dữ liệu.
Điều đó có nghĩa là PHP sẽ thực hiện kết nối với MySQL và xử lý dữ liệu theo yêu cầu từ ứng dụng android. Dữ liệu trả về dưới dạng JSON.
Yêu cầu để thực hiện kết nối android với mysql
1. Tải và cài đặt XAMPP. Tham khảo hướng dẫn tải và cài đặt XAMPP
2. Công cụ Android Studio
Kết nối android với mysql – Tạo cơ sở dữ liệu trong MySQLTạo cơ sở dữ liệu trong MySQL
Truy cập phpmyadmin sử dụng link //localhost/phpmyadmin/ để tạo một cơ sở dữ liệu và môt bảng//localhost/phpmyadmin/ để tạo một cơ sở dữ liệu và môt bảng
Câu lệnh tạo cơ sở dữ liệu tên platfformdb platfformdb
CREATE DATABASE platfformdb
Chọn SQL -> nhập câu lệnh tao database -> chọn Go Câu lệnh tạo bảng platfformSQL -> nhập câu lệnh tao database -> chọn Go Câu lệnh tạo bảng platfform
CREATE TABLE platfform [
id int[11] NOT NULL AUTO_INCREMENT
,name varchar[30] NOT NULL
,PRIMARY KEY [id]
]
Chọn platformdb [1] -> chọn SQL [2] -> nhập câu lệnh tạo bảng [3] -> chọn Go [4] Câu lệnh thêm dữ liệu vào bảng platfformplatformdb [1] -> chọn SQL [2] -> nhập câu lệnh tạo bảng [3] -> chọn Go [4] Câu lệnh thêm dữ liệu vào bảng platfform
INSERT INTO platfform [name] VALUES ['Android'];
INSERT INTO platfform [name] VALUES ['iOS'];
INSERT INTO platfform [name] VALUES ['Windows Phone'];
Chọn platformdb [1] -> chọn SQL [2] -> nhập câu lệnh thêm dữ liệu [3] -> chọn Go [4]platformdb [1] -> chọn SQL [2] -> nhập câu lệnh thêm dữ liệu [3] -> chọn Go [4]
Kết nối android với mysql – Tạo PHP ProjectTạo PHP Project
1. Mở thư mục xampp\htdocs và tạo một thư mục tên platfformxampp\htdocs và tạo một thư mục tên platfform
2. Tạo tập tin config.php trong thư mục platfformconfig.php trong thư mục platfform
3. Tạo tập tin dbConnect.php trong thư mục platfformdbConnect.php trong thư mục platfform
4. Tạo tập tin display.php trong thư mục platfformdisplay.php trong thư mục platfform
Cấu trúc thư mục platfformplatfform
Dữ liệu Json khi truy cập //localhost/platfform/display.php//localhost/platfform/display.php
{"platfform":[{"id":"1","name":"Android"},{"id":"2","name":"iOS"},{"id":"3","name":"Windows Phone"}]}
1. Tạo Java class tên PlatfForm.javaPlatfForm.java
public class PlatfForm { public int id; public String name; public PlatfForm[int id, String name] { this.id = id; this.name = name; } }
2. Bổ sung useLibrary ‘org.apache.http.legacy’ trong tập tin build.gradle [Module: app]useLibrary ‘org.apache.http.legacy’ trong tập tin build.gradle [Module: app]
3. Tạo Java class tên MyService.javaMyService.java
public class MyService { static InputStream is = null; static String response = null; public final static int GET = 1; public final static int POST = 2; public String callService[String url, int method] { return this.callService[url, method, null]; } public String callService[String url, int method, List params] { try { // http client DefaultHttpClient httpClient = new DefaultHttpClient[]; HttpEntity httpEntity = null; HttpResponse httpResponse = null; // Kiểm tra loại method là POST hay GET if [method == POST] { HttpPost httpPost = new HttpPost[url]; // Thêm tham số if [params != null] { httpPost.setEntity[new UrlEncodedFormEntity[params]]; } httpResponse = httpClient.execute[httpPost]; } else if [method == GET] { // Gắn tham số vào URL if [params != null] { String paramString = URLEncodedUtils.format[params, "utf-8"]; url += "?" + paramString; } HttpGet httpGet = new HttpGet[url]; httpResponse = httpClient.execute[httpGet]; } httpEntity = httpResponse.getEntity[]; is = httpEntity.getContent[]; } catch [Exception ex] { Log.d["My error", ex.toString[]]; } try { BufferedReader reader = new BufferedReader[new InputStreamReader[is, "UTF-8"], 8]; StringBuilder sb = new StringBuilder[]; String line = null; while [[line = reader.readLine[]] != null] { sb.append[line + "\n"]; } is.close[]; response = sb.toString[]; } catch [Exception e] { Log.e["Buffer Error", "Error: " + e.toString[]]; } return response; } }
4. Thiết kế giao diện5. Viết xử lý 5. Viết xử lý
Khai báo biến
// arraylist cho adapter của listview private ArrayList alPF; // URL dùng để truy xuất bảng PlatfForm private String URL_DISP_PLATFFORM = "//10.0.2.2/platfform/display.php"; ListView lvPlatfForm; ProgressDialog pDialog;
Khai báo class GetPlatfForms bên trong Activity dùng để lấy danh sách platfform và hiển thị vào ListViewGetPlatfForms bên trong Activity dùng để lấy danh sách platfform và hiển thị vào ListView
CREATE TABLE platfform [
id int[11] NOT NULL AUTO_INCREMENT
,name varchar[30] NOT NULL
,PRIMARY KEY [id]
]
0Phương thức getData[]getData[]
CREATE TABLE platfform [
id int[11] NOT NULL AUTO_INCREMENT
,name varchar[30] NOT NULL
,PRIMARY KEY [id]
]
1Viết xử lý cho nút LOAD DATA và đăng ký tại sự kiện onClick bên layoutLOAD DATA và đăng ký tại sự kiện onClick bên layout
CREATE TABLE platfform [
id int[11] NOT NULL AUTO_INCREMENT
,name varchar[30] NOT NULL
,PRIMARY KEY [id]
]
26. Cấp quyền truy cập internet cho ứng dụng tại AndroidManifest.xmlAndroidManifest.xml
CREATE TABLE platfform [
id int[11] NOT NULL AUTO_INCREMENT
,name varchar[30] NOT NULL
,PRIMARY KEY [id]
]
3Kết nối android với mysql – Build và run
Giao diện ứng dụng khi chạy
Khi người dùng chạm vào nút LOAD DATA