별밤 일지35 [Android] CustomView 를 활용한 효율적인 나만의 View 만들기 개요 및 배경 메인 페이지에 새로운 기능인 관심지역 날씨 카드 기능을 맡게 되었다. 간단히 말하면 위 그림과 같은 기능인데, 즐겨찾기 기능이라고 보면 된다. 총 3개까지 관심 지역을 설정할 수 있고, 아래처럼 관심 지역이 2개 이하일 때는 추가할 수 있는 + 버튼이 나오게 된다. 지금까지 위와 같은 동적으로 반복적인 요소를 생성할 때는 RecyclerView를 사용했었지만, 이번에 새로운 기능을 사용해보고 싶어 CustomView를 활용하여 해당 기능을 구현하게 되었다. CustomView 생성 자바의 중요 개념들 중에는 부모 클래스, 자식 클래스, 상속이 있는데 CustomView 도 이와 비슷한 개념을 사용한다. 안드로이드에서 View는 모든 안드로이드 화면의 기본 구성 요소이다. 자바에서의 Obje.. 2023. 12. 13. [JPA] 검색 메소드 수정하기 - JPA Specification 전 편에서 언급했던 것처럼 이번 글에서는 비효율적인 검색 로직을 개선해보려고 한다. [JPA] 검색 메소드 수정하기 - N+1 문제 장기 프로젝트 별 헤는 밤에 있는 문제들을 하나씩 해결해보는 시간! 구경가기 👇 별 헤는 밤: 밤하늘, 별자리, 여행정보와 날씨예보까지 - Google Play 앱 오늘부터 별잘알! 오늘밤 별자리 정보, 날 starsufers.tistory.com 기존 코드 더보기 매개변수 Filter areaCodeList - 지역변수 hashTagIdList - 해쉬태그 리스트 searchKey - 검색어 // 생략 // public List getObservationWithFilter(Filter filter, String searchKey) { List areaCodeList = f.. 2023. 12. 7. [Android] Viewpager2, Scrollview 터치와 스크롤 분리하기 인스타그램이나 페이스북 등의 소셜 앱들을 보면, 일반적으로 한 게시물 안에 여러 이미지를 좌우로 스크롤 할 수 있고, 각각의 게시물들은 위 아래로 스크롤 할 수 있게 되어있는 모습을 볼 수 있다. 별 헤는 밤 메인 페이지도 이러한 방식으로 유저들이 작성한 별자리 관측 게시물들을 홈 화면에서 보여주고 있다. 하지만 늘 그렇듯 당연한 기능임에도 구현은 어렵다... 대표적으로 메인 페이지를 위 아래로 스크롤 할 때, 스크롤 동작을 게시글의 이미지 터치로 인식하여 게시글 상세 페이지로 이동하는 문제가 발생하곤 한다. 이번 글에서는 이러한 ViewPager2의 터치 이벤트와 Scrollview의 스크롤 이벤트 충돌로 인해 발생하는 문제와 해결 방법을 알아보도록 하자. 메인 화면 레이아웃 구조 ViewPager2 .. 2023. 11. 29. [개발자와 화해하기] 데이터를 정리하는 법 (2) : B-tree 이해하기 기획자와 개발자들은 협업하며 종종 부딪힌다. 정리되지 않은 수많은 아이디어들을 한아름 들고 오는 기획자. 이것도 안되고, 저것도 안된다고 하는 개발자. 둘은 오늘도 서로에게 고개를 저으며 한숨을 내쉰다. 이런 세상의 수많은 기획자와 개발자들 사이 갈등 속 각자 나름의 사정은 천차만별이지만, 근본적인 원인은 크게 다르지 않다. 바로 ‘서로가 서로의 일을 모른다’는 것 우리들은 서로의 일을 조금이나마 이해해 보려 노력할 필요가 있다. 서로를 이해하고 상대방이 바라보는 곳을 함께 바라볼 수 있어야 발전적인 대화가 가능하다. 별 헤는 밤을 기획하면서 나 역시도 개발자들과 수없이 부딪히곤 했고, 다양한 방식으로 문제를 해결해 나가려 노력했다. 이 글에서는 별 헤는 밤 프로젝트를 진행하며 생겼던 사례들을 살펴보며,.. 2023. 11. 21. 이전 1 ··· 4 5 6 7 8 9 다음