当前位置:首页 > PHP教程 > php高级应用 > 列表

php结合安卓客户端实现查询交互实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-25 15:00:48 浏览: 评论:0 

本文给大家分享的是php结合安卓客户端实现查询交互实例,java端主要分三步来实现:首先进行 http request.网络请求相关操作,第二步,使用execute方法发送HTTP GET请求,并返回HttpResponse对象,第三步,使用getEntity方法活得返回结果。有需要的小伙伴参考下。

PHP 服务器端:

  1. function getids() 
  2. { 
  3.   $this->output->set_header('Content-Type: application/json; charset=utf-8'); 
  4.   $jsonstr = ''; 
  5.   $pname = $pcallid = $pworkid = ''; 
  6.    
  7.   if (isset($_GET['name'])) { 
  8.     $pname = $_GET['name']; 
  9.   } 
  10.    
  11.   if (isset($_GET['callid'])) { 
  12.     $pcallid = $_GET['callid']; 
  13.   } 
  14.    
  15.   if (isset($_GET['workid'])) { 
  16.     $pworkid = $_GET['workid']; 
  17.   } 
  18.    
  19.   $this->load->model('wireid_model'); 
  20.    
  21.   $this->wireid_model->insertonly($pname, $pcallid); 
  22.    
  23.   if ($pname == '' && $pcallid == '' && $pworkid == '') { 
  24.     die(); 
  25.   } else { 
  26.     $sqlstr = 'select * from twireid where 1=1 '; 
  27.     if ($pname != '') { 
  28.       $sqlstr = $sqlstr . " and GNAME='{$pname}' "; 
  29.     } else 
  30.       if ($pcallid != '') { 
  31.         $sqlstr = $sqlstr . " and GOLDCALLID='{$pcallid}' "; 
  32.       } else 
  33.         if ($pworkid != '') { 
  34.           $sqlstr = $sqlstr . " and GCARDID='{$pworkid}' "; 
  35.         } 
  36.     $getdata = $this->wireid_model->getsql($sqlstr); 
  37.     // JSON_FORCE_OBJECT 防止出现 [] 
  38.     $jsonstr = json_encode($getdata->result_array(), JSON_FORCE_OBJECT); 
  39.     echo $jsonstr; 
  40.   } 
  41. } 

java 安卓端:

  1. doAskTask = new Runnable() { 
  2.     @Override 
  3.     public void run() { 
  4.       // TODO 
  5.       // 在这里进行 http request.网络请求相关操作 
  6.       ggname = etname.getText().toString(); 
  7.       ggworkid = etworkid.getText().toString(); 
  8.       ggcallid = etcallid.getText().toString(); 
  9.    
  10.       String baseurl = ConfidDatas.askbaseurl; 
  11.       String askstr = "name=" + ggname + "&callid=" + ggcallid 
  12.           + "&workid=" + ggworkid; 
  13.       String result = null; 
  14.    
  15.       HttpGet httpGet = new HttpGet(baseurl + askstr); 
  16.       // 第二步,使用execute方法发送HTTP GET请求,并返回HttpResponse对象 
  17.       HttpResponse httpResponse = null; 
  18.    
  19.       try { 
  20.         httpResponse = new DefaultHttpClient().execute(httpGet); 
  21.       } catch (ClientProtocolException e) { 
  22.         // TODO Auto-generated catch block 
  23.         e.printStackTrace(); 
  24.       } catch (IOException e) { 
  25.         // TODO Auto-generated catch block 
  26.         e.printStackTrace(); 
  27.       } 
  28.    
  29.       Message msg = new Message(); 
  30.       Bundle data = new Bundle(); 
  31.    
  32.       if (httpResponse.getStatusLine().getStatusCode() == 200) { 
  33.         // 第三步,使用getEntity方法活得返回结果 
  34.         try { 
  35.           result = EntityUtils.toString(httpResponse.getEntity()); 
  36.           data.putString("value", result); 
  37.           data.putString("result", "isok"); 
  38.           msg.setData(data); 
  39.           handler.sendMessage(msg); 
  40.         } catch (ParseException e) { 
  41.           // e.printStackTrace(); 
  42.         } catch (IOException e) { 
  43.           // e.printStackTrace(); 
  44.         } 
  45.       } else { // 错误 
  46.         data.putString("value", ""); 
  47.         data.putString("result", "iserr"); 
  48.         msg.setData(data); 
  49.         handler.sendMessage(msg); 
  50.       } 
  51.     } 
  52.   };

Tags: php安卓客户端

分享到: