php – 通过JSON将数据从android发送到服务器
发布时间:2020-12-13 22:21:14 所属栏目:PHP教程 来源:网络整理
导读:我有 MySQL数据库服务器 我需要通过JSON更新和检索MySQL服务器的数据 所以,我想知道如何做到这一点,我非常混淆这个示例语句: HttpPost httppost = new HttpPost("http://10.0.2.2/city.php"); 这意味着我需要编写与PHP服务器连接的应用程序 在写php连接数据
>我有
MySQL数据库服务器
>我需要通过JSON更新和检索MySQL服务器的数据 所以,我想知道如何做到这一点,我非常混淆这个示例语句: HttpPost httppost = new HttpPost("http://10.0.2.2/city.php"); 这意味着我需要编写与PHP服务器连接的应用程序 解决方法
要将数据发送到服务器,您可以这样做:
private void sendData(ArrayList<NameValuePair> data) { // 1) Connect via HTTP. 2) Encode data. 3) Send data. try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.blah.com/AddAccelerationData.php"); httppost.setEntity(new UrlEncodedFormEntity(data)); HttpResponse response = httpclient.execute(httppost); Log.i("postData",response.getStatusLine().toString()); //Could do something better with response. } catch(Exception e) { Log.e("log_tag","Error: "+e.toString()); } } 然后发送让我们说: private void sendAccelerationData(String userIDArg,String dateArg,String timeArg,String timeStamp,String accelX,String accelY,String accelZ) { fileName = "AddAccelerationData.php"; //Add data to be send. ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(7); nameValuePairs.add(new BasicNameValuePair("userID",userIDArg)); nameValuePairs.add(new BasicNameValuePair("date",dateArg)); nameValuePairs.add(new BasicNameValuePair("time",timeArg)); nameValuePairs.add(new BasicNameValuePair("timeStamp",timeStamp)); nameValuePairs.add(new BasicNameValuePair("accelX",accelX)); nameValuePairs.add(new BasicNameValuePair("accelY",accelY)); nameValuePairs.add(new BasicNameValuePair("accelZ",accelZ)); this.sendData(nameValuePairs); } 那么服务器上的AddAccelerationData.php文件是: <?php /* * What this file does is it: * 1) Creates connection to database. * 2) Retrieve the data being send. * 3) Add the retrieved data to database 'Data'. * 4) Close database connection. */ require_once '../Connection.php'; //connect to a database/disconnect handler. require_once '../SendAPI.php'; //deals with sending querys. $server = new Connection(); $send = new Send(); //Connect to database. $server->connectDB(); //Retrieve the data. $userID = $_POST['userID']; $date = $_POST['date']; $time = $_POST['time']; $accelX = $_POST['accelX']; $accelY = $_POST['accelY']; $accelZ = $_POST['accelZ']; //Add data to database 'Data'. //Personal method to query and add to database. $send->sendAccelerationData($userID,$date,$time,$timeStamp,$accelX,$accelY,$accelZ); //Disconnect from database. $server->disconnectDB(); ?> 这是我最近使用的一个例子.只是在php文件中注意.我导入Connection.php这只是处理与数据库的连接.所以只需用您的代码替换它以连接到MYSQL db.我也导入了SendAPI.php(您可以忽略)这只是我发送数据的类.基本上它包含了我想要使用的一些查询.比如sendAccelerationData().基本上类与存储过程类似. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |