오늘 풀어본 알고리즘 문제
저번에 풀어봤던 문제가 배열뒤집기 여서 reversed 함수를 써서 해결해봤다.
class Solution {
fun solution(my_string: String) = my_string.reversed().toString()
}
toIntArray()였던것만 toString()으로 바꿔서 테스트해봤더니 바로 해결이 됐다.
앱개발 입문반 강의를 복습하고, 선택과제를 해보았다.
이 선택과제를 해보려고 힌트로 주어진 registerForActivityResult에 대해 먼저 공부하기 시작했다.
기존에는 startActivityForResult()를 통해 콜백을 등록하고, onActivityResult()에서 콜백을 처리
했다고 한다. 그러나 이 방식을 사용했을때, 메모리 부족으로 작업이 소멸할 수 있어서 registerForActivityResult 를 사용하기 시작했다고 한다
이 코드를 사용하기 위해선,
- A 액티비티에서 먼저 registerForActivityResult() API를 정의한다.
- ActivityResult를 받기 위해 파라미터로 전달하는 ActivityResultCallback 의 StartActivityForResult 함수를 사용하여 기존 onActivityResult(int, int, Intent) 와 동일한 결과를 처리한다.
- result 객체를 인자로 받아와 'resultCode'와 'data'에 접근 가능
- resultCode를 이용해 'RESULT_OK' 인지 확인
- result.data를 이용해 다른 액티비티에서 보내온 Intent Data를 이용 가능
- ActivityResultLauncher을 통해 시작시킨다. 즉, Intent 전달로 새로운 Activity를 호출한다.
- B 액티비티에서 데이터를 실어 A 액티비티로 보내주기 위해, setResult() 함수에 resultCode와 Intent 데이터를 넣어준다.
이 과정을 거쳐 사용한다고 한다.
오늘 하루동안 여러가지 시도해보았는데, 잘 풀리지 않는다..
아직 intent가 낯설기도 하고, 개념 이해가 어려워 잘 풀리지 않다. 너무 막혀서 일단은
비교적 할만하다 생각한 5장 사진 랜덤으로 표시하는 것을 먼저해봤다.
우선, 이미지 리소스를 담은 배열을 하나 만들고, Random.nextInt()를 써서 0부터 배열 크기까지 랜덤한 인덱스를 선택하고
그 인덱스로 이미지를 설정하게 했다.
val imageArray = arrayOf(
R.drawable.soccer1,
R.drawable.soccer2,
R.drawable.soccer3,
R.drawable.soccer4,
R.drawable.soccer5
)
val randomIndex = Random.nextInt(imageArray.size)
image.setImageResource(imageArray[randomIndex])
이미지를 배열에 담고, 인덱스를 연결해서 표시할 수 있다는걸 알 수 있었다.
월요일이라그런지 집중하기 조금 힘든 날이었다.
내일은 알고리즘 문제 풀고 화면이동 +@ 과제를 꼭 끝마쳐야겠다.
'TIL (Today I Learned) > TIL' 카테고리의 다른 글
2023. 08. 09 TIL (0) | 2023.08.09 |
---|---|
2023. 08. 08 TIL (0) | 2023.08.08 |
2023. 08. 04 TIL (0) | 2023.08.04 |
2023. 08. 03 TIL (0) | 2023.08.03 |
2023. 08. 02 TIL (2) | 2023.08.02 |