2015-12-02 138 views
0

我正在一個項目中,我必須從Android客戶端應用程序訪問後端服務進行用戶認證。因此,我創建了具有以下結構的WCF REST服務。如何從Android客戶端調用REST WCF服務

//<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 

} 
+0

尋找Android的改造 – j2emanue

+0

作爲旁白的問題:爲什麼是** Login **方法稱爲IsUserExists? –

+0

@cFrozenDeath調用IsUserExists的原因是爲了確保指定的用戶是否存在於數據庫中。如果它存在,則會調用LogTime函數來記錄日誌記錄的時間。 – nabin

回答