多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > Android客戶端和服務器端數據交互的第二種方法

Android客戶端和服務器端數據交互的第二種方法

來源:程序員人生   發布時間:2015-01-22 09:08:43 閱讀次數:3500次

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

        1、服務器端:

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

package com.ghj.packageofservlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class AndroidServerServlet extends HttpServlet { private static final long serialVersionUID = 6792396567928634227L; public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/plain; charset=UTF⑻"); request.setCharacterEncoding("UTF⑻"); System.err.println(request.getParameter("clientData")); PrintWriter printWriter = response.getWriter(); printWriter.print("您好Android客戶端!"); printWriter.flush(); printWriter.close(); } }

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

<?xml version="1.0" encoding="UTF⑻"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>AndroidServerServlet</servlet-name> <servlet-class>com.ghj.packageofservlet.AndroidServerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AndroidServerServlet</servlet-name> <url-pattern>/AndroidServerServlet</url-pattern> </servlet-mapping> </web-app>

        2、Android手機客戶端:

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

package com.example.androidclient; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class AndroidClientActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.android_client); Button sendButton = (Button) findViewById(R.id.send_button); sendButton.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { new Thread(new Runnable(){ @Override public void run() { HttpPost httpRequest = new HttpPost("http://172.16.99.207:8080/AndroidServer/AndroidServerServlet"); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("clientData", "您好服務器端!")); try { Message message = new Message(); Bundle bundle = new Bundle(); httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));//設置要求參數項 HttpClient httpClient = new DefaultHttpClient(); HttpResponse httpResponse = httpClient.execute(httpRequest);//履行要求返回響應 if(httpResponse.getStatusLine().getStatusCode() == 200){//判斷是不是要求成功 bundle.putString("msg", EntityUtils.toString(httpResponse.getEntity())); }else{ bundle.putString("msg", "沒有獲得到Android服務器真個響應!"); } message.setData(bundle); handler.sendMessage(message); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }).start(); } }); } private Handler handler = new Handler(){ @Override public void handleMessage(Message message) { super.handleMessage(message); Bundle bundle = message.getData(); String msg = bundle.getString("msg"); Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show(); } }; }

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/send_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@string/hello_server" /> </RelativeLayout>

       【0分下載該Demo

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 黄色a大片 | 日韩精品视频一区二区三区 | 夜夜影院未满十八勿进 | 亚洲欧美另类在线视频 | 国产日韩欧美综合一区 | 日韩欧美亚洲国产精品字幕久久久 | 国产福利不卡视频在免费 | 亚洲黄色在线网站 | 久久国产精品自由自在 | 精品久久久久久影院免费 | 91九色最新地址 | 另类欧美日韩 | 最新国产精品精品视频 | 视频一区色眯眯视频在线 | 国产成人免费在线视频 | 日本不卡免费高清一级视频 | 中文字幕看片在线a免费 | 亚洲码欧美码一区二区三区 | 亚洲国产精品一区二区三区在线观看 | 欧美精品一国产成人性影视 | 一级做a爱片久久毛片 | 亚洲情人网 | 午夜毛片不卡高清免费 | 色播网址 | 欧美日韩国产在线观看 | 噜噜噜在线视频 | 婷婷色九月综合激情丁香 | 手机看片日韩国产一区二区 | 亚洲一区二区三区在线网站 | 99热这里只精品99re66 | 国产精品深夜福利免费观看 | 国产一区二区三区在线看 | 在线观看噜噜噜私人影院 | freesex性欧美重口 | 在线观看a网站 | 无夜精品久久久久久 | 国产高清免费不卡观看 | japanese日本护士xxx爽 | 免费一区区三区四区 | 欧美丝袜高跟鞋一区二区 | 亚洲视频中文字幕 |