본문 바로가기

분류 전체보기

(24)
[JAVA][Android] GridView와 GridLayout GridView 2차원 스크롤 격자의 항목을 표시하는 ViewGroup으로, 아이템은 ListAdapter로 가져오며 해당 Adapter에서 로드된 아이템만 화면에 노출합니다. GridView는 ListView와 같은 다른 View들보다 재사용성이 높아 성능이 좋습니다. GridLayout 2차원 격자 무늬 형태의 레이아웃으로 행과 열의 집합이며, 아이템은 인덱스로 참조되어 좌상단에서부터 (0,0) 좌표값으로 시작합니다. GridView는 LinearLayout과 RelativeLayout 등 다른 레이아웃들의 정렬과 성능문제를 보완하기 위해 만들어졌습니다. 차이점 비교
[kotlin][Android] collect와 collectLatest의 차이 collect와 collectLatest 는 데이터를 처리하는 방식으로, 코루틴의 데이터 파이프 라인인 Flow에서 발행하는 데이터를 소비할 때 이용한다. 방식은 collect와 collectLatest 두 가지가 있으며 두 방식의 차이를 소개해 보겠다. collect는 순차적으로 데이터를 처리하며, 앞서 들어온 데이터 처리가 모두 끝나기 전까지 다음 데이터를 처리하지 않는다. 발생할 수 있는 이슈는 데이터를 처리하다가 중간에 작업이 원활하지 못해 시간이 무제한으로 소비된다면, 다음에 들어올 데이터들은 영원히 처리될 수 없는 것 등이 있다. collectLatest는 마찬가지로 순차적으로 데이터를 처리하는데, 데이터 처리를 시작하는 것은 순차적이지만, 처리 도중 다음 데이터가 들어온다면 앞서 들어온 데이..
[아키텍처] 프로젝트의 MSA화 1-2주차 보호되어 있는 글입니다.
[JAVA][Android] SharedPreferences를 이용하여 XML파일 작성,읽기,수정(삭제) 파일에 글을 작성하거나 로컬DB에 값을 저장하는 등의 작업은 생각보다 빈번하게 일어난다. 이번 포스팅에서는 SharedPreferences 인터페이스를 이용하여 xml 파일에 글을 작성하는 방법에 대해 정리하겠다. https://developer.android.com/reference/android/content/SharedPreferences SharedPreferences | Android Developers developer.android.com 보기 편하게 작업 종류로 메소드를 나누어 작성하였다. 첫번째는 XML파일을 생성하여 내용을 작성하는 방법이다. private void writePref(int content){ SharedPreferences preferences = context.getS..
[JAVA][Android] 화면 구성 변경에 따른 객체 처리 (ConfigurationChanged) 앱의 특성상 화면 방향 회전, 다크/라이트 모드 변경 등에 따라 앱 내의 인스턴스의 상태가 변할 수 있으며, 초기화 되었다가 다시 생성될 수 있다. 이번 포스팅에서는 이와 같은 케이스에서 발생할 수 있는 이슈를 방지할 수 있는 ConfigurationChanged에 대해 설명하겠다. https://developer.android.com/guide/topics/resources/runtime-changes 구성 변경 처리 | Android 개발자 | Android Developers 구성 변경 처리 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 일부 기기 설정은 런타임에 변경될 수 있습니다(예: 화면 방향, 키보드 가용성 그리고 사용자 developer.android.com..
[아키텍처] 퍼사드(Facade) 패턴 지금 안드로이드 모바일 아키텍처 (클린 아키텍처) 강의를 듣고 있는데, 퍼사드 패턴이 소개되는데 설명이 간략해 혼자 정리해 보려고 함 1. 한 임의의 클래스에 서로 매우 다른 액터를 책임지는 메소드 세 개가 존재한다고 해보자 하나의 목적을 달성하기 위해 이 세 개의 메소드는 연달아 실행되어야 한다. 2. 이런 케이스는 SOLID 원칙의 단일 책임 원칙을 위반하므로 메소드를 세 개의 클래스로 분리해야 한다 * 단일 책임 원칙 : 하나의 모듈은 오직 하나의 액터에 대해서만 책임져야 함 3. 하지만 이렇게 되면 사용자 입장에서의 사용성이 떨어지므로, (사용할 때마다 클래스의 객체를 생성해야 함) => 서브 클래스들을 사이의 모듈들을 사용자 입장에서 간편한 통합 인터페이스를 제공하는 퍼사드 패턴을 응용하면 쉬워..