Android与PHP服务器交互

时间:2021-10-22 02:46:34

转自:http://blog.csdn.net/ab_ba/article/details/7912424

服务器端:server.php

  1. 1 <?php
  2. 2         include('dbconfig.php');
  3. 3
  4. 4
  5. 5         $address = $_POST['address'];
  6. 6         $longitude = $_POST['longitude'];
  7. 7         $latitude = $_POST['latitude'];
  8. 8
  9. 9
  10. 10         if(empty($address) or empty($longitude) or empty($latitude)){
  11. 11                 die("You have to fill all the fields!");
  12. 12         }
  13. 13         $conn = mysql_connect($server,$username,$password);
  14. 14         if(!$conn){
  15. 15                 die("connection failed:".mysql_error());
  16. 16         }
  17. 17
  18. 18         mysql_select_db($dbName,$conn);
  19. 19
  20. 20         $query = "insert into ".$tableName." values(NULL,'".$address."',".$longitude.",".$latitude.",'".date('Y-m-d H:i:s',time())."');";
  21. 21         $result = mysql_query($query,$conn);
  22. 22         if(!$result){
  23. 23                 die("mysql error:".mysql_error());
  24. 24         }
  25. 25
  26. 26         echo "add information to database sucessfullly!";
  27. 27 ?>

Android端:

  1. package com.wenix;
  2. import java.io.IOException;
  3. import java.io.UnsupportedEncodingException;
  4. import java.net.HttpURLConnection;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import org.apache.http.HttpConnection;
  8. import org.apache.http.HttpEntity;
  9. import org.apache.http.HttpResponse;
  10. import org.apache.http.HttpStatus;
  11. import org.apache.http.NameValuePair;
  12. import org.apache.http.client.ClientProtocolException;
  13. import org.apache.http.client.HttpClient;
  14. import org.apache.http.client.entity.UrlEncodedFormEntity;
  15. import org.apache.http.client.methods.HttpPost;
  16. import org.apache.http.impl.client.DefaultHttpClient;
  17. import org.apache.http.message.BasicNameValuePair;
  18. import org.apache.http.util.EntityUtils;
  19. import android.app.Activity;
  20. import android.os.Bundle;
  21. import android.util.Log;
  22. import android.widget.TextView;
  23. public class MainActivity extends Activity {
  24. private static final String TAG = "MainActivity";
  25. TextView tv = null;
  26. /** Called when the activity is first created. */
  27. @Override
  28. public void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.main);
  31. tv = (TextView)findViewById(R.id.ouputTxt);
  32. String url = "http://10.52.31.96/server.php";
  33. HttpPost httpRequest = new HttpPost(url);
  34. List<NameValuePair> params = new ArrayList<NameValuePair>();
  35. params.add(new BasicNameValuePair("address", "hubuxiang"));
  36. params.add(new BasicNameValuePair("longitude", "100.252255"));
  37. params.add(new BasicNameValuePair("latitude", "-15.415121"));
  38. try {
  39. HttpEntity httpEntity = new UrlEncodedFormEntity(params,"utf-8");
  40. httpRequest.setEntity(httpEntity);
  41. HttpClient httpClient = new DefaultHttpClient();
  42. HttpResponse httpResponse = httpClient.execute(httpRequest);
  43. if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
  44. String result = EntityUtils.toString(httpResponse.getEntity());
  45. tv.setText(result);
  46. Log.i(TAG,"result = "+result);
  47. }else{
  48. tv.setText("request error");
  49. }
  50. } catch (UnsupportedEncodingException e) {
  51. // TODO Auto-generated catch block
  52. e.printStackTrace();
  53. } catch (ClientProtocolException e) {
  54. // TODO Auto-generated catch block
  55. e.printStackTrace();
  56. } catch (IOException e) {
  57. // TODO Auto-generated catch block
  58. e.printStackTrace();
  59. }
  60. }
  61. }

运行APP,得到如下结果:

Android与PHP服务器交互

数据库数据如下:

Android与PHP服务器交互