ホームページ  >  記事  >  バックエンド開発  >  PHP は Android クライアントとのクエリ対話を実現します

PHP は Android クライアントとのクエリ対話を実現します

墨辰丷
墨辰丷オリジナル
2018-06-11 10:46:071533ブラウズ

この記事では主に PHP と Android クライアント間のクエリのやり取りについて紹介します。興味のある方はぜひ参考にしてください。

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 Android 側:

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);
      }
    }
  };

概要: 上記がこの記事の全内容です。すべての人に役立つようにする 学ぶことは役に立ちます。

関連する推奨事項:

PHP は Snoopy クラスを使用してページ クローリング メソッドを実装します

PHP クラスの継承と拡張操作スキル

PHPで漢字の格子データを読み取る方法

以上がPHP は Android クライアントとのクエリ対話を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。