마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

로그인 관련 클래스를 따로 떼어놓는 방법있나요?

0 추천
 개발하다보니 메인 액티비티에서 로그인 여부를 판
단할때 한번 그리고 로그인이 안되어 있는 경우에 로그
인 액티비티로 보내서 한번 로그인을 합니다.

 뭐 그 외에도 늘어날 수 있겠다 싶어서 로그인 관련 클
클래스를 하나 만들고 그 클래스 생성자에 아이디와 비밀
번호만 넣어서 생성하면 이 클래스에서 알아서 로그인 처
리를 해서 필요한 회원 정보를 가져오게 만들고 싶습
니다.

그런데 문제는 로그인은 가능한데(스레드를 사용했음) 로
로그인한 이후의 정보를 어떻게 호출한 액티비티에 전달해야
 할지 모르겠네요. 
즉...

// 호출하는 쪽 //
LoginProcess cUser = new LoginProcess(userid, passwd);

// LoginProcess.java 의 핸들러 //
Handler mHandler = new Handler() {
  public void handleMessage(Message msg) {
    String sresult = msg.getData().getString("result");
    // 여기서 어떻게 호출한 쪽에 값을 전달해 주나요?
  } 
};

다른분들은 로그인을 어떻게 처리하시나요? 로그
인이 필요한 액티비티마다 따로 코드 죽 작성하는 방법
으로는 됩니다만... 지저분합니다.

 

yamong (560 포인트) 님이 2013년 3월 25일 질문

4개의 답변

0 추천
저는 Application 클래스를 사용합니다~

일반적인 static 클래스 보다 더 편한거 같아요 ㅋ
갈무리 (12,430 포인트) 님이 2013년 3월 25일 답변
0 추천
콜백 인터페이스를 하나 만드셔서 LoginProcess 생성자에 같이 넘겨주시고,

LoginProcess 에서는 회원정보를 가져오는게 끝나면 그 콜백 함수로 데이터를 넘겨주시면 되겠죠
b22n (22,940 포인트) 님이 2013년 3월 25일 답변
0 추천
엑티비티 전체적으로 사용을 한다면 application 객체에 변수를 만들어 관리하는것도 한가지 방법입니다.

쉐어드 프리퍼런스를 이용할수도 있고 DB를 사용할수도 있겠지요.

 

요지는 로그인한 정보를 어느 엑티비티에서든 조회할수있어야 하는것이니까요.

DB던 프리퍼런스던 메소드로 만들어서 어디서든 호출하게 만들면 코드가 그리 지저분 하진 않습니다.
이라슈 (8,770 포인트) 님이 2013년 3월 25일 답변
0 추천
저라면..

LoginProcess를 싱글톤으로 만들고, login(아이디, 암호, 콜백 리스너) 메소드를 하나 만들고,

로그인 결과를 특정 멤버 변수에 저장하고, 콜백 리스너를 이용하여 호출한 넘한테 알려주겠습니다.

로그인 결과는 언제든 이용할 수 있게 getter로 조회할 수 있게 처리하구요..

콜백 리스너는 우리가 자주 사용하는 OnClickListener 같은 것처럼 인터페이스로 만들면 됩니다.
isul (7,920 포인트) 님이 2013년 3월 25일 답변
...