ホームページ >バックエンド開発 >PHPチュートリアル >AndroidクライアントとPHPサービス間の単純な対話

AndroidクライアントとPHPサービス間の単純な対話

WBOY
WBOYオリジナル
2016-06-23 13:29:02809ブラウズ

ログ情報の保存を実現するための Android クライアントと php+mysql+apache 間の単純な対話。

実装原理は、Android クライアントがリクエストを送信し、それをサーバーのログ情報に渡し、サーバーがこれらを受信し、データベースに接続して保存し、保存されたステータスをクライアントに返します。

サーバー側:

まず、mysql で testlog データベースを作成します。その中には、LogCategory、System、Executor、Action およびその他の情報を記録する log_info テーブルがあります。

php 仮想ディレクトリに新しい php プロジェクト testlog を作成し、conn.php および log_deal.php ファイルを作成します。


<?php	include_once('conn.php');		//echo '$_POST接收:</br>';	$System = $_POST['System'];	$LogCategory = $_POST['LogCategory'];	$Executor = $_POST['Executor'];	$Action = $_POST['Action'];	$sqlstr = "insert into log_info(System,LogCategory,Executor,Action,CreateTime) values('".$System."','".$LogCategory."','".$Executor."','".$Action."','".date('Y-m-d H:m:s')."')";    if (mysql_query($sqlstr)){    	echo "succeed";    } else {    	die(mysql_error());    	echo "error";    }?>
サーバーがセットアップされました。

android クライアント:

好きなようにレイアウトを書いてOK

以下がメインコードです:

class SendlogHandler implements Runnable{        @Override        public void run() {            try {                String url = "http://localhost/testlog/log_deal.php";                String result = null;                boolean isSendSucceed = false;                HttpPost httpRequest = new HttpPost(url);                List params = new ArrayList();                params.add(new BasicNameValuePair("System", "系统名称"));                params.add(new BasicNameValuePair("LogCategory", "LOG等级"));                params.add(new BasicNameValuePair("Executor", "操作人"));                params.add(new BasicNameValuePair("Action", "发生了什么事"));                httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));                HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);                int stateCode = httpResponse.getStatusLine().getStatusCode();                if (stateCode == 200){                    HttpEntity httpEntity = httpResponse.getEntity();                    result = EntityUtils.toString(httpEntity);                }                if (result.equals("succeed")){                    isSendSucceed = true;                }                Message msg = new Message();                msg.what = 2;                msg.obj = isSendSucceed;                handler.sendMessage(msg);            } catch (Exception e){                e.printStackTrace();            }        }    }
さて、シンプルなクライアントからPHPサーバー側ストレージにデータをポストする機能は完成しました。


著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

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