개발일지16 [Android] Viewpager2, Scrollview 터치와 스크롤 분리하기 인스타그램이나 페이스북 등의 소셜 앱들을 보면, 일반적으로 한 게시물 안에 여러 이미지를 좌우로 스크롤 할 수 있고, 각각의 게시물들은 위 아래로 스크롤 할 수 있게 되어있는 모습을 볼 수 있다. 별 헤는 밤 메인 페이지도 이러한 방식으로 유저들이 작성한 별자리 관측 게시물들을 홈 화면에서 보여주고 있다. 하지만 늘 그렇듯 당연한 기능임에도 구현은 어렵다... 대표적으로 메인 페이지를 위 아래로 스크롤 할 때, 스크롤 동작을 게시글의 이미지 터치로 인식하여 게시글 상세 페이지로 이동하는 문제가 발생하곤 한다. 이번 글에서는 이러한 ViewPager2의 터치 이벤트와 Scrollview의 스크롤 이벤트 충돌로 인해 발생하는 문제와 해결 방법을 알아보도록 하자. 메인 화면 레이아웃 구조 ViewPager2 .. 2023. 11. 29. [WebClient] 비동기 아키텍처를 통한 외부 api 콜 성능 개선 ▶ 개요 및 배경 별 헤는 밤 버전 업데이트를 진행하면서, 날씨 페이지를 맡게 되었다. 날씨 페이지의 메인 로직은 외부 api를 호출하고, 응답받은 날씨 데이터를 적절히 분석하여 보여주는 것이다. 날씨 페이지에서는 아래와 같은 2가지 외부 api 호출이 필요하다. openWeather : 분, 시간, 일 단위로 날씨 예보 데이터를 제공하는 api (https://openweathermap.org/) 에어코리아 : 시도별 미세먼지 데이터를 제공하는 api (https://www.data.go.kr/data/15073861/openapi.do) 기존에는 앱단에서 직접 api를 호출하는 방식이었는데, 해당 구조는 다음과 같은 문제점이 있었다. 프런트 단에서 데이터를 직접 호출하는 것이므로 성격에 맞지 않는다고.. 2023. 11. 4. [JPA] 검색 메소드 수정하기 - N+1 문제 장기 프로젝트 별 헤는 밤에 있는 문제들을 하나씩 해결해보는 시간! [오늘의 할 일] 검색어, 필터(해쉬태그, 지역)를 적용하여 관측지를 검색할 수 있는 메소드를 수정한다. 별 헤는 밤에는 관측지 검색기능이 존재한다. 검색어와 필터를 통해 검색할 수 있는데 초기 구현 버전은 아래와 같았다. 간단히 설명하면(전혀 간단하지 않게 구현했지만) 검색어, 해시태그, 지역이 존재하는 경우를 모두 나누고 각각의 결과를 다른 리스트에 담고 공통으로 존재하는 결과를 추려서 반환했다 페이지 처리도 없이! (나는 가고 싶었던 N…모 서비스 회사 면접에서 이 코드에 대해 개선점 질문을 받았고 제대로 대답하지 못해 떨어졌다. 이제라도 수정해본다…) 기존 코드 더보기 public class Observation { @Id @Ge.. 2023. 10. 24. [Android] 게시글 댓글 기능 구현하기 개발자: 박진혁 목표: 기존 게시글 페이지에 댓글 기능 추가하기 별 헤는 밤 v1은 유저 간의 소통 방식이 게시글을 작성하는 것 밖에 없었기 때문에 커뮤니티 기능을 추가하기 위해서 댓글 기능을 구현하는 것이 필요해졌다. 댓글 기능을 구현하면서 서버 구현은 다른 기능과 유사하여 어려움이 크게 없었지만, 레이아웃이 여태까지 구현했던 화면가 특징이 달라서 애를 많이 먹었다. 댓글 기능이 있는 레이아웃의 특징은 다음과 같다. 댓글이 일정 개수가 넘게 되면 따로 스크롤이 되도록 변화해야 한다. 화면의 전체적인 길이, 다른 레이아웃의 위치 등을 동적으로 바꿔야 한다. 1. 스크롤 기능 구현 시 문제점 댓글이 일정 개수가 넘게 되면 높이가 더 이상 늘어나지 않고 고정된 높이에서 이중으로 스크롤이 될 수 있도록 구현해.. 2023. 10. 18. 이전 1 2 3 4 다음