본문 바로가기
MySql

MySQL JSON을 통해 Android에서 서버로 데이터 보내기

by 베이스 공부 2020. 10. 5.
반응형

그래서 어떻게해야하는지 알고 싶고,이 예제 문장과 꽤 혼동 스럽습니다.

HttpPost httppost = new HttpPost("http://10.0.2.2/city.php");

즉, PHP 서버와 연결하는 애플리케이션을 코딩해야합니다. DB에 연결하기 위해 PHP를 작성하기 전에 오른쪽?

 

해결 방법

 

서버에 데이터를 보내려면 다음을 수행하십시오.

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());
    }  
}

보내려면 다음과 같이 말하십시오.

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);
}

따라서 서버의 AddAccelerationData.php 파일은 다음과 같습니다.

<?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();
?>

이것은 제가 최근에 사용한 예입니다. php 파일에서 참고하십시오. Connection.php를 가져옵니다. 이것은 데이터베이스에 대한 연결만을 다룹니다. 따라서 MYSQL db에 연결하기위한 코드로 바꾸십시오. 또한 나는 SendAPI.php를 가져 왔습니다. 기본적으로 내가 사용하고 싶은 일부 쿼리가 포함되어 있습니다. sendAccelerationData ()와 같은. 기본적으로 클래스는 저장 프로 시저의 클래스와 유사했습니다.

 

참조 페이지 https://stackoverflow.com/questions/6523761

 

 

반응형

댓글