Android使用WCF的服务程序之入门

来源:互联网 发布:费城实验是真的吗 知乎 编辑:程序博客网 时间:2024/06/06 21:38

最近项目在进行准本上线,但是由于操作人员不能长久的盯着PC端的程序或者由于人不在电脑旁不能解决紧急问题,因此设计由PC端程序和手机精简客户端共同来触发管理。

由于PC端的程序是以.NET 为基础框架进行开发的。因此尝试着使用Android来调用服务程序完成中间的功能链接。流程如下所述:

  1. 首先准备好提供数据以及提供数据处理的服务接口,然后发布
  2. 创建Android精简客户端,然后使用网络访问程序进行调用服务
  3. 通过POST或者GET 来进行服务程序的调用,并获取调用结果
  4. 数据刷新并提示结果

创建WCF服务程序

1.创建一个契约 包含 getdatas()方法并实现

2.修改web配置文件。具体如下:

 <system.serviceModel>    <behaviors>      <serviceBehaviors>        <behavior name="">          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->          <serviceMetadata httpGetEnabled="true"/>          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->          <serviceDebug includeExceptionDetailInFaults="false"/>        </behavior>      </serviceBehaviors>      <endpointBehaviors>        <behavior name="httpBehavior">          <webHttp/>        </behavior>      </endpointBehaviors>    </behaviors>    <serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true"/>    <services>      <service name="WcfServiceDemo01.Service1">        <endpoint address="" behaviorConfiguration="httpBehavior" binding="webHttpBinding" contract="WcfServiceDemo01.IService1"/>      </service>    </services>  </system.serviceModel>

3.发布为服务

4.创建Android应用程序

5.使用HttpUrlConnection访问已经发布的服务

private final static String SERVICE_URI = "http://120.24.65.182/Service1.svc";String connString=SERVICE_URI + "/GetDatas";            URL url=new URL(connString);            HttpURLConnection conn= (HttpURLConnection) url.openConnection();            conn.setRequestMethod("GET");            InputStream is = null;            conn.connect();            if (conn.getResponseCode() >= 200 && conn.getResponseCode() < 400) {                // Create an InputStream in order to extract the response object                is = conn.getInputStream();            }            else {                is = conn.getErrorStream();            }            String dd=is.toString();            BufferedReader br = new BufferedReader(new InputStreamReader(is));            String response = "";            String readLine = null;            while((readLine =br.readLine()) != null){                //response = br.readLine();                response = response + readLine;            }            is.close();            br.close();            conn.disconnect();            Message msg=new Message();            msg.obj=response;            msg.what=1;            handler.sendMessage(msg);
6.在handler程序中刷新TextView控件,运行结果如下。

图一:访问网络之前:


图二 访问网络之后



                    

0 0
原创粉丝点击