Android 用户远程验证----XFIRE,BASE64,KSOAP,WEBSERVICE
Android 用户远程验证----XFIRE,BASE64,KSOAP,WEBSERVICE
在Android开发过程中,不一定都用本地文件系统或本地数据库SQLite,比如QQ,用户的帐号数据都存储远程服务器上。而访问远程数据库有很多种方式,比如HTTPCLIENT,WEBSERVICE,SOCKET等多种方式,即分别为http通信,webservice(Web服务通信),还有socket套接字通信等等,限于篇幅,本文我只讲解讲一下webservice方式。其他方式,在其他的文档再讲。第一步,在要android中使用web服务,我们得先配置好web服务 器端。我使用了java webservice---XFIRE框架。
相信XFire的优点不用多说,google,百度一下就知道了。我这里主要讲解配置过程。配置一个简单的webservice,相信配置了该webservice。
xfire使用接口和接口实现类来实现远程方法提拱。这样可以将接口公布给客户端,但android提拱了ksoap框架类,一种全新的实现方式,就不需要使用远程接口。只要配置好相关参数和方法即可。
废话不多说了,帖上代码:
- //将 POJO 发布成 Web 服务:有两种方法,接口和实现类是其中之一
- public interface IAccount {
- public int account(int x,int y);
- public String helloWorld(String str);
- //访问mysql数据库
- public int login(String username,String password);
- }
这个是接口类,再帖出实现类。
- public class AccountImp implements IAccount {
- public int account(int x, int y) {
- // TODO Auto-generated method stub
- return x*y;
- }
- public String helloWorld(String str) {
- // TODO Auto-generated method stub
- return str;
- }
- public int login(String username, String password) {
- // TODO Auto-generated method stub
- String decodeusername="",decodepassword="";
- //对密码进行解密码
- try {
- decodeusername=new String(com.base.encry.decry.app.Base64.decode(username));
- decodepassword=new String(com.base.encry.decry.app.Base64.decode(password));
- } catch (UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- ConnDB connDB=new ConnDB();
- return connDB.login(decodeusername, decodepassword);
- }
- }
下面我着重讲一下login方法,它里面有两个类提拱方法以实现其功能。
|
评论暂时关闭