2012-10-25 3 views
3

웹 서비스 메소드 호출에 ksoap2를 사용하고 있습니다. 먼저 사용자가 로그인해야합니다. 웹 서비스의 다른 메소드가 로그인 한 후에 만 ​​호출 할 수있게하고 싶습니다. 그러나 나는 그것을 할 수 없다. 웹 서비스에는 어떤 세션도 없기 때문에. 나는 웹 서비스에서 그렇게하는 법을 모른다. 웹 서비스에서 사용자가 이미 Android 앱에 로그인했다는 것을 어떻게 알 수 있습니까? 당신은 어떤 아이디어, 세션이나 쿠키 :(내 질문을 읽어 주셔서. 감사가 있습니까. 여기에 내 웹 서비스 코드 안드로이드 응용 프로그램에서Android 앱이 웹 서비스에 연결 한 후 세션 유지 보수

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"; 
} 

}

이다. 우선이 방법 로그인()를 호출 다음 방법은 테스트(). 그 결과는 항상 "BDF"합니다.

답변

1

당신이 공유 설정을 사용할 수있는 안드로이드 응용 프로그램에서 세션을 유지하기 위해.

예를 들어 볼 Android User Session Management using Shared Preferences

,

또는이 방법으로 시도 할 수 있습니다. Maintaining session in android (application stay authenticated on the server side)

+0

감사합니다. 그러나 웹 서비스에서 세션을 유지하고 싶지만 안드로이드 응용 프로그램의 공유 환경 설정은 유지하고 싶지 않습니다. 다른 아이디어가 있습니까? – Black2910

+0

[link] (http://stackoverflow.com/questions/11520099/how-to-keep-session-in-android)이 항목의 질문은 내 문제와 유사합니다. 그러나 대답은 확실하지 않습니다. 그리고 안드로이드 애플 리케이션이 연결된 후에 웹 서비스에서 세션을 만드는 방법을 모르겠습니다. – Black2910

+0

[this] (http://metatroid.com/article/Android:%20handling%20web%20service%20authentication) 링크를 클릭하면 도움이 될 것이라고 생각합니다. –