ホームページ >バックエンド開発 >PHPチュートリアル >PHP を Android クライアントと組み合わせてクエリ対話を実装する example_PHP チュートリアル
この記事で共有するのは、PHP と Android クライアントを組み合わせてクエリ対話を実現する例です。Java 側は主に 3 つのステップで実装されます。まず、http リクエストを実行します。リクエスト関連の操作 (2 番目) 2 番目のステップでは、execute メソッドを使用して HTTP GET リクエストを送信し、HttpResponse オブジェクトを返します。 3 番目のステップでは、getEntity メソッドを使用して結果を返します。困っている友達は参考にしてください
PHPサーバー側:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
関数getids() { $this->output->set_header('Content-Type: application/json; charset=utf-8'); $jsonstr = ''; $pname = $pcallid = $pworkid = '';
if (isset($_GET['name'])) { $pname = $_GET['名前']; }
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 == '') { 死ぬ(); } 他 { $sqlstr = 'select * from twireid where 1=1 '; if ($pname != '') { $sqlstr = $sqlstr . " および GNAME='{$pname}' "; }その他 if ($pcallid != '') { $sqlstr = $sqlstr . " および GOLDCALLID='{$pcallid}' "; }その他 if ($pworkid != '') { $sqlstr = $sqlstr . " および GCARDID='{$pworkid}' "; } $getdata = $this->wireid_model->getsql($sqlstr); // JSON_FORCE_OBJECT は [] を防ぎます $jsonstr = json_encode($getdata->result_array(), JSON_FORCE_OBJECT); エコー $jsonstr; } } |
Java Androidバージョン:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
doAskTask = new Runnable() { @オーバーライド パブリック void run() { //TODO // ここで http リクエストとネットワーク リクエスト関連の操作を実行します ggname = etname.getText().toString(); ggworkid = etworkid.getText().toString(); ggcallid = etcallid.getText().toString();
文字列baseurl = ConfidDatas.askbaseurl; 文字列 askstr = "name=" + ggname + "&callid=" + ggcallid + "&workid=" + ggworkid; 文字列結果 = null;
HttpGet httpGet = new HttpGet(baseurl + askstr); // 2 番目のステップは、execute メソッドを使用して HTTP GET リクエストを送信し、HttpResponse オブジェクトを返すことです HttpResponse httpResponse = null;
試してください{ httpResponse = 新しい DefaultHttpClient().execute(httpGet); } catch (ClientProtocolException e) { //TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { //TODO 自動生成された catch ブロック e.printStackTrace(); }
メッセージ msg = 新しいメッセージ(); バンドル データ = 新しいバンドル();
if (httpResponse.getStatusLine().getStatusCode() == 200) { // 3 番目のステップは、getEntity メソッドを使用して結果を返すことです 試してください{ 結果 = EntityUtils.toString(httpResponse.getEntity()); data.putString("値", 結果); data.putString("結果", "isok"); msg.setData(データ); handler.sendMessage(msg); } catch (ParseException e) { // e.printStackTrace(); } catch (IOException e) { // e.printStackTrace(); } } else { // エラー data.putString("値", ""); data.putString("結果", "iserr"); msg.setData(データ); handler.sendMessage(msg); } } }; |
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。
。