Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android客戶端和服務器端數據交互,android服務器端

Android客戶端和服務器端數據交互,android服務器端

編輯:關於android開發

Android客戶端和服務器端數據交互,android服務器端


 網上有很多例子來演示Android客戶端和服務器端數據如何實現交互不過這些例子大多比較繁雜,對於初學者來說這是不利的,現在介紹幾種代碼簡單、邏輯清晰的交互例子,本篇博客介紹第四種:

        一、服務器端:

        代碼1:添加名為“AndroidServerServlet.Java”的文件

[java] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. package com.ghj.packageofservlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. public class AndroidServerServlet extends HttpServlet {  
  12.   
  13.     private static final long serialVersionUID = 6792396567928634227L;  
  14.   
  15.     public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {  
  16.         response.setContentType("text/plain; charset=UTF-8");  
  17.         request.setCharacterEncoding("UTF-8");  
  18.         System.err.println(request.getParameter("clientData"));  
  19.         PrintWriter printWriter = response.getWriter();  
  20.         printWriter.print("您好Android客戶端!");  
  21.         printWriter.flush();  
  22.         printWriter.close();  
  23.     }  
  24. }  

        代碼2:修改名為“web.xml”的文件

[html] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  6.   
  7.     <servlet>  
  8.         <servlet-name>AndroidServerServlet</servlet-name>  
  9.         <servlet-class>com.ghj.packageofservlet.AndroidServerServlet</servlet-class>  
  10.     </servlet>  
  11.   
  12.     <servlet-mapping>  
  13.         <servlet-name>AndroidServerServlet</servlet-name>  
  14.         <url-pattern>/AndroidServerServlet</url-pattern>  
  15.     </servlet-mapping>  
  16. </web-app>  

        二、Android手機客戶端:

        代碼1:下載名為android-async-http-1.4.6.jar的jar文件,下載地址:http://download.csdn.net/download/wangshuxuncom/8116169

        代碼2:添加名為“AndroidClientActivity.java”的文件

[java] view plain copy
  1. package com.example.androidclient;  
  2.   
  3. import org.apache.http.Header;  
  4.   
  5. import android.app.Activity;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10. import android.widget.Toast;  
  11.   
  12. import com.loopj.android.http.AsyncHttpClient;  
  13. import com.loopj.android.http.AsyncHttpResponseHandler;  
  14. import com.loopj.android.http.RequestParams;  
  15.   
  16. public class AndroidClientActivity extends Activity {  
  17.       
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.android_client);  
  22.   
  23.         Button sendButton = (Button) findViewById(R.id.send_button);  
  24.         sendButton.setOnClickListener(new OnClickListener(){  
  25.             @Override  
  26.             public void onClick(View v) {  
  27.                 RequestParams requestParams = new RequestParams();  
  28.                 requestParams.add("clientData", "您好服務器端!");  
  29.                 new AsyncHttpClient().post("http://172.16.99.207:8080/AndroidServer/AndroidServerServlet", requestParams, new AsyncHttpResponseHandler() {  
  30.                     @Override  
  31.                     public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {  
  32.                         if(statusCode == 200){  
  33.                             Toast.makeText(AndroidClientActivity.this, new String(responseBody), Toast.LENGTH_LONG).show();  
  34.                         }  
  35.                     }  
  36.                     @Override  
  37.                     public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {  
  38.                         Toast.makeText(AndroidClientActivity.this, "沒有獲取到Android服務器端的響應!", Toast.LENGTH_LONG).show();  
  39.                     }  
  40.                 });  
  41.             }  
  42.         });  
  43.     }  
  44. }  

        代碼3:添加名為“android_client.xml”的文件

[html] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:paddingBottom="@dimen/activity_vertical_margin"  
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  7.     android:paddingRight="@dimen/activity_horizontal_margin"  
  8.     android:paddingTop="@dimen/activity_vertical_margin"  
  9.     tools:context=".MainActivity" >  
  10.   
  11.    <Button  
  12.        android:id="@+id/send_button"  
  13.        android:layout_width="wrap_content"  
  14.        android:layout_height="wrap_content"  
  15.        android:layout_centerHorizontal="true"  
  16.        android:layout_centerVertical="true"  
  17.        android:text="@string/hello_server" />  
  18.   
  19. </RelativeLayout> 

        說明:使用android-async-http-1.4.6.jar jar這種形式實現Android客戶端和服務器端數據交互是最常用的大笑大笑大笑

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved