2011-03-20 7 views
1

Android 앱을 제작 중이며 처음에 로그인 확인을 구현하고 싶습니다. 주 활동을 시작하고 사용자가 로그인했는지 확인합니다 (내 응용 프로그램 클라이언트 키로 "getSharedPreferences"를 호출하여 확인). 비어있는 경우 startActivity (Login.class), 로그인 활동에서 로그인 관리 사용자가에서 loged 경우 관리하는 좋은 방법입니다 android 앱에 로그인 창 구현

  1. 는 안드로이드 "레지스트리"된 SharedPreferences를 사용하는 공유 prefernece에 저장 한 다음 startActivity를 (Main.class가)를 호출?
  2. 이 좋은가요 startActivity를 두 가지 활동 모두에서 사용하는 연습을해야합니까? 아니면 어떻게해야할까요? 첫 번째 기본 활동으로 돌아가서 다시 로그인 확인을 시작해야합니다 (이번에는 통과 할 것입니다). 또는 여기에서 활동의 플래그 "singleTop"은 무엇입니까? 액티비티가 첫 번째 Main을 호출합니다. 나는 새 것을 만들지 않았고 만들지 않았는가?

답변

1

질문 1 :만큼이 핵심이기 때문에 것을 당신이 웹 서비스 또는 무언가에 대해 그것을 확인 후는 안전합니다. "logged = 1"처럼 사용자가 설정하는 플래그 일 경우 SharedPreference는 데이터 보안을 염두에두고 구현되지 않습니다. 따라서 SharedPreferences를 사용할 수 있지만 거기에 저장 한 항목을 직접 보안 설정하십시오.

질문 2 : 첫 번째 작업을 마치면 기본 활동으로 돌아와야합니다. startActivityForResult를 잘 사용하면 여기에서 잘 사용할 수 있습니다. 로그인 활동은 Activity.setResult 메소드를 사용하여 로그인 결과를 다시 보냄니다. 그런 다음 onActivityResult 콜백을 사용하여 첫 번째 활동에서 해당 결과를 검색합니다.

+0

대답을 주셔서 감사합니다. 1. 웹 서비스에서받은 사용자 ID를 sharedpreference로 설정하고 있습니다. 이제부터는 내 응용 프로그램 개인 환경 설정에서 웹 서비스를 더 이상 호출하지 않을 것입니다. 너? 2. onActivityResult 메서드는 만든 모든 메서드의 응답을 가져 오는 일반 메서드입니까? 나는 필요에 따라 메인 (1 개 이상의 타입)에서 액티비티를 시작할 계획이다. –

+0

onActivityResult의 첫 번째 매개 변수는 int이고, 나는 액티비티를 호출하고 onActivityResult 메소드에서 처리해야한다. 올바른 requestCode를 처리하는지 확인하십시오. –

+0

정확히, onActivityResult 콜백에서 전달 된 요청 코드를 보냅니다. 다른 결과로 여러 활동을 호출해야하는 경우 OnActivityResult의 요청 코드를 확인하여 처리해야합니다. – Yahel