본문 바로가기

Programming/TIL

(22)
20.08.14(금) TIL 1. 한 3주를 질질 끈 문제의 해결 실마리를 찾았다. 블루투스 기기 스캔이 안 될 때 타임아웃 처리 후 에러 메시지를 사용자에게 보여주어야 하는데 도저히 에러캐치를 할 수가 없어 프로그레스바가 무한로딩되는 문제가 있었다. 스캔이 안 되니 disposable에 값이 안 들어가고 따라서 subscribe가 동작하지 않는 것 같았다. 그래서 예제와 달리 일단 disposable 변수에 값을 넣어주는 let함수를 주석처리 하였다. 그랬더니 subscribe에서 블루투스 기기를 스캔하다가 못 찾으면 20초 후 타임아웃이 작동되었다. 그런데 이 warning메시지가 뜨길래 검색ㄱㄱ disposable 변수에 바로 저장을 해주니 깔끔해짐!! 테스트 몇 번 더 해봐야 하지만 일단 동작 잘 된다. 근데 왜 해결되었는지..
20.08.13(목) TIL 1. 오늘 큰 거 한 건 했다! 일단 문제상황. 지도에 좌표 500개를 받아오는데 3초가 걸렸다. 지도를 움직일 때마다 api를 호출하는데 서버에서 응답값을 주는 데 너무 오래걸리니 요청만 계속 들어가고 응답을 받지 못하는 결과가 발생했다. 이 상태에서 마커를 클릭하면 값을 가져오지 못해 index초과 에러가 나타났다. 우선 혼자 끙끙 거리면서 생각한 것은 모바일단에서 요청을 최대한 줄이는 것이다. 지도를 움직일 때 1km이상 차이가 나지 않으면 요청을 하지 말까?? 횟수를 카운트해서 일정 시간동안 여러 번 호출하면 마지막 요청만 보낼까?? 줌인이나 아웃할 때는 요청하지 말까?? 등등.. 일단 사용자의 터치이벤트를 받기 위해 찾아보니 touchListener는 mapFragment가 아니라 mapView..
20.08.12(수) TIL 1. 알고리즘 풀이코드 깃허브에도 올리려고 VSCode를 설치했다. Sublime Text는 IDE라기 보다는 편집기에 가깝고, 이클립스는 한 번 써본 거라 VSCode로 골랐다. 단축키나 메뉴, 설정들이 달라 익숙해지는 데 시간이 조금 걸렸다. 2020/08/12 - [Development/Etc] - Visual Studio Code shortcuts for mac OS (비주얼 스튜디오 맥 단축키) 2. 깃허브에 push하려고 하는데 The requested URL returned error: 403 이런 에러 메시지가 나왔다. 해당 주소에 접근 권한이 없을 경우 발생한다는데 간단하게 원격 저장주소를 변경해 해결했다. 참고: https://mygumi.tistory.com/74 3. 개발 중에 남긴..
20.08.11(화) TIL 1. 데이터 바인딩 공부하고 있다. 익숙하지 않아서 그런가.. 공식문서에 나와있는 예제는 정말 간단한데 리사이클러뷰나 click리스너를 추가하려니 어려워서 처음에는 조금 헤맸다. 그래도 이제 프로젝트 리팩토링 할 정도로 이해는 한 것 같음. 써보니까 정말 좋다. 일단 리사이클러뷰의 뷰홀더에서 매번 xml파일 띄워놓으면서 id 찾아주고 변수지정해 줘야 했는데 그런 번거로운 작업이 2-3줄이면 끝남! 자바에서 코틀린 넘어올 때도 코드 확 줄어들어서 좋았는데 데이터바인딩도 비슷한 느낌이다. 그리고 액티비티에서 UI프레임워크를 호출하지 않으니까 UI 변경될 때 액티비티에서도 수정해 줘야 하는 이중작업이 필요 없음! 그리고 서버에서 가끔 null오는 경우 있는데 알아서 예외 처리 시킴!! 너무 좋음 2. 오늘 알..
20.08.10(월) TIL 1. 스톱워치 스레드 써서 복잡하게 구현해야 하는 줄 알았는데 안드로이드에서 제공하는 Chronometer 가 있었다. https://codinginflow.com/tutorials/android/chronometer 위 사이트 참고해서 간단하게 구현할 수 있었다. 2. 웹뷰 띄우는 데 기기의 width에 맞게 이미지가 나타나지도 않고 아래 일부분은 잘리는 문제가 발생했다. 아래 잘리는 것은 webview에 paddingBottom 값을 추가해서 해결했는데, width는 아래와 같이 head 속성을 추가해 주어야 함! 안드로이드에서 loadDataWithBaseURL()을 이용해서 아래 태그들을 string 으로 넣어줄 수 있지만 이미지파일명 등이 변경될 가능성이 있기 때문에 담당자에게 변경요청함. 3...
20.08.07(금) TIL 1. 네이버 지도 API 사용중인데 서버에서 좌표를 받아 마커를 찍어주고, 사용자가 지도를 줌인/아웃하거나 이동할 때마다 다시 서버에 좌표리스트를 받는데 마커가 중복되어 찍히는 문제가 있었다. 구글맵은 clear()해주면 되었는데 네이버는 marker.map = null 해주어야 한다. 여러 개면 반복문도 돌려야 함 2. apk 빌드 할 때마다 파일명이 동일해서 바꾸어야 할 필요성을 느꼈다. 아래 블로그 참고함 https://thecommelier.tistory.com/7 3. Retrofit으로 통신할 때 body는 로그 찍는데, 헤더나 메소드는 어디서 확인해야 하는지 몰랐다. 사실 확인해 볼 생각을 안하다가 오늘 차장님이 물어보시길래 답변하다가 찾았다! OkHttpClient 객체에서 볼 수 있음.