php结合安卓客户端实现查询交互实例 |
|
本文标签:php,安卓,查询交互 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;
}
}
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);
}
}
};
以上所述就是本文的全部内容了,希望大家能够喜欢 。 |