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