ホームページ >バックエンド開発 >PHPチュートリアル >PHP を Android クライアントと組み合わせて対話を実現

PHP を Android クライアントと組み合わせて対話を実現

*文
*文オリジナル
2017-12-28 09:35:111760ブラウズ

この記事では、PHP と Android クライアントを組み合わせたクエリ対話の例を紹介します。Java 側は主に 3 つのステップで実装されます。最初のステップは、http リクエストとネットワーク リクエストに関連する操作を実行することです。 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;
  }
}


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 で生成されたアニメーションの例

PHP ランダムビジー効果を返す

PHP で生成されたバーコードの例

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

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