简体   繁体   English

将 JSON 对象从 android 发送到 php 服务器

[英]send a JSON object from android to php server

I'm having a very bad time trying to figure out the error in my code to implement the connection between the android application and the php server.我在试图找出我的代码中的错误来实现 android 应用程序和 php 服务器之间的连接时遇到了非常糟糕的时间。

The following is my php code at the server:以下是我在服务器上的php代码:

<?php 
$json = file_get_contents('php://input');
$request = json_decode($json, true);
$response = array();
print "PHP HERE!";
// check for required fields
if (isset($request['Year']) && isset($request['Month']) && isset($request['Day_of_month']) && isset($request['Day_of_week']) && isset($request['Hour']) && isset($request['Minute'])) {

    $Year= $request['Year'];
    $Month= $request['Month'];
    $Day_of_month= $request['Day_of_month'];
    $Day_of_week= $request['Day_of_week'];
    $Hour= $request['Hour'];
    $Minute= $request['Minute'];

    // include db connect class
    require_once 'db_connect.php';

    // connecting to db
    $db = new DB_CONNECT();

    // mysql inserting a new row
    $result = mysql_query("INSERT INTO date VALUES('$Year','$Month','$Day_of_month','$Day_of_week','$Hour','$Minute')");

    $response["success"] = 1;
    echo json_encode($response);
    exit;
}
?>

And my client side code is the following:我的客户端代码如下:

// Making HTTP request
try {
    // Open connection to URL and perform POST request.
    URL url1 = new URL(url);
    HttpURLConnection urlConnection = (HttpURLConnection) url1.openConnection();
    urlConnection.setDoOutput(true); // Set Http method to POST
    urlConnection.setDoInput(true);
    urlConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
    urlConnection.setRequestMethod("POST");
    urlConnection.setChunkedStreamingMode(0); // Use default chunk size

    // Write serialized JSON data to output stream.
    OutputStreamWriter writer = new OutputStreamWriter(urlConnection.getOutputStream());
    //OutputStream out = new BufferedOutputStream(urlConnection.getOutputStream());
    //BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
    writer.write(params.toString());
    writer.flush();
    writer.close();

    InputStream input = urlConnection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(input));
    //BufferedReader reader = new BufferedReader(new InputStreamReader(
    //        is, "iso-8859-1"), 8);
    StringBuilder result = new StringBuilder();
    String line;

    while ((line = reader.readLine()) != null) {
        result.append(line);
    }
    jObj = new JSONObject(result.toString());
} catch (Exception e) {
    Log.e("Buffer Error", "Error converting result " + e.toString());
}

// return JSON String
return jObj;

Please any help is appreciated.请任何帮助表示赞赏。

You are not openning connection您没有打开连接

Just call打电话就行

urlConnection.connect(); //to open coonection and than
OutputStream os = urlConnection.getOutputStream();
OutputStreamWriter osWriter = new OutputStreamWriter(os,
                        "UTF-8");
BufferedWriter writer = new BufferedWriter(osWriter);
writer.write(params.toString());

writer.flush();
writer.close();
os.close();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM