728x90
● 오늘 한 것
[kotlin 문제 풀이]
- 미로 탈출
https://retry-thinksubox.tistory.com/173
[팀프로젝트 5일차]
- 기능 구현 마무리 & 예외 처리 & 발표 준비
https://github.com/WorksWhale/WorksWhale
● 오늘 알게 된 것
[kotlin 문제 풀이]
- BFS 두번 돌리는 것도 되는 거구나
[팀프로젝트 4일차]
- 마지막날 기능 구현이 가장 바빴다.
- 예외는 마지막날 많이 터진다.
- 내 기능에서 문제 생기면 잠이 안 온다.
- 예전 팀원들과도 같이 잘 지내야한다.
완료한 것
sharedPreference를 이용하여 마이페이지 정보가 앱을 껐다가 켜도 유지되도록 함
- requireContext().getSharedPreferences("sp", *MODE_PRIVATE*)
- sharedPreference에 저장할 때는 이미지 처리가 가장 어려웠다.
- 처음에 그냥 toString하고 받아서는 toInt 했는데 어림도 없지
- Drawable 타입의 값은 drawable 폴더 내의 리소스 아이디 값이 아니더라ㅎㅎ
- Drawable을 Bitmap으로 변화하고 그걸 Base64 문자열로 인코딩 후 저장
- 가지고 와서는 Base64 문자열을 Bitmap으로 디코딩하고 그걸 그냥 바로 썼다.
- 다른 정보는 그냥 String으로 넣고 받았다.
내 정보 수정에서 EditText 눌렀을 때 마이페이지 글자 사라지면서 공간조차 없어지는 거 해결
- 글자가 사라지는 게 아니라 아래 탭바가 올라오는 거였다.(나는 이렇게는 전혀 생각하지 못했다.)
- 튜터님께 물어보니까 액티비티 속성에 windowSoftInputMode 설정만 하면 된다고 하셨다.
- windowSoftInputMode를 이용하면 키보드가 나타나고 사라졌을 때의 화면 변화 방식을 지정해 줄 수 있다.
- 기본값은 adjustUnspecified라고 한다.(시스템이 알아서 설정)
- 나는 키보드가 올라왔을 때 화면의 크기가 변하지 않기를 원하므로 adjustPan을 사용했다.
- 해결완료!
알림 권한 설정
- minSdk 31이라서 따로 설정하려고 했지만 마땅한 방법이 생각나지 않아서 minSdk를 33으로 올리고 requestPermissions를 이용하여 해결했다.
뒤로가기 버튼 기능 설정
- 기존에 하던 방식을 변경하여 콜백함수를 사용했다.
- ContactListFragment와 MyPageFragment가 떠있는 액티비티의 상황에서는 종료 다이얼로그를 띄우고
- ContactDetailFragment가 떠있는 상황에서는 position값을넘기면서 현재 프래그먼트를 종료시켰다.
- 좋아요 기능을 위해 ContactDetailFragment 좋아요 변경하고 위치값 전송 → MainActivity → ViewPagerAdapter → ContactListFragment → RecyclerViewAdapter → ContactListFragment 반영
- 아직 못 한거는 상세페이지에서 다른 앱 갔다가 돌아왔을 때 였는데 onResume에 콜백 재등록하니까 원하는대로 구현이 되었다.
무한 정리
- 인텐트 키, 상수 값, 문자열 정리 싹하고 코드 통일성을 넣은 다음 피드백 예정
좋아요 기능 바로 연동 안 되는 거
- getInt 두번째 매개변수에 position 추가
상세 페이지에서 알림 값이 안 나오는 문제
- 관련 함수가 연락처 추가 뒤에 있어서 빈 값이 저장되고 있었다.
- 함수를 앞으로 옮기니까 해결
갤러리에서 가져온 이미지 Uri 권한 문제
- 액티비티가 종료되고 다시 실행될 때 갤러리에서 가져온 이미지를 다시 찾아 세팅하려고 하면 권한이 없다는 에러가 뜨면서 앱이 종료되었다.
- Uri 권한은 일시적인 거라 권한 연장이 필요한 상황이었는데 방법이 생각나지 않고 팀원들이 알려줘도 너무 당황해서 잘 이해되지 않더라
- 예전 팀원과 연결이 되어서 잘 해결이 되었다.
- 해결방법은 context.grantUriPermission(패키지명, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION)이었다.
- 특정 이미지에 대해 패키지 전체로 Uri 권한을 주는 걸 이미지를 처음 가져올 때 실행시켰다.
이미지 저장 형식 변경
- 기존에 String으로 저장하던 걸 Uri로 변경했다.
- Drawable을 Uri로 변환할 수 있었다.
- Koil, Glide같은 라이브러리를 쓰는 방법도 있지만 나는 Uri.parse를 사용했다.
- 그 안에는 Drawable 폴대 내의 이미지 경로를 쭉 쓰면 되는 거였다.
- 그렇게 Drawable과 Uri를 따로 체크할 필요가 사라졌다.
● 오늘 총평
금요일 마지막 날 잘 지나갈 줄 알았지만 아니었다...
저녁이 되서야 터지는 문제들로 마음이 어지러웠지만 예전 팀원들 도움으로 잘 해결했다.
역시 인간관계가 중요하다.
영상만 찍으면 마무리라 그래도 마음이 편하다.
잠은 자자...
반응형