Programming/TIL (22) 썸네일형 리스트형 20.09.01(화) TIL 1. 서버에서 이전 반납사진이 나타난다는 이슈를 전해듣고 확인해보았다. 처음에는 클라이언트에서 따로 사진주소를 저장하지 않는다고 서버확인이 필요하다고 답변했는데 차장님이 글라이드 캐시 삭제 해주어야 한다고 알려주셨다. 차장님이 안 알려주셨으면 헤맬 뻔.. https://zladnrms.tistory.com/89 2. 이미 플레이스토어에 업로드한 버전에서 앱이 죽는 현상이 발생했다... 이용내역에서 정렬이 안 먹길래 string으로 오는 pk값을 int로 변경하고 잘 정렬되는 것 확인한 다음에.. 아 맞다 그럼 다른 부분도 바꿔야겠구나! 이러면서 공지사항이나 문의내역에도 똑같이 적용했는데.. 상용서버에서는 공지사항이나 문의내역 데이터가 없어서 테스트를 못했다. 문제는 공지랑 문의는 pk가 아니라 날짜를 기.. 20.08.31(월) TIL 1. 보안을 위해 키저장소 정보를 build.gradle에 입력하지 않고 keystore.properties 파일을 생성하여 따로 저장하였다. gradle에서는 이 파일을 불러와서 빌드하도록 하였다. https://javalism.tistory.com/87 2. 드디어 앱 첫 출시했다!!! 상용서버가 너무 늦게 구축되어서 주말도 반납하고 개발하고 테스트했는데.. 어쨌든 장장 5개월의 여정이 매듭 지어졌다. 사실 이제 진짜 시작인 듯하지만. 그래도 이것저것 고객사 요구 다 들어주면서ㅠㅠㅠ 기획 계속 추가되고 변경되는 거 반영해가며.. 혼자 개발 다 해낸 내 자신이 뿌듯ㅎ 무사히 통과가 될지는 모르겠지만 어쨌든 차장님이 자랑스럽다고 칭찬도 해주셨다ㅎ 3. 앱 출시하려고 보니까 apk파일말고 aab 파일을 업.. 20.08.28(금) TIL 1. 서버에서 SSL인증서 발급을 안 했다며 통신할 때 인증을 무시하도록 설정하라고 요청이 왔다. 일단 기존대로 보냈더니 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 이런 에러 메시지가 발생해서 열심히 구글링해 봄. OkHttpClient.Builder 객체를 커스텀해서 예외처리를 해 주어서 해결했다. 참고: https://stackoverflow.com/questions/6825226/trust-anchor-not-found-for-android-ssl-connection 2. 어제 debug/release 구분해서 환경설정 해주고 끝인 줄 알았는데 막상 build하니 에러가 났다.. 20.08.27(목) TIL 1. 출시가 다가오고 있다...ㅎ 오늘은 그동안 dev branch에서 작업했던 코드들을 master branch로 옮기는 작업을 했다. master는 항상 클리어하고 에러 없는 코드들이 올라가야 한다는 생각 때문에 dev에서만 작업하다보니 병합할 때 충돌이 많이 나지 않을까 걱정했다... 그래도 다행히 이전 개발자분이 master에서 작업한 것이 없어서 무난하게 충돌난 것 수정하면서 병합했다. (거의) 1인 개발이라 형상관리는 아직도 헤매는데 이제 유지보수하면서 git을 좀 더 잘 사용해 보아야겠다. 2. master에 병합하고 다시 빌드해보았는데 앱 열자마자 죽어버림. koin버전을 낮추었더니 제대로 동작했다. 나중에 버전 올려서 디버깅해야 한다. 3. 개발용 앱과 배포용 앱을 구분해야 해서 buil.. 20.08.24(월) TIL 1. 버전관리를 할 때 충돌을 피하거나 원하지 않는 파일(백업, 로그 등)의 커밋을 막고자 할 때 .gitignore 파일에 정의해 주면 된다. 아래 사이트에서 플랫폼, 언어 등을 검색하면 자동으로 파일을 생성해 줌! https://www.toptal.com/developers/gitignore 2. 안에 와 항상 아래에 있는 을 넣었는데 스크롤이 제대로 적용되지 않고 리사이클러뷰의 아래 아이템들이 잘리는 현상이 발생했다. 그래서 다음과 같이 레이아웃 구조를 바꾸었다. 와 이 최상단 아래 같은 계층에 위치하고, 의 height=0dp, weight=1로 설정해 주었더니 원하는대로 잘 동작했다. 3. onStop메소드에서 fusedLocationProviderClient.removeLocationUpdat.. 20.8.20 (목) TIL 1. 로그아웃 해서 홈 화면으로 이동했는데 이전 스택이 그대로 남아있어서 뒤로가기 버튼을 클릭하면 이전 액티비티가 그대로 나타나는 현상이 있었다. finishAffinity()를 해주면 된다 2. 1.0.1 버전을 설치했다가 삭제하고 1.0.4버전을 설치하려고 하는데 1.0.1 버전이 그대로 설치되는 현상 발생했다. 이전 어플을 백업해서 발생하는 것이므로 manifest에 아래 옵션을 추가해주고 디바이스에서는 설정->클라우드 및 계정->백업 및 복원에서 자동 복원이 체크되어 있으면 해제하면 최신 버전으로 설치된다. android:allowBackup="false" android:fullBackupContent="false" android:fullBackupOnly="false" 3. 서비스에서는 액티비티.. 20.08.19(수) TIL 1. LG폰으로 테스트하는데 블루투스 기기 스캔이 잘 안된다.... 에러 메시지는 Scan failed because out of hardware resources (code 9). 깃헙 이슈나 스택오버플로우에는 제조사마다 기기 성능이 다르고 하드웨어 문제라 해결할 수 없다고만 나와있었다. 절망.. 이게 우리 서비스의 핵심 기술인데?? 일단 정말 기기 문제인지 확인해보기 위해서 다른 블루투스도 연결이 안 되는지 보았다. 아이폰이나 블루투스 이어폰은 스캔이고 페어링이고 잘 되었다. 락커도 잘 스캔되어 나오는 상태였다. 그래서 일단 'LG 블루투스 연결'로 검색해보았더니 블루투스 종료 후 재시도 캐시, 데이터 삭제 앱이 절전 관리 대상에 해당하는 경우 OS에서 주기적으로 앱을 종료하므로 앱을 절전 대상에서 .. 20.08.18(화) TIL 1. 마커 여러 개 핸들링 하는 것 너무 어렵다ㅠㅠㅠㅠ 마커 선택하면 해당 마커 아이콘 크게 변경해주고 이전에 클릭했던 마커는 작게 변경해주고 + 지도 이동할 때마다 새로 마커 위치 받아와서 보여주고 등등 처리해야 할 것이 너무 많다. 오늘도 고생하고 있음.. 저번에 다 했다고 생각했는데 또 indexoutofboundsexception 에러가 남(스트레스) 일단 코드가 너무 복잡한 것 같아서 파라미터로 받던 마커클릭boolean값 없애 버리고 메소드 2개를 4개로 나눔. 그랬더니 원인이 눈에 들어왔다. 이전마커 index가 새로운 마커리스트에서는 적용되지 않지 당연히!! index 초기값 null로 했던 것을 -1로 바꾸고 디바이스 목록 갱신할 때마다 -1로 변경해주었더니 일단 해결. 최종 해결이길.... 이전 1 2 3 다음