php与安卓客户端交互查询的方法示例

发布时间:2019-08-06编辑:脚本学堂
有关php结合安卓客户端实现交互查询的例子,php服务器端代码与java端代码结合,实现数据的交互查询操作,用于移动端的开发很不错。

php结合安卓客户端实现查询交互实例,java端主要分三步来实现:
1,进行 http request.网络请求相关操作
2、使用execute方法发送HTTP GET请求,并返回HttpResponse对象。
3,使用getEntity方法活得返回结果。

一、php服务器端:
 

复制代码 代码示例:

function getids()
{
$this->output->set_header('Content-Type: application/json; charset=utf-8');
$jsonstr = '';
$pname = $pcallid = $pworkid = '';

if (isset($_GET['name'])) {
$pname = $_GET['name'];
}

if (isset($_GET['callid'])) {
$pcallid = $_GET['callid'];
}

if (isset($_GET['workid'])) {
$pworkid = $_GET['workid'];
}

$this->load->model('wireid_model');

$this->wireid_model->insertonly($pname, $pcallid);

if ($pname == '' && $pcallid == '' && $pworkid == '') {
die();
} else {
$sqlstr = 'select * from twireid where 1=1 ';
if ($pname != '') {
$sqlstr = $sqlstr . " and GNAME='{$pname}' ";
} else
if ($pcallid != '') {
$sqlstr = $sqlstr . " and GOLDCALLID='{$pcallid}' ";
} else
if ($pworkid != '') {
$sqlstr = $sqlstr . " and GCARDID='{$pworkid}' ";
}
$getdata = $this->wireid_model->getsql($sqlstr);
// JSON_FORCE_OBJECT 防止出现 []
$jsonstr = json_encode($getdata->result_array(), JSON_FORCE_OBJECT);
echo $jsonstr;
}
}

2、java 安卓端:
 

复制代码 代码示例:

doAskTask = new Runnable() {
@Override
public void run() {
// TODO
// 在这里进行 http request.网络请求相关操作
ggname = etname.getText().toString();
ggworkid = etworkid.getText().toString();
ggcallid = etcallid.getText().toString();

String baseurl = ConfidDatas.askbaseurl;
String askstr = "name=" + ggname + "&callid=" + ggcallid
+ "&workid=" + ggworkid;
String result = null;

HttpGet httpGet = new HttpGet(baseurl + askstr);
// 第二步,使用execute方法发送HTTP GET请求,并返回HttpResponse对象
HttpResponse httpResponse = null;

try {
httpResponse = new DefaultHttpClient().execute(httpGet);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Message msg = new Message();
Bundle data = new Bundle();

if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 第三步,使用getEntity方法活得返回结果
try {
result = EntityUtils.toString(httpResponse.getEntity());
data.putString("value", result);
data.putString("result", "isok");
msg.setData(data);
handler.sendMessage(msg);
} catch (ParseException e) {
// e.printStackTrace();
} catch (IOException e) {
// e.printStackTrace();
}
} else { // 错误
data.putString("value", "");
data.putString("result", "iserr");
msg.setData(data);
handler.sendMessage(msg);
}
}
};