[플러터] 플러터 쓰다가 생각난 이런 저런 상념

Posted on

(1) build 함수에 위젯 주렁주렁 달기build 함수에 return 문에 위젯을 배치해서 처리하는 것이 플러터의 특징이다. UI 구성을 하다보면 위젯 개수가 많아지고 속성도 많아져서 매우 길게 늘어진다. 이렇게 되면 코드가 가독성도 없고, 무거운 앱인 경우 오버헤드가 있다고 한다. 그래서 고안된 추천 사항은 children: [] 속성 설정이 가능한 위젯을 두고 달아둘 위젯을 클래스나 함수로 분리해서 배치하라는 기법이다. …

[플러터] 플러터로 앱 제작시 같은 자리에 오는 위젯을 조건에 따라 달리 표시하는 방법

Posted on

플러터의 장점은 UI 배치가 매우 쉬운 배려가 되어 있는 언어라는 점입니다. 위젯 형태로 제공되는 기본 UI 구성 요소가 많이 제공되고, 각각의 위젯 내부에 배치할 수 있는 속성에 위젯 클래스를 배치하기만 하면 UI 구성이 잘 됩니다. 이 장점으로 인해 저도 아주 훌륭한 혜택을 받고 있습니다. 다트와 플러터에서 제공되는 제작사가 만든 UI 위젯뿐아니라, 사용자 생태계에서 제공되는 패키지도 …

M2 맥 미니 신청해두었습니다

Posted on

플러터로 멀티플랫폼 모바일 앱 개발을 하는데 iOS용 빌드는 맥에서만 가능합니다. 본래 가격이 좀 쎈 편인 기기들이라 안드로이드 앱을 우선 출시하고 돈벌어 구하려다가 비용 사정이 나아져서 맥 미니 M2 버전을 신청해두었네요. 8GB 모델이고 M2도 8코어 CPU에 10코어 GPU 라는데 우선 플러터 개발을 위한 머신으로 신청했고, 어느 정도 성능이 나온다면 캡처 장치를 연결할 목적으로도 쓰고 싶은데요. 선더볼트 …

안드로이드에서 글 저장을 R.array 참조값으로 처리하기 위한 방법 연구

Posted on

안드로이드에서는 글을 저장할때 DB를 많이 씁니다. 편리한 처리를 위해 Room을 써서 SQLite를 쓰는 방법이 유력합니다. 그런데 Room을 안쓰고 리소스 디렉토리에 XML로 저장해서 R.array 참조값으로 문자열과 드로어블 리소스를 받아와서 배열로 처리하는 방법도 있습니다. XML로 저장한 글을 불러와서 처리하는 한 방식으로 여러모로 쓸만합니다. 간단하게 한마디로 말하자면, res/values 디렉토리에 XML 파일을 만들고, TypedArray나 StringArray로 가져와서 이를 코틀린 코드로 …

안드로이드 리사이클러뷰의 뷰홀더 클래스에 onClick 함수 재정의시 선택한 아이템의 위치(position) 넘겨서 처리하기

Posted on

안드로이드에서 리사이클러뷰를 구현할때 뷰홀더 클래스를 지정해서 해야 합니다. 뷰홀더 클래스에는 onClick 함수가 재정의되어야 하는데 리사이클러뷰가 표시하는 목록에서 아이템이 클릭되면 일어나야 하는 기능을 구현하는데 쓰입니다. 그러나 구조적인 문제로 몇번째 아이템인지 알려주는 position 값을 넘겨받기가 애매해집니다. 이 경우 코틀린에서 제공하는 higher order function을 써야 합니다. higher order function은 클래스 시그니처에 지정하는 함수 문법인데 함수를 파라메터로 넘겨서 함수의 …

R.array 참조로 드로어블 참조값 배열로 가져오기

Posted on

보통 드로어블은 일단 형식에 맞게 저장이 되어 있다면, R.drawable.파일명 참조로 읽어들일 수 있습니다. 때로는 파일명이 앞부분을 같게 하고 일괄적으로 번호를 붙여 저장하기도 하는데요. 이 경우 R.string이나 R.id로 불가능합니다. 배열에 저장해야 되는데 아래처럼 하면 안됩니다. 이것을 코틀린 코드에서 받아내서 루프로 배열에 저장하면 저장된 값은 String이지, R.drawable 참조값이 아니라서 아무런 기능을 못합니다. 대신 TypedArray로 지정해서 가져오는 방법이 …

안드로이드 코틀린으로 스플래시 화면 제작

Posted on

스플래시 화면에 사진을 표시하고 배경음악을 들려주는 코드를 만들었다. 코드상으로는 단순한 구조인데 액티비티만 구현해도 가능하다. 그러나 자잘한 챙겨둘 조건들이 있어서 관건이다. 사진 파일의 선명도를 유지하는 방법 (화면 크기, 소프트웨어적인 해상도에 따라 선명도가 달라짐) 물리적 화면 크기의 비율에 따른 화면 표시상의 빈 공간 제거 방법이 필요 음악파일의 크기가 작으면 좋을 것 액티비티 생명 주기에 따라 음악재생 객체를 …

안드로이드 젯팩에 포함된 탐색 라이브러리에 대한 설명 1

Posted on

안드로이드 앱은 여러개의 액티비티와 프래그먼트가 쓰인 화면으로 구성됩니다. 각각의 화면은 레이아웃 규칙에 의해 만들게 되어있고 이 화면들을 옮겨다니는 것도 규칙이 필요합니다. 흔히 말하는 네비게이션 기능을 구현해야 하는 것입니다. 이 네비게이션 기능은 프로그래머가 직접 하드코딩해서 만들어도 되지만, 아무래도 프로그램 구조가 복잡해지고 보다 더 체계적으로 만들기 위해서는 통합된 기준이 있으면 좋을 것입니다. 안드로이드 젯팩에 포함된 탐색 라이브러리(navigation …

1 2