Android中的网络编程
基础知识
- 使用C#进行WebService服务器端开发
- 使用JAVA进行WebService客户机端开发
WebService
目的: 用于andorid app与远端服务器交互
Web Service基础:
- Web Service的数据格式XML
- 面向服务的架构SOA
- 简单对象访问协议:SOAP(HTTP底层就是SOAP协议)
- 服务描述:WSDL(参数,操作,返回值)
- 网上自动查找WebService:UDDI
使用方法
http://ws.webxml.com.cn/ 是一个提供WebService服务网站,调用相应的方法会返回对应的xml文件。
也可以通过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=rpc HttpTransportSE 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框架也挺好的
具体实例
请看这里
相关推荐
Unimen 2020-06-25
MAC2007 2020-06-06
diediexiaomi 2020-04-21
架构技术交流 2020-04-14
taishanduba 2020-04-11
kkpiece 2020-03-03
kikaylee 2020-03-03
vanturman 2020-02-10
朱建伟 2020-01-10
jackalwb 2020-01-01
TinyDolphin 2020-01-10
shengge0 2020-01-08
apowerfulman 2020-01-07
OwenJi 2019-12-29
HongKongPython 2019-12-29
zhouhaihua00 2019-12-26
htofly 2019-12-16