Android网络传包注意事项

1、若要访问手机网络是否连接,必须设置网络访问权限,否则连接网络时会出现异常
 设置网络权限的方法,在AndroidMainfest.xml中增加
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 设置权限属性要在application标签外
2、当一个类实现接口OnClickListener时,会提示你有错,实际上并不是有错误,只是你还没有重载onClick函数,
当你实现此函数后,错误提示就不见了
3、若要进行网络传包,要有命名空间、类型、序列化方式等,下面给出一个调用服务器接口ns__UserLogon的例子
 服务器接口:ns__UserLogon(struct soap* soap, char *UserName, char *PassWord, long UserType, long &LogResult)
 android客户端调用方式如下:
 sbf.append("<?xml version=\"1.0\" encoding=\"utf-8\"?><SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:ns=\"urn:SeWS\"><SOAP-ENV:Body SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><ns:UserLogon><UserName>"
    + userName
    + "</UserName><PassWord>"
    + md5passWord
    + "</PassWord><UserType>"
    + 0
    + "</UserType></ns:UserLogon></SOAP-ENV:Body></SOAP-ENV:Envelope>");
 HttpClient httpClient = new DefaultHttpClient();
 HttpPost post = new HttpPost(serverUrl);
 StringEntity entity = new StringEntity(sbf.toString(), "utf-8");
 post.setEntity(entity);
 HttpResponse response = httpClient.execute(post);
 说明:必须要有命名空间等的说明,然后通过HttpClient执行字串实现网络传包
4、调用接口函数的返回值类型为输入流,若要进行判断,可将输入流类型的返回值进行转换,如下:
 InputStream is = response.getEntity().getContent();
 /*将流is进行转换*/
 Long responseCode = UserLoginParser.getLoginCode(is);
5、使用SharedPreferences共享数据时,当用到Editor的putString函数之后,一定不要忘记调用函数commit进行提交,否则键中是没有值的
6、sp = getSharedPreferences("configs", MODE_PRIVATE);
上面这条语句并不能放到事件响应函数onClick中,要放到onCreate函数中
7、有关WebService:
每个Web服务发布后都会有一个发布地址,别人可以通过这个地址访问服务提供的接口。Web服务的发布地址
就是将这个Web服务架到那个地址处,供别人使用接口。
8、若要使用别人写的Web服务的接口函数,发包前一定要获取到一下几点:
 1)、要调用的接口函数名、参数名、参数类型和返回值类型
 2)、所调用的接口所属命名空间,序列化方式等等
 3)、Web的发布地址—告诉客户端我要使用哪个Web服务

转载于:https://www.cnblogs.com/lilideboke/p/3225802.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值