Android中的网络编程

努力尽今夕,少年犹可夸。这篇文章主要讲述Android中的网络编程相关的知识,希望能为你提供帮助。
基础知识

  • 使用C#进行WebService服务器端开发
  • 使用java进行WebService客户机端开发
WebService【Android中的网络编程】目的: 用于andorid app与远端服务器交互
Web Service基础:
  • Web Service的数据格式XML
  • 面向服务的架构SOA
  • 简单对象访问协议:SOAP(HTTP底层就是SOAP协议)
  • 服务描述:WSDL(参数,操作,返回值)
  • 网上自动查找WebService:UDDI
使用方法
http://ws.webxml.com.cn/是一个提供WebService服务网站,调用相应的方法会返回对应的xml文件。
Android中的网络编程

文章图片

也可以通过iis发布c#的Web Service服务
下面是andorid内部获取Web Service的数据的方法
String nameSpace=" http://WebXml.com.cn/" ; //命名空间 String methodName=" getRegionProvince" ; //调用方法名称 String soapAction=" http://WebXml.com.cn/getRegionProvince" ; //SOAP Action上面两者结合 String endPoint=" http://ws.webxml.com.cn/WebServices/WeatherWS.asmx" ; //提供webService的地址SoapObject rpc=new SoapObject(nameSpace,methodName); //加入参数 //rpc.addProperty(" id" ,id) SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut=rpc; envelope.dotNet=true; //设置是否调用于doNet开发的WebService envelope.setOutputSoapObject(rpc); //等价于envelope.bodyOut=rpcHttpTransportSE transport=new HttpTransportSE(endPoint); try { transport.call(soapAction,envelope); }catch (Exception e) { e.printStackTrace(); }SoapObject object=(SoapObject) envelope.bodyIn; //获取返回的数据 result=object.getProperty(0).toString(); //获取返回的结果//线程传输数据 Message mm=Message.obtain(); mm.what=1; handler.sendMessage(mm);

上述操作的配套线程代码
//线程类 class TTT1 extends Thread { @Override public void run() { GetNew(); } }//线程实例 TTT work=new TTT(); work.start(); //提到数据之后的操作 private Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: //具体操作 result break; } } };

在c#当中访问当地数据库方法
//数据库的信息 string connStr = " server =.; database=News; uid=sa; pwd=123456" ; try { SqlConnection conn = new SqlConnection(connStr); conn.Open(); conn.Close(); return true; } catch { return false; }

查询操作
//数据库的信息 string connStr = " server =.; database=News; uid=sa; pwd=123456" ; try { string sqlStr = " select * from News" ; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(sqlStr, new SqlConnection(connStr)); da.Fill(ds); return ds; } catch { return null; }

其实用EF框架也挺好的
具体实例
请看这里

    推荐阅读