• Android与PHP服务器交互


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

    服务器端:server.php

    [html] view plaincopy
     
    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端:

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


    运行APP,得到如下结果:

    数据库数据如下:

  • 相关阅读:
    JB开发之二 [jailbreak,越狱开发研究]
    iOS9 Https技术预研
    Tweak和app交互方案【进程通信】
    iOS设备抓包终极解决方案(支持https)
    Anti-Anti dylib(反 反-dylib钩子(Anti-tweak))
    Hook ptrace 调试加入了ptrace函数的程序
    How do I determine if I'm being run under the debugger?
    个人整理的一些iOS Entitlements
    SQLite在多线程环境下的应用
    别的程序员是怎么读你的简历的
  • 原文地址:https://www.cnblogs.com/cugwx/p/3749481.html
Copyright © 2020-2023  润新知