문자열 포함 여부 : 문자열.contains()
문자열 배열 중 특정 문자열 삭제 : 특정 문자열에 포함 안된 것만 return -> if (I !in delete_list) { answer += I }
소문자 바꾸기 : string.toLowerCase()
특정 문자열 바꾸기 : 문자열.replace(“원문자”, “바꿀문자”)
indices는 Collection, Array 클래스에 선언되어 있는 프로퍼티로 컬렉션 타입의 인덱스 범위를 반환
If 문은 리턴값 따로 선언 안해도 됨
for(I in 0 until list.size step n) : n개 간격으로 배열원소 반환
list.sorted : 리스트를 오름차순으로 정렬 / list.sortedDescending : 리스트 배열을 내림차순으로 정렬
list.drop(n) : 리스트에서 앞의 n개 원소를 삭제
array.sortedArray() : 배열을 오름차순으로 정렬 / array.sortedArrayDescending() : 배열을 내림차순으로 정렬
resultLauncher는 registerForActivityResult를 사용하여 생성된 ActivityResultLauncher 인스턴스입니다. 이 인스턴스는 SignUpActivity에서 SignInActivity로 이동할 때 사용되며, SignInActivity에서 결과를 반환받을 때 사용됩니다.
registerForActivityResult는 ActivityResultContract와 ActivityResultCallback을 인자로 받아 ActivityResultLauncher를 반환합니다. 여기서 ActivityResultContract는 요청과 결과의 유형을 정의하며, ActivityResultCallback은 결과를 처리하는 방법을 정의합니다.
ActivityResultLauncher의 launch 메서드를 호출하면 SignInActivity가 시작되고, SignInActivity가 종료되면 ActivityResultCallback의 onActivityResult 메서드가 호출됩니다. 이 때 onActivityResult 메서드에 전달되는 결과는 SignInActivity에서 setResult 메서드를 호출할 때 설정한 결과입니다.
따라서 resultLauncher는 SignUpActivity에서 SignInActivity로 이동하고 결과를 받기 위해 필요한 객체입니다. 이를 통해 SignUpActivity와 SignInActivity 사이에 데이터를 주고받을 수 있습니다.
signIn 페이지에서 signUpResultLauncher 변수를 생성하고 ActivityResultLauncher를 상속 받아 registerForActivityResult 객체를 생성한다. 거기서 ActivityResult.code가 OK가 되면 signup 페이지에서 등록했던 아이디와 패스워드를 가져와서 로그인 페이지에 그대로 옮겨온다.