수강신청 어플 만들기 - Android Studio with JAVA(3)-2
(3편)강의 인기 순위 리스트->어플리케이션 정보->개인정보 암호화-> 어플 개발
3-1 강의 인기순위 리스트
3-2 어플리케이션 정보
3-3 개인정보 암호화
(3)-2. 어플리케이션 정보 넣기
loginActivity.java 파일 안에
TextView information=(TextView)findViewById(R.id.informationButton);
information.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(LoginActivity.this, Pop.class));
}
});
새로운 액티비티를 시작해줄거고 현재 패이지에서 pop이라는 액티비티로 intent화면 전환 해주라는 뜻.
따라서 어플리케이션 정보 버튼을 누르면 팝업창처럼 새로운 창(pop.java로 intent)이 뜨게 함.
Pop.java파일안에
public class Pop extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pop); //pop이라는 레이아웃을 띄어주라.
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width=dm.widthPixels;
int height=dm.heightPixels;
getWindow().setLayout((int)(width*0.9),(int)(height*0.85));
}
}
Activity 상속 , 레이아웃 pop.xml로 띄어주기
화면 조정을 위한 DisplayMetrics 선언과 초기셋팅
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
화면의 90% 크기의 가로와 85%의 세로 사이즈로 만듦.
int width=dm.widthPixels;
int height=dm.heightPixels;
getWindow().setLayout((int)(width*0.9),(int)(height*0.85));
values->Themes->thems.xml안에
<style name="Theme.AppCompat.Pop">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowCloseOnTouchOutside">true</item>
</style>
android:windowIsTranslucent 는 활동이 반투명 상태로 존재하는 창을 나타낸다. 즉, true(투명) 또는 false(불투명).
android:windowCloseOnTouchOutside는 XML 스크립트 를 사용하여 외부를 클릭하면 활동을 종료(true).
manifests에 가서 환경 설정하기(Pop클래스 매칭하고 방금 만든거 매칭시킨거임)
xml파일 이렇게 만들어줌.
(3)-2 결과: 어플리케이션 정보 버튼 클릭-> 내 정보 나오게 함.
![]() |
![]() |
(3)편의 마지막 !! 개인정보 암호화
php 파일변경해줘야함.
1. UserRegister :회원가입 php 파일
$checkedPassword=password_hash($userPassword, PASSWORD_DEFAULT); 추가한다.
mysqli_stmt_bind_param($statement, "sssss", $userID, $checkedPassword, $userGender, $userMajor, $userEmail); // $userPassword 에서 $checkedPassword로 변경한다.
password_hash: php에서 기본으로 제공하는 함수임 (암호화, password_default) 관리자와 해커도 모르는 암호화 형식의 비밀번호를 해독하기 어렵게 만든다.
2. UserLogin : 로그인 php 파일도 변경한다.
while(mysqli_stmt_fetch($statement)){
if(password_verify($userPassword, $checkedPassword)){
$response["success"] = true;
$response["userID"] = $userID;
} //이것도 $userPassword 에서 $checkedPassword로 변경한다.
password_verify 이용해서 값얻어오기~
개인정보 암호화 끝 !! 한번 차이점을 살펴보자.
암호화 한 후 회원가입하면 userPassword를 보면 해독할 수 없다!
암호화 하기 전 회원가입 한 userID: soojin 과 암호화 한 후의 aq,bob,jooah 차이점이 눈에 보이죠?!~?
관리자인 나도 회원의 비밀번호를 보지 못한다!!