将值从Android应用程序传递到php而不使用NameValuepair

时间:2015-09-16 16:38:51

标签: php android httpurlconnection

我正在尝试制作我的第一个Android应用程序,就像rss feed。示例应用程序显示在下面的链接中 json-feed-reader-in-android

我能够连接到数据库并在我的第一个活动上填充自定义列表视图。但是对于我的第二个屏幕,我想从数据库中检索信息,具体取决于第一个屏幕列表中的用户选择。我需要将这个选择传递给php脚本。

我已经查找了这些信息,但大多数解决方案都使用了不推荐使用的namepair。我无法理解如何使用htpurlconnection进行操作。

我可以使用什么来将值传递给php脚本。如果有一些资源可以使用,请分享。

1 个答案:

答案 0 :(得分:0)

您可以使用GET查询参数:

  URL url = new URL("http://your.feed.host/?choice={choiceVariableGoesHere}");
  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
  try {
      InputStream in = new BufferedInputStream(urlConnection.getInputStream());
      readStream( in );
      finally {
          urlConnection.disconnect();
      }
  }

然后在你的PHP中阅读choice的{​​{1}}:

$_GET

如果你想用POST做,你可以这样做:

$choice = $_GET['choice'];

然后在你的PHP中阅读String choiceVariable = 'first'; //Example URL url = new URL("http://your.feed.host/"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); Uri.Builder builder = new Uri.Builder().appendQueryParameter("choice", choiceVariable); String query = builder.build().getEncodedQuery(); OutputStream output = connection.getOutputStream(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output, "UTF-8")); writer.write(query); writer.flush(); writer.close(); output.close(); connection.connect(); 的{​​{1}}:

choice