gpt4 book ai didi

java - 如何从 Android 调用 PHP 函数?

转载 作者:太空狗 更新时间:2023-10-29 15:18:28 25 4
gpt4 key购买 nike

我想在服务器上调用特定的 php 函数并发送一些参数。到现在为止,我实现了可以使用 HttpClient 打开 php 文件并将数据传输到 Json 并在我的应用程序中显示。所以,现在我希望能够调用特定函数并向其发送参数,我该怎么做?抱歉,我没有强调我需要从 Android 调用该函数。

这里是一些代码:

try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://10.0.2.2/posloviPodaci/index.php");
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();

is = entity.getContent();

} catch (Exception e) {
Log.e("log_tag", "Error in http connection" + e.toString());
}

// Convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");

String line = "0";
while((line = reader.readLine()) != null){
sb.append(line + "\n");
}
is.close();
result = sb.toString();

} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}

// Parsing data
JSONArray jArray;
try {
jArray = new JSONArray(result);
JSONObject json_data = null;

items = new String[jArray.length()];

for(int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
items[i] = json_data.getString("naziv");
}

} catch (Exception e) {
// TODO: handle exception
}

提前致谢,狼。

最佳答案

如果您使用的是 MVC 框架,例如 CakePHP,您可以简单地创建一个函数路由,该函数将输出您想要的任何 JSON。

否则,您可以在 index.php 的顶部使用一些简单的东西,例如:

<?php
function foo($bar) { echo $bar; }
if(isset($_GET['action']) && (strlen($_GET['action']) > 0)) {
switch($_GET['action']) :
case 'whatever':
echo json_encode(array('some data'));
break;
case 'rah':
foo(htmlentities($_GET['bar']));
break;
endswitch;
exit; # stop execution.
}
?>

这将允许您使用操作参数调用 url。

http://10.0.2.2/posloviPodaci/index.php?action=whatever

http://10.0.2.2/posloviPodaci/index.php?action=rah&bar=test

如果您需要传递更敏感的数据,我建议您坚持使用 $_POST 并使用某种形式的加密。

关于java - 如何从 Android 调用 PHP 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10301979/

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