gpt4 book ai didi

php - 如何将变量从 php 发送到 android 应用程序?

转载 作者:太空狗 更新时间:2023-10-29 16:43:38 25 4
gpt4 key购买 nike

大家好,我当前的 Android 应用程序中有一项 Activity ,其中包含 WebView 。我想知道如何从该网站上的 php 获取变量并将其存储到我的 android 应用程序上的变量中(是的,我控制该网站,并具有完整的编辑功能)。

最佳答案

我会解释一般需要做的事情。首先,在您的 Android 应用程序端,应该有类似这样的代码。

1)在你的android端

String url = "www.yoururl.com/yourphpfile.php";
List<NameValuePair> parmeters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("category",category));
parameters.add(new BasicNameValuePair("subcategory",subcategory));// These are the namevalue pairs which you may want to send to your php file. Below is the method post used to send these parameters

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpPost httpPost = new HttpPost(url); // You can use get method too here if you use get at the php scripting side to receive any values.

httpPost.setEntity(new UrlEncodedFormEntity(parameters));

HttpResponse httpResponse = httpClient.execute(httpPost);

HttpEntity httpEntity = httpResponse.getEntity();

is = httpEntity.getContent();

BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8); // From here you can extract the data that you get from your php file..

StringBuilder builder = new StringBuilder();

String line = null;

while ((line = reader.readLine()) != null) {
builder.append(line + "\n");
}

is.close();
json = sb.toString(); // Here you are converting again the string into json object. So that you can get values with the help of keys that you send from the php side.

String message = json.getString("message");
int success = json.getInt("success"); // In this way you again convert json object into your original data.

2) 在你的 php 端

$response = array();

// check for post fields
if (isset($_POST['category']) && isset($_POST['subcategory'])) {

$category = $_POST['category'];
$subcategory = $_POST['subcategory'];


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

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

// mysql inserting a new row
$result = mysql_query("INSERT INTO categorytable(category, subcategory) VALUES('$category', '$subcategory')");

// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Data inserted into database.";

// echoing JSON response
echo json_encode($response);// Here you are echoing json response. So in the inputstream you would get the json data. You need to extract it over there and can display according to your requirement.
}

正如您所说的您对 php 相当精通,您可能已经发现 php 中的上述内容尽可能简单并且不安全。因此,您可以按照一些 pdo 或其他一些安全的方式在 php 端进行编码。确保在 asynctask 中围绕 android 端的代码,以便在需要的任何地方在单独的线程中运行。希望这会有所帮助。

关于php - 如何将变量从 php 发送到 android 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com