簡體   English   中英

將多個數據從Android發布到PHP Web服務

[英]Post multiple data from Android to PHP web service

到目前為止,我可以將一組數據從Android發送到PHP Web服務。 我希望發送一個數組,並在Web服務中有一個for循環。 那可能嗎? 那是一個好的解決方案嗎? 在這個項目中,我試圖將SQLite與MySQL同步。

這是我的代碼

String username, userid;
    username = "Kate";
    userid = "3";
    String data = "";

    try {
        data = URLEncoder.encode("username", "UTF-8") + "="
                + URLEncoder.encode(username, "UTF-8");
        data += "&" + URLEncoder.encode("userid", "UTF-8") + "="
                + URLEncoder.encode(userid, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    String text = "";
    BufferedReader reader = null;

    try {

        URL url = new URL(
                address);

        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(
                conn.getOutputStream());
        wr.write(data);
        wr.flush();

        // Get the response
        reader = new BufferedReader(new InputStreamReader(
                conn.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String line = null;

        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        text = sb.toString();
    } catch (Exception ex) {

    } finally {
        try {
            reader.close();
        } catch (Exception ex) { }
    }

和這個

<?php 
include '../inc/connect.php';
include '../inc/class/mysql.class.php'; 

$name   = urldecode($_POST['username']);
$user   = urldecode($_POST['userid']);

print " ==== POST DATA =====
Name  : $name
Email : $email
User  : $user
Pass  : $pass";

$ins = mysql_query("INSERT INTO users (UserName, FullName) VALUES ('$name','$user')") or die(mysql_error());
if ($ins) {
    echo json_encode(array("result"=>"success","result_txt"=>"Branch sucessfully added."));
    exit();
}
?>

您可以將輸入作為JSON發送,然后使PHP對其進行解碼。

因此,您需要在android應用中對所有數據進行編碼,然后將其作為一個大的編碼字符串發送,可能使用URI編碼或Base64,然后在PHP中執行:

$data = json_decode($_POST['data']);

如果使用base64,則可以執行以下操作:

$data = json_decode(base64_decode($_POST['data']));

如果只是將其作為一個字符串發送

$data = json_decode(urldecode($_POST['data']));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM