我正在一个项目中工作,我必须从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
此服务调用分别返回所需的值boolean和string。
现在我想从Android客户端进行相同的服务调用。为此,我创建了一个带有文本框和按钮的简单演示应用程序。用户在文本框中指定用户名和密码,当用户单击按钮时,我想实现以下身份验证过程。
public void LoginButtonClick(View v) {
if(IsUserExist(UserName, Password))
LogTime(UserName)
else
// show invalid user message
}
这是一个简单的REST客户端库,您可以从Android调用它。有一个Android示例包括在内。
https://github.com/MelbourneDeveloper/RestClient.Net
代码都是开源的,因此您可以根据需要抓取所需的位。
编辑:回购从Bitbucket转移到Github