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

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安卓客户端

分享到: