이번 시간에는 안드로이드 패턴 잠금
쉽게 만드는 방법에 대하여 알아보겠습니다.
1. 실행 화면
2. 라이브러리 등록
3. 메인 화면 구성 activity_main.xml
4. 메인 코드 구현 MainActivity.java
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.andrognito.patternlockview:patternlockview:1.0.0'
참조 문서
https://github.com/aritraroy/PatternLockView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/password_text_view"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="30dp"
android:gravity="center"
android:textSize="20sp" />
<com.andrognito.patternlockview.PatternLockView
android:id="@+id/pattern_lock_view"
android:layout_width="280dp"
android:layout_height="280dp"
android:layout_marginTop="30dp"
app:normalStateColor="#000000" />
</LinearLayout>
- 구성 -
1. 패턴 호출
1-1 등록한 패턴 없다면 저장된 패턴 없다고 표시
1-2 등록한 패턴 있다면 등록한 패턴 입력하라고 표시
2. 패턴 입력
2-1 등록한 패턴 있다면 입력한 패턴과 비교
2-2 등록한 패턴 없다면 입력한 패턴 등록
public class MainActivity extends AppCompatActivity {
PatternLockView patternLockView;
TextView passwordTextView; //패턴 상태
String restorePassword = ""; //저장된 패스워드
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
passwordTextView = findViewById(R.id.password_text_view);
patternLockView = findViewById(R.id.pattern_lock_view);
patternLockView.addPatternLockListener(new PatternLockViewListener() {
@Override
public void onStarted() { }
@Override
public void onProgress(List<PatternLockView.Dot> progressPattern) { }
@Override
public void onComplete(List<PatternLockView.Dot> pattern) { //패턴 완료시에 실행됨
//입력한 패스워드
String password = PatternLockUtils.patternToString(patternLockView, pattern);
//1-1 저장된 패스워드가 있다면
if (!restorePassword.equals("")) {
//2-1 입력과 저장된 패스워드가 같다면
if (password.equals(restorePassword)) {
passwordTextView.setText("패턴 성공");
patternLockView.setCorrectStateColor(Color.parseColor("#0000FF")); //파랑
}
//2-2 입력과 저장된 패스워드가 다르다면
else {
passwordTextView.setText("잘못된 패턴");
patternLockView.setCorrectStateColor(Color.parseColor("#FF0000")); //빨강
}
}
//1-2 저장된 패스워드가 없다면
else {
//현재 패스워드 저장
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("password", password);
editor.commit();
passwordTextView.setText("저장되었습니다.");
patternLockView.clearPattern(); //지우기
}
}
@Override
public void onCleared() { }
});
}
@Override
protected void onResume() {
super.onResume();
restorePassword();
}
/**
* 패스워드 불러오기
*/
private void restorePassword() {
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
//저장된 패스워드 변수에 담기
restorePassword = pref.getString("password", "");
//등록한 비밀번호가 있을 때
if (pref != null && !restorePassword.equals("")) {
passwordTextView.setText("등록한 패턴을 입력해주세요.");
}
//등록한 비밀번호가 없을 때
else {
passwordTextView.setText("저장된 패턴이 없습니다.");
}
}
} //MainActivity
2022.02.08 - [안드로이드] - [안드로이드] 원형 다이얼로그( Dialog) 쉽게 만드는 방법
2022.02.07 - [안드로이드] - [안드로이드] 상태 진행 표시줄 쉽게 만드는 방법
2022.02.06 - [안드로이드] - [안드로이드] 카드뷰(CardView) 접었다 폈다 쉽게 하는 방법
[안드로이드] View(뷰) 애니메이션(Animation) 쉽게 적용하는 방법 (0) | 2022.02.11 |
---|---|
[안드로이드] 별점(RatingBar) 쉽게 꾸미는 방법 (0) | 2022.02.10 |
[안드로이드] 원형 다이얼로그( Dialog) 쉽게 만드는 방법 (0) | 2022.02.08 |
[안드로이드] 상태 진행 표시줄 쉽게 만드는 방법 (0) | 2022.02.07 |
[안드로이드] 카드뷰(CardView) 접었다 폈다 쉽게 하는 방법 (0) | 2022.02.06 |
댓글 영역