Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Gửi dữ liệu từ android đến máy chủ qua JSON

Để gửi dữ liệu đến máy chủ, bạn có thể làm như sau:

private void sendData(ArrayList<NameValuePair> data)
{
     // 1) Connect via HTTP. 2) Encode data. 3) Send data.
    try
    {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new      
        HttpPost("http://www.blah.com/AddAccelerationData.php");
        httppost.setEntity(new UrlEncodedFormEntity(data));
        HttpResponse response = httpclient.execute(httppost);
        Log.i("postData", response.getStatusLine().toString());
            //Could do something better with response.
    }
    catch(Exception e)
    {
        Log.e("log_tag", "Error:  "+e.toString());
    }  
}

sau đó để gửi, hãy nói:

private void sendAccelerationData(String userIDArg, String dateArg, String timeArg,
        String timeStamp, String accelX, String accelY, String accelZ)
{
    fileName = "AddAccelerationData.php";

    //Add data to be send.
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(7);
    nameValuePairs.add(new BasicNameValuePair("userID", userIDArg));
    nameValuePairs.add(new BasicNameValuePair("date",dateArg));
    nameValuePairs.add(new BasicNameValuePair("time",timeArg));
    nameValuePairs.add(new BasicNameValuePair("timeStamp",timeStamp));

    nameValuePairs.add(new BasicNameValuePair("accelX",accelX));
    nameValuePairs.add(new BasicNameValuePair("accelY",accelY));
    nameValuePairs.add(new BasicNameValuePair("accelZ",accelZ));

    this.sendData(nameValuePairs);
}

vậy thì tệp AddAccelerationData.php trên máy chủ là:

<?php
/*
 * What this file does is it:
 * 1) Creates connection to database.
 * 2) Retrieve the data being send.
 * 3) Add the retrieved data to database 'Data'.
 * 4) Close database connection.
 */
require_once '../Connection.php'; //connect to a database/disconnect handler.
require_once '../SendAPI.php'; //deals with sending querys.

$server = new Connection();
$send = new Send();

//Connect to database.
$server->connectDB();

//Retrieve the data.
$userID = $_POST['userID'];
$date = $_POST['date'];
$time = $_POST['time'];

$accelX = $_POST['accelX'];
$accelY = $_POST['accelY'];
$accelZ = $_POST['accelZ'];

//Add data to database 'Data'. //Personal method to query and add to database.
$send->sendAccelerationData($userID, $date, $time, $timeStamp, $accelX, $accelY, $accelZ);


//Disconnect from database.
$server->disconnectDB();
?>

Đây là một ví dụ tôi đã sử dụng gần đây. Chỉ cần ghi chú trong tệp php. Tôi nhập Connection.phpt this chỉ xử lý kết nối với cơ sở dữ liệu. Vì vậy, chỉ cần thay thế mã đó bằng mã của bạn để kết nối với MYSQL db. Ngoài ra, tôi đã nhập SendAPI.php (mà bạn có thể bỏ qua) Đây chỉ là lớp của tôi để gửi dữ liệu. Về cơ bản, nó chứa một số truy vấn mà tôi muốn sử dụng. Chẳng hạn như sendAccelerationData (). Về cơ bản, lớp tương tự như lớp của các thủ tục được lưu trữ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để cập nhật cùng một bảng khi xóa trong MYSQL?

  2. Làm cách nào để tìm tất cả các bảng có khóa ngoại tham chiếu đến table.column cụ thể và có giá trị cho các khóa ngoại đó?

  3. JSON_QUOTE () - Cách thoát các ký tự trong chuỗi được sử dụng làm giá trị JSON trong MySQL

  4. Làm thế nào để phân trang với mybatis?

  5. PHP &mySQL:Năm 2038 Lỗi:Nó là gì? Làm thế nào để giải quyết nó?