`
weizhai12
  • 浏览: 149372 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android中使用webservice验证用户登录的示例

阅读更多

前段时间做了2个Android方面的项目,现在想抽空对其中的有些知识点进行下总结,也算进一步的学习了。

由于开发手机客户端一般都要和服务器打交道,因此用户的登录验证在一般的应用中都少不了。因而我将以前做的项目中的使用webservice验证的这块

单独写出来了。我们的手机应用的服务器端采用的是Asp.net开发的,因而webservice的开发也是用C#开发的,发布在IIS上的。

在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WebService库非常丰富,但这些对Android来说过于庞大。适合手机的WebService客户端的SDK有一些,比较常用的是KSOAP2。

KSOAP2 地址:http://code.google.com/p/ksoap2-android/

我们在项目中使用的是: ksoap2-android-assembly-2.4-jar-with-dependencies.jar。

在项目中引用KSOAP2后,我们就要引入下面几个包了:

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

然后我们就要编写调用验证用户登录的方法,并在其中调用webservice方法了,代码如下:

public String GetUserWS(String methodName, String[] parameterList) {
// 创建SoapObject对象,并指定WebService的命名空间和调用的方法名
SoapObject request = new SoapObject(Config.NAMESPACE, methodName);
// 调用的函数如果有参数,这里可以设置需要传递的参数 注意:第一个参数使用arg0 多个参数依次类推 arg1,arg2...
if (parameterList != null) {
// for (int i = 0; i < parameterList.length; i++) {
request.addProperty("key", parameterList[0]);
request.addProperty("userName", parameterList[1]);
request.addProperty("passWord", parameterList[2]);

// }
}

// 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// envelope.setOutputSoapObject(request);
// 上边的一句等价于下边的这句 将SoapObject对象赋给envelope对象
envelope.bodyOut = request;
// 当前开发的是.net WS 这里需要不调用Java WS
envelope.dotNet = true;

/*
* 这里不要使用 AndroidHttpTransport ht = new AndroidHttpTransport(URL);
* 这是一个要过期的类
* 创建HttpTransportSE对象。通过HttpTransportSE类的构造方法可以指定WebService的WSDL文档的URL
*/

//这里的SOAP_GETUSERINFOACTION = "http://172.16.xx.xxx:3366/Service/EWineService.asmx?op=Mobile_GetUserInfo";
HttpTransportSE ht = new HttpTransportSE(Config.SOAP_GETUSERINFOACTION);

try {
// 请求WS
ht.call(Config.SOAP_ACTION, envelope);
if (envelope.getResponse() != null) {
// 获得WS函数返回值信息
// System.out.println(envelope.getResponse().toString());
Log.d("wine", "GetUserWS Result:"
+ envelope.getResponse().toString());
return envelope.getResponse().toString();
}

} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
Log.d("wine", "GetUserWS Error:" + e.getMessage());
}
return null;
}


具体的调用代码如下:

// 点确定按钮所执行的东东
String[] parameterList = new String[3];
parameterList[0] = LOGINKEY;
parameterList[1] = TxtUser.getText().toString();
parameterList[2] = TxtPassword.getText().toString();

//注意Config.METHOD_GETUSERINFO是具体调用的webservice中方法名,例如:METHOD_GETUSERINFO = "Mobile_GetUserInfo";
// 调用webService
String strRemoteInfo = GetUserWS(Config.METHOD_GETUSERINFO,
parameterList);





分享到:
评论

相关推荐

    ANDROID中使用WEBSERVICE验证用户登录的示例

    以上就是Android中使用WebService验证用户登录的基本流程和技术要点,实际开发中还需要结合项目需求和具体情况进行调整优化。通过这个示例,开发者可以了解如何构建一个完整的用户登录验证系统,为Android应用提供...

    Android通过webservice连接Sqlserver实例

    本文将详细介绍如何在Android应用中利用WebService接口连接到SQLServer数据库,实现数据的增删改查操作。 首先,理解概念: 1. Android:Android是一种开源操作系统,主要用于移动设备,如智能手机和平板电脑。 2. ...

    android 调用 Webservice源码

    这样的示例不仅适用于基础的数学运算,还可以扩展到其他复杂业务场景,例如用户注册、登录验证、数据同步等。在实际项目中,通常会结合JSON或XML格式的数据交换,提高数据传输效率和解析的便利性。 总之,Android...

    安卓Android源码——WebService+ksoap2天气查询项目.zip

    总的来说,这个项目是学习如何在Android应用中使用ksoap2库与SOAP WebService进行交互的绝佳实践。通过研究源代码,开发者可以深入理解Android网络请求的实现过程,提高自己的Android开发技能。

    Android 上传文件到c# webservice

    在本场景中,我们讨论的是如何将Android设备上的文件上传到由C#编写的Web服务(WebService)。以下是对这个过程的详细解释: 1. **Android端的文件选择与读取**: - Android应用首先需要获取用户选择的文件。可以...

    Android配合WebService(包含包)

    在Android应用中,这样的功能可以用于用户登录验证、获取动态数据(如新闻、天气等)、保存用户数据到云端等场景。 总之,Android配合WebService的开发涉及网络通信、数据序列化和反序列化、错误处理等多个方面。...

    Android+Webservice Oracle

    最后,`webService`可能是一个示例的Web服务接口或者一个测试服务器地址,用于演示如何从Android客户端调用服务端方法,获取Oracle数据库中的数据。在实际项目中,这个接口可能包括增删改查(CRUD)操作,以及更复杂...

    Android使用webservice客户端实例

    8. **登录示例**:在"LoginTest"这个例子中,可能涉及到用户验证。客户端向Web服务发送包含用户名和密码的请求,服务器验证后返回成功或失败的信息。这通常涉及XML或JSON格式的数据交换。 9. **源码分析**:Android...

    webservice中英文翻译

    描述中的"简单的Web服务小例子"可能是指一个小型的示例项目,用于展示如何创建和使用Web服务。这样的例子通常包括客户端和服务端两部分。服务端提供Web服务,客户端则调用这些服务,完成特定的任务。这可以帮助初学...

    android webservice 对象序列化例子

    本示例“android webservice 对象序列化例子”关注的就是如何在Android应用中处理这一过程。 **对象序列化** 是将Java对象转换为可以存储或传输的数据格式的过程。在Android中,这通常是将对象转换为XML或JSON字符...

    android请求webservice

    本示例将探讨如何在Android应用中使用POST方法请求WebService,同时也会提及一个已包含的Web项目,便于快速部署和运行代码。 首先,我们要了解什么是WebService。WebService是一种基于网络的、分布式的模块化组件,...

    android基于webservice云端运用最新代码EasyEnglish

    "android基于webservice云端运用最新代码EasyEnglish"是一个示例项目,展示了如何在Android应用中集成Webservice技术,可能是为了提供英语学习相关的服务。这个项目的重点可能在于如何与云端进行有效且安全的通信,...

    android调用webservice实现手机归属查询

    解析JSON数据为Java对象,以便在Android应用中使用。 5. **权限管理**: 在Android中,进行网络操作需要在`AndroidManifest.xml`中声明`INTERNET`权限。 6. **线程管理**: 网络请求不应在主线程上执行,以免阻塞...

    Android 中利用 ksoap2 调用 WebService的示例代码

    以下是一个详细的步骤和示例代码,说明如何在Android中利用ksoap2调用WebService。 1. **添加ksoap2依赖** 首先,你需要下载ksoap2的jar文件,如`ksoap2-android-assembly-3.6.1-jar-with-dependencies.jar`。将这...

    Android交互WebService Demo

    在Android中,我们可以使用内置的`org.xmlpull.v1.XmlPullParser`库来解析XML响应。首先,我们需要创建一个解析器实例,并设置输入源。然后,通过监听事件(如START_TAG、END_TAG等)来提取XML中的节点信息。 2. **...

    android webservice 教材,包含几十个文件

    Android Webservice教材是针对Android开发者设计的一套学习资源,它涵盖了使用Android平台与Web服务进行交互的各种技术。在Android应用开发中,Web服务通常用于获取远程数据、实现云同步等功能,使得应用程序能够与...

    安卓连接Webservice

    本项目"安卓连接Webservice"是一个示例,展示了如何在Android应用中实现这一功能。 一、SOAP与RESTful Web Service 1. SOAP(Simple Object Access Protocol):SOAP是一种基于XML的协议,主要用于Web服务通信。它...

    android_ksoap2_cxf_wss4j_authentication

    在提供的文件`wsserver2`和`cxf_webservice_android`中,很可能是服务器端的配置和Android客户端的示例代码,具体实现细节需参考这些文件内容。总的来说,实现Android客户端与使用Apache CXF和WSS4J的Web服务的认证...

    android访问webservice

    10. **实际应用**:在实际开发中,可能需要对请求参数进行加密,或者使用Token验证身份。同时,考虑到性能和用户体验,可以使用缓存策略,减少不必要的网络请求。 以上是关于“android访问webservice”的核心知识点...

    android webservice 客户端、服务端实例

    本实例将深入探讨如何构建一个Android Web Service客户端和服务端,并提供可直接运行的代码示例。以下是对这两个重要组件的详细说明。 **一、Android Web Service客户端** 在Android客户端,通常使用HTTP库来调用...

Global site tag (gtag.js) - Google Analytics