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

Pass value from android app to php without using NameValuepair

我正在尝试制作我的第一个 android 应用程序,它类似于 rss feed.The 示例应用程序如下所示 link
json-feed-reader-in-android

我能够连接到数据库并在我的第一个 activity.However 上为我的第二个屏幕填充自定义列表视图,我想根据用户从第一个屏幕的列表中选择的内容从数据库中检索信息.为此,我需要将此选择传递给 php 脚本。

我已经查找过此信息,但大多数解决方案都使用已弃用的名称对。我无法理解如何使用 htpurlconnection 进行操作。

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

您可以使用 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 中读取 $_GET 中的 choice:

$choice = $_GET['choice'];

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

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

然后在你的 php 中读取 $_POST 中的 choice:

$choice = $_POST['choice'];