<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android 調用 WCF

      近期工作中項目需要開發一個Android客戶端,調用WCF服務獲取數據。我之前沒有做過Android上的Web Service開發,臨時查了一下,整理出一個完整的例子,備忘。

      測試代碼下載

       

      1、創建一個WCF服務項目:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      2、添加一個很簡單的方法,輸出一個字符串:

       

       

       

       

       

       

       

       

       

       

      注意UriTemplate 的寫法,多個參數依此類推。BodyStyle 指定為允許多個參數,數據格式使用移動終端友好的Json格式,XML數據冗余性太大。

       

       

       

       

       

       

       

       

       

      3、修改 web.config

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      使用webHttpBinding 針對于 Restful Web Service,若使用basicHttpBinding則針對于 SOAP Web Service。

       

      4、編譯成功后,使用VS 發布到IIS中:

      先在IIS中建立一個網站:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      然后發布到該網站中:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      發布成功后,在瀏覽器中查看WCF服務確認發布成功:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      5、下面開始開發Android客戶端測試程序,在Eclipse中創建一個Android項目:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      6、就放置一個按鈕,點擊按鈕時調用WCF服務:

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      7、若調用成功,記錄一條日志:

      package com.brooks.wcfdemo;

       

      import java.io.IOException;

      import java.io.InputStreamReader;

      import java.io.UnsupportedEncodingException;

       

      import org.apache.http.HttpEntity;

      import org.apache.http.HttpResponse;

      import org.apache.http.client.methods.HttpGet;

      import org.apache.http.impl.client.DefaultHttpClient;

      import org.apache.http.protocol.HTTP;

       

      import android.app.Activity;

      import android.os.Bundle;

      import android.util.Log;

      import android.view.Menu;

      import android.view.View;

       

      public class MainActivity extends Activity {

       

      @Override

      public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

      }

       

      @Override

      public boolean onCreateOptionsMenu(Menu menu) {

      getMenuInflater().inflate(R.menu.activity_main, menu);

      return true;

      }

       

      public void WCFTestLinstener(View view)

      {

          new Thread(WCFTest).start();

      }

       

      Runnable WCFTest = new Runnable(){

              public void run() {

               // TODO Auto-generated method stub

                  CallWCF();

                  }

      };

       

      private void CallWCF() {

      try {

      // Send GET request to <service>/GetPlates

      HttpGet request = new HttpGet("http://192.168.0.100:90/AndroidService.svc/fnTest/WCF");

      request.setHeader("Accept", "application/json");

      request.setHeader("Content-type", "application/json");

       

      DefaultHttpClient httpClient = new DefaultHttpClient();

      HttpResponse response = httpClient.execute(request);

       

      HttpEntity responseEntity = response.getEntity();

       

      Log.d("WCF", retrieveInputStream(responseEntity));

      } catch (Exception e) {

      e.printStackTrace();

      }

      }

       

      protected String retrieveInputStream(HttpEntity httpEntity) {

      int length = (int) httpEntity.getContentLength();

      if (length < 0)

      length = 10000;

      StringBuffer stringBuffer = new StringBuffer(length);

      try {

      InputStreamReader inputStreamReader = new InputStreamReader(

      httpEntity.getContent(), HTTP.UTF_8);

      char buffer[] = new char[length];

      int count;

      while ((count = inputStreamReader.read(buffer, 0, length - 1)) > 0) {

      stringBuffer.append(buffer, 0, count);

      }

      } catch (UnsupportedEncodingException e) {

       

      } catch (IllegalStateException e) {

       

      } catch (IOException e) {

       

      }

      return stringBuffer.toString();

      }

      }

       

       

      因為Android 高版本對主線程上的操作做了限制,故需要異步調用。

      首先使用模擬器測試:

      手機開啟Wifi后,就可以在真機進行測試了:

      posted @ 2012-08-22 22:36  江蘇瑞步科技  閱讀(16220)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 最新精品国产自偷在自线| 国产蜜臀在线一区二区三区| 国产成人精品无码播放| 亚洲国产美女精品久久久久| 中文字幕国产精品资源| 亚洲熟妇色自偷自拍另类| 精品粉嫩国产一区二区三区| 26uuu另类亚洲欧美日本| 少妇被爽到高潮喷水久久欧美精品 | 精品视频不卡免费观看| www国产精品内射熟女| 国产精品久久久午夜夜伦鲁鲁| 麻豆国产va免费精品高清在线| 国产黄色三级三级看三级| 男人j进入女人j内部免费网站| 欧美大bbbb流白水| 国产av一区二区麻豆熟女| 搡老熟女老女人一区二区| 国产播放91色在线观看| 午夜精品一区二区三区成人 | 亚洲欧美日本久久网站| 开封市| 国产精品天天看天天狠| 中文字幕人妻日韩精品| 淮滨县| 国产亚洲精品在av| 国产第一页浮力影院入口| 福利一区二区不卡国产| 黄色特级片一区二区三区| 国产精品人妻熟女男人的天堂| 国产精品视频白浆免费视频| 国产精品一区二区中文| 春色校园综合人妻av| 国产自产一区二区三区视频| 国产香蕉一区二区三区在线视频| 午夜福利国产精品视频| 久久这里都是精品二| 国产极品嫩模在线观看91| 免费A级毛片无码A∨蜜芽试看| 一区二区三区综合在线视频| 天堂网亚洲综合在线|