2014년 8월 6일 수요일

[Android] 내 어플에 비밀번호 설정하기

Activity 를 이용하여 간단한 비밀번호를 걸 수 있는 컴포넌트를 소개합니다.

개요
만약 A라는 액티비티를 띄워야 할때,
  • 프로그램 실행 -> A 액티비티 실행
이러한 절차를 해당 패스워드 액티비트를 설정해서
  • 프로그램 실행 -> 패스워드 액티비티 실행 -> (비밀번호를 확인후) A 액티비티 실행

이러한 구조로 바꾸어 패스워스 기능을 설정할 수 있습니다. 그외에도 아래와 같은 기능도 제공합니다. 
  • 비밀번호 변경 : 기존의 비밀번호 입력 -> 새 비밀번호 입력 -> 비밀번호 확인-> 해당 액티비티로 이동
  • 비밀번호 초기화 : 새비밀번호 입력 -> 비밀번호 확인 -> 해당 액티비티로 이동

사용법

비밀번호 확인
만약 현재 액티비티에서 비밀번호를 확인후에 com.android.a.ViewProfile 을 보여주고 싶으면 다음과 같이 입력하면 됩니다.
1.Intent intent = new Intent(Main.this, Password.class);
2.intent.putExtra(Password.NEXT_ACTIVITY, "com.android.a.ViewProfile");
3.intent.putExtra(Password.PASSWORD, "1234");
4.intent.putExtra(Password.MODE, Password.MODE_CHECK_PASSWORD);
5.startActivity(intent);

Password.NEXT_ACTIVITY는 비밀번호 확인후 이동할 액티비티입니다.
Password.PASSWORD는 사용자가 맞춰야 하는 비밀번호 입니다.
Password.MODE는 옵션으로 어떤 기능을 할 것인지 나타냅니다. (현재는 비밀번호 변경)

비밀번호 변경
현재 액티비티에서 기존의 비밀번호를 확인후 com.android.a.ViewProfile 을 보여주고 싶다면 다음과 같이 하면 됩니다.
아래 코드는 기존의 1234라는 비밀번호를 확인후 새로운 비밀번호를 설정하게 합니다.
1.Intent intent = new Intent(Main.this, Password.class);
2. 
3.intent.putExtra(Password.NEXT_ACTIVITY, "com.android.a.ViewProfile");
4.intent.putExtra(Password.PASSWORD, "1234");
5.intent.putExtra(Password.MODE, Password.MODE_CHANGE_PASSWORD);
6.startActivity(intent);


변경된 비밀번호 확인
비밀번호를 변경하고 com.android.a.ViewProfile 에서 아래와 같이 수정된 비밀번호를 얻을 수 있습니다.
1.Intent intent = getIntent();
2.intent.getStringExtra(Password.RESULT_PASSWORD);

응용방법
SharedPreference 에 비밀번호를 저장하고 해당 비밀번호를 intent 값어 주어 비밀번호를 확인할 수 있겠죠?
마찬가지로 비밀번호 변경 역시 RESULT_PASSWORD를 저장하여 변경된 비밀번호 혹은 초기화된 비밀번호로 사용하는 등으로 응용 할 수 있을 것입니다.

그외사항
실행 가능한 예제 프로그램을 첨부하였으니 이를 보면 이해가 되실겁니다. 그리고 간단한 애니메이션과 비밀번호가 틀렸을 때,  어설프게 애니메이션을 주었지만 프로그램에 맞게 수정하시면 될 것 같습니다.
디자인 역시 password.xml 파일을 적절하게 수정하시면 될 것 같습니다.

댓글 없음:

댓글 쓰기