【问题标题】:Sending variable to PHP server from Android从 Android 向 PHP 服务器发送变量
【发布时间】:2015-09-18 04:33:21
【问题描述】:

我遇到了最困难的时候,我希望我的 android 应用程序向我的服务器发送一个字符串,然后我的服务器将根据在 PHP 中发送的字符串选择一个函数。一旦函数完成,它将返回一个 JSONObject。我不想使用任何已弃用的方法。我正在尝试实现将字符串发送到服务器以解析并在 PHP 中使用适当的函数,然后将 JSON 发送回我的 android 应用程序。任何人都可以从android端显示一些代码吗?

所以我正在寻找的是,帮助 Android 代码向服务器发送 STRING,然后从服务器读取响应,该响应将是 JSON。

【问题讨论】:

  • 无法锻炼的邮政编码。困惑 android OR php 的问题在哪里?
  • 就目前而言,您的问题有可能获得接近投票。解释得更好。如果可以,请尝试拆分 php 和 android 问题
  • 我想我对 Android 以及如何正确发送我想要发送到 PHP 的字符串比较困惑。我猜 PHP 代码只是 if(_POST=$method) 对吧?
  • 好的,希望我能解决任何困惑

标签: java php android json


【解决方案1】:

对于 Android,您可以使用 HTTP 连接 URL。这里提到了一个例子How to add parameters to HttpURLConnection using POST

URL url = new URL("http://yoururl.com");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", "Chatura"));

OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
        new OutputStreamWriter(os, "UTF-8"));
writer.write(getQuery(params));
writer.flush();
writer.close();
os.close();

conn.connect();

..

private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
    StringBuilder result = new StringBuilder();
    boolean first = true;

    for (NameValuePair pair : params)
    {
        if (first)
            first = false;
        else
            result.append("&");

        result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
        result.append("=");
        result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
    }

    return result.toString();
}

对于 PHP,只需接受来自 Andrid 的发布请求,如下所示

<?php
echo '{ "name" = "Hello ' . htmlspecialchars($_POST["name"]) . '"}';
?>

【讨论】:

    猜你喜欢
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多