본문 바로가기

개발블로그3

[Flutter] StreamBuilder를 활용하여 검색기능 구현하기 앱을 개발할 때 항상 들어가야 하는 기능 중 하나인 검색 기능에 대해 알아보도록 하겠다.‘Flutter 검색’이라고 구글링하면 정말 다양한 방식으로 구현한 블로그 글들이 나온다.따라서 다른 검색 구현 방식과 차별점을 두기 위해 다음과 같은 조건들을 두겠다.첫 검색일 경우에 검색 결과 페이지(새로운 페이지)로 이동새로운 검색 단어로 검색 시( Enter 입력) 페이지 이동 없이 결과 변경검색어를 삭제할 때 모든 아이템 출력StreamBuilder vs FutureBuilder이전 Retrofit 관련 글에서는 Future를 활용하여 구현하였다.처음 시도했을 때는 FutureBuilder를 통해 API를 호출하여 검색 기능을 구현했었다.하지만 FutureBuilder로 검색 기능을 구현하면 검색어가 바뀔 때.. 2024. 8. 10.
[Android.hardware.Sensor] 안드로이드 Sensor를 활용하여 방위각, 고도 구하기 개요 및 설명 Android는 핸드폰 내부에 존재하는 Sensor를 통해 현재 위치, 가속도, 방향 등을 감지한다. Android studio의 SensorManager를 통해 이 정보들을 가져와서 사용할 수 있고, 다듬어서 원하는 정보로 변형도 가능하다. 예를 들어 가속도와 자기장 센서를 활용하여 나침반을 구현할 수 있다. 별 헤는 밤 앱은 별자리 관광 애플리케이션이지만 별 관측에 직접적으로 도움을 줄 수 있는 서비스가 부족했었다. 그래서 이번 업데이트 때 이 센서 정보를 활용하여 별자리의 방위각과 고도를 찾아줄 수 있는 기능을 추가하기로 했다! 이때 별자리의 고도와 핸드폰의 기울기로 비교해야 하므로 정확히 말하면 핸드폰의 기울기를 구한다고 하는 것이 올바른 표현이다. 직접적으로 방위각과 고도를 계산하.. 2024. 2. 20.
[Android] CustomView 를 활용한 효율적인 나만의 View 만들기 개요 및 배경 메인 페이지에 새로운 기능인 관심지역 날씨 카드 기능을 맡게 되었다. 간단히 말하면 위 그림과 같은 기능인데, 즐겨찾기 기능이라고 보면 된다. 총 3개까지 관심 지역을 설정할 수 있고, 아래처럼 관심 지역이 2개 이하일 때는 추가할 수 있는 + 버튼이 나오게 된다. 지금까지 위와 같은 동적으로 반복적인 요소를 생성할 때는 RecyclerView를 사용했었지만, 이번에 새로운 기능을 사용해보고 싶어 CustomView를 활용하여 해당 기능을 구현하게 되었다. CustomView 생성 자바의 중요 개념들 중에는 부모 클래스, 자식 클래스, 상속이 있는데 CustomView 도 이와 비슷한 개념을 사용한다. 안드로이드에서 View는 모든 안드로이드 화면의 기본 구성 요소이다. 자바에서의 Obje.. 2023. 12. 13.