Kết Nối Android Với Mysql

     

Xây dựng áp dụng android thao tác làm việc với cơ sở dữ liệu được tàng trữ trên các server sử dụng các hệ cai quản trị cơ sở dữ liệu như MySQL, SQLServer, Oracle, … chất nhận được người sử dụng triển khai các thao tác cơ bản CRUD(Create, Read, Update, Delete)

Trong bài viết này, shop chúng tôi sẽ phía dẫn các bạn thực hiện tại thêm dữ liệu (Create) vào MySQL thông qua PHP. Ứng dụng android sẽ trải qua PHP để triển khai các làm việc trên dữ liệu. Điều đó tức là PHP sẽ thực hiện kết nối với MySQL với xử lý tài liệu theo yêu ước từ vận dụng android. Tài liệu được đóng gói dưới dạng JSON.

*

Chuẩn bị 

Các cách thực hiện

Lưu ý nếu các bạn đã coi và làm cho theo nội dung bài viết hướng dẫn liên kết android với mysql (phần 1) thì sẽ vứt qua các muc (1), (2), (3)(4). Kế bên mục (2) các các bạn chỉ triển khai tạo tập tin createPF.php

Tạo cơ sở tài liệu trên MySQL (1)

Sử dụng phpmyadmin từ http://localhost/phpmyadmin/ để tạo ra một cơ sở dữ liệu và môt bảng sử dụng câu lệnh

Câu lệnh sinh sản cơ sở dữ liệu tên platfformdb

CREATE DATABASE platfformdbCâu lệnh tạo ra bảng platfformCREATE TABLE platfform ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(30) NOT NULL, PRIMARY KEY (id));Câu lệnh thêm tài liệu cho bảng platfformINSERT INTO platfform (name) VALUES ("Android");INSERT INTO platfform (name) VALUES ("iOS");INSERT INTO platfform (name) VALUES ("Windows Phone");Tạo PHP Project (2)

Mở thư mục htdocs trong thư mục xampp và chế tạo ra thêm một folder tên platfformTạo tập tin config.php và giữ trong thư mục platfform

Tạo tập tin dbConnect.php và lưu vào thư mục platfformconnect(); } // destructor function __destruct() // closing db connection $this->close(); /** * Establishing database connection *


Bạn đang xem: Kết nối android với mysql

return database handler */ function connect() include_once dirname(__FILE__) . "./config.php"; // Connecting to mysql database $this->conn = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) or die(mysql_error()); // Selecting database mysql_select_db(DB_NAME) or die(mysql_error()); // returing connection resource return $this->conn; /** * Closing database connection */ function close() // closing db connection mysql_close($this->conn); }?>Tạo tập tin createPF.php cùng lưu vào thư mục platfformTạo mới android Project hoặc áp dụng Project hiện gồm và thực hiện các yêu cầu sau

Tạo class tên PlatfForm.java (3)

public class PlatfForm public int id; public String name; public PlatfForm(int id, String name) this.id = id; this.name = name; Tạo class ServiceHandler.java (4)

Bổ sung useLibrary ‘org.apache.http.legacy’ vào tập tin build.gradle (Module: app)

*

Tạo tin ServiceHandler.java

public class ServiceHandler static InputStream is = null; static String response = null; public final static int GET = 1; public final static int POST = 2; /** * Making service điện thoại tư vấn * *
method - http request method */ public String makeServiceCall(String url, int method) return this.makeServiceCall(url, method, null); /** * Making service điện thoại tư vấn * *


Xem thêm: Thông Báo Thu Học Phí Trường Đại Học Tây Đô (Tdu) Mới Nhất 2022

params - http request params */ public String makeServiceCall(String url, int method, menu params) try // http client DefaultHttpClient httpClient = new DefaultHttpClient(); HttpEntity httpEntity = null; HttpResponse httpResponse = null; // Checking http request method type if (method == POST) HttpPost httpPost = new HttpPost(url); // adding post params if (params != null) httpPost.setEntity(new UrlEncodedFormEntity(params)); httpResponse = httpClient.execute(httpPost); else if (method == GET) // appending params to lớn 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 (UnsupportedEncodingException e) e.printStackTrace(); catch (ClientProtocolException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); 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 + " "); is.close(); response = sb.toString(); catch (Exception e) Log.e("Buffer Error", "Error: " + e.toString()); return response; Tạo Activity

Thiết kế giao diện

*

Viết cách xử lý tại Activity

Khai báo biến

ProgressDialog pd;ServiceHandler sh;EditText etName;String name;private static final String URL_NEW_PF = "http://10.0.2.2:port/platfform/createPF.php";Khai báo class NewPlatfForm bên vào Activity dùng để thêm dữ liệu vào MySQL (bảng platfform)class NewPlatfForm extends AsyncTask String name; public NewPlatfForm(String name) this.name = name;
Override protected void onPreExecute() super.onPreExecute(); pd = new ProgressDialog(NewPlatfFormActivity.this); pd.setMessage("Creating platfform..."); pd.setIndeterminate(false); pd.setCancelable(true); pd.show();


Xem thêm: Tổng Hợp Mẫu Đơn Giới Thiệu Bản Thân, Download Mẫu Thư Giới Thiệu Bản Thân

Override protected Object doInBackground(Object<> params) // Building Parameters danh mục args = new ArrayList(); args.add(new BasicNameValuePair("name", name)); // getting JSON Object // chú ý that create product url accepts POST method String json = sh.makeServiceCall(URL_NEW_PF, ServiceHandler.POST, args); if (json != null) try JSONObject jsonObject = new JSONObject(json); int success = jsonObject.getInt("success"); if (success == 1) //pd.setMessage("successfully created pf"); else //Toast.makeText(NewPlatfFormActivity.this, "failed to lớn create pf", Toast.LENGTH_SHORT).show(); catch (JSONException e) Log.d("Error...", e.toString()); return null;
Override protected void onPostExecute(Object o) super.onPostExecute(o); pd.dismiss(); Viết giải pháp xử lý cho nút CREATE và đk tại sự kiện onClick bên layout (etName là id của EditText, name là trở nên kiểu String)//Get data from screenname = etName.getText().toString();//Call webservicenew NewPlatfForm(name).execute();Giao diện vận dụng khi chạy