2012-10-25 46 views
3

我正在使用kso​​ap2進行Web服務方法調用。首先,用戶必須登錄。我希望Web服務中的其他方法只能在登錄後調用。但我不能那樣做。因爲我在Web服務中沒有任何會話。我不知道如何在Web服務中做到這一點。 Web服務如何知道用戶已經在Android應用程序中登錄?你有什麼想法,會議或餅乾:(。感謝您閱讀我的問題,這是我在Web服務代碼Android應用連接到Web服務後維護會話

public class Login { 
String message; 
Connection conn; 
String url; 
ResultSet rs; 
Statement stmt; 
public String login(String username, String password) { 
    try { 
     Class.forName("org.postgresql.Driver"); 
     url = "jdbc:postgresql://localhost:5432/FirstDB"; 
     conn = DriverManager.getConnection(
       url, "postgres", 
       "root"); 
     stmt = conn.createStatement(); 
     rs = stmt.executeQuery("SELECT * From account Where username = '"+ username + "'and password = '" + password +"'"); 
     if (rs.next()) { 
      message = "true"; 
     } else { 
      message = "false"; 
     } 
    } catch (Exception e) { 
     System.err.println("Got an exception! "); 
     System.err.println(e.getMessage()); 
    } 
    return message; 
} 

public String Test() { 
    if(message.equals("true")) 
    { 
     return "abc"; 
    } 
    return "bdf"; 
} 

}

在Android應用程序。首先,我調用該方法登錄() ,則方法測試(),結果永遠是「BDF」。

回答

1

爲了保持會話的Android應用程序,你可以使用共享偏好。

例如看到Android User Session Management using Shared Preferences

或者你可以嘗試這種方式Maintaining session in android (application stay authenticated on the server side)

+0

謝謝,但我想保持會議在Web服務,而不是在Android應用程序中的共享首選項:(。你還有其他建議嗎? – Black2910

+0

[link](http://stackoverflow.com/questions/11520099/how-to-keep-session-in-android)本主題中的問題與我的問題類似。但答案並不清楚。我不知道如何在android應用程序連接後在web服務中創建會話。 – Black2910

+0

我認爲[this](http://metatroid.com/article/Android:%20handling%20web%20service%20authentication)鏈接可能對您有所幫助。 –