如何从android客户端调用RESTWCF服务

本文关键字:调用 RESTWCF 服务 客户端 android | 更新日期: 2023-09-27 18:25:34

我在一个项目中工作,我必须从Android客户端应用程序访问后端服务以进行用户身份验证。因此,我创建了一个WCF REST服务,该服务具有以下结构。

    //<summary>
    // Checks whether user is exists or not
    // </summary>
    // <param name="UserName"></param>
    // <param name="Password"></param>
    // <returns></returns>
    [OperationContract]
    [WebGet(UriTemplate = "IsUserExist/{UserName}/{Password}", ResponseFormat = WebMessageFormat.Json)]
    bool IsUserExist(string UserName, string Password);

    // <summary>
    // Log the time of specified user
    // </summary>
    // <param name="UserName"></param>
    [OperationContract]
    [WebGet(UriTemplate = "LogTime/{username}", ResponseFormat = WebMessageFormat.Json)]
    string LogTime(string UserName);

我已经成功地在IIS中部署了它。我可以很容易地从浏览器调用该服务来执行用户身份验证,效果很好。

http://localhost:9001/HNNDataSerivce/LogInService.svc/IsUserExist/Bob/pass123
http://localhost:9001/HNNDataSerivce/LogInService.svc/LogTime/Bob

这个服务调用分别以布尔值和字符串的形式返回所需的值。

现在我想从一个android客户端进行相同的服务调用。为此,我创建了一个带有文本框和按钮的简单演示应用程序。当用户在文本框中指定用户名和密码时,当用户单击按钮时,我想实现以下身份验证过程。

    public void LoginButtonClick(View v) {
    if(IsUserExist(UserName, Password))
        LogTime(UserName)
    else
    // show invalid user message
}

如何从android客户端调用RESTWCF服务

这里有一个简单的REST客户端库,您可以从Android调用它。其中包括一个Android示例。

https://github.com/MelbourneDeveloper/RestClient.Net

代码都是开源的,所以如果需要的话,你可以获取你需要的部分。

编辑:repo已从Bitbucket移动到Github