본문 바로가기

분류 전체보기67

Android Compose UI 기초 안드로이드에서 Compose UI가 나온 지 좀 됐다. 플러터 UI 개발 방식과 유사한 Android Jetpack의 ComposeUI는 선언형 프로그래밍 방식이다. 비슷한 방식으로 - Flutter - SwiftUI 가 있다고 보면 된다. 또한 Compose는 Material 디자인을 지원한다. 즉, 구글의 기본적인 디자인을 지원한다는 것. ToolBar 이런 거를 기본적으로 쓸 수 있다. 먼저 컴포저블에 대해 알아보자면 다음 코드에서 보다시피 컴포즈를 쓸때 선언해 주는 것이다. Compose UI의 구조에 대해 쉽게 본다면 그냥 트리 구조같다고 보면된다. 기존에 많이 썼던 xml의 ConstraintLayout은 트리구조가 아닌 뷰와 뷰를 상대적으로 상호연결하는 구조라 빠른 것으로 알고 있다. (물론.. 2023. 8. 22.
[프로그래머스/LEVEL1] 가장 가까운 같은 글자 (java) 문제 설명 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다. n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다. a는 자신보다 두 칸, 네 칸 앞에 a가 있.. 2023. 2. 12.
[Android] Compose UI 프로그래밍 https://developer.android.com/jetpack/compose/documentation Jetpack Compose 시작하기 | Android Developers Jetpack Compose 시작하기 Jetpack Compose는 네이티브 Android UI를 빌드하기 위한 최신 도구 키트입니다. 여기에서 Compose 사용에 관한 최신 정보를 확인할 수 있습니다. 개요: Compose 개발자에게 제공되는 developer.android.com 안드로이드의 Compose UI는 작년(2021년)부터 뜨기 시작한 안드로이드 Jetpack Library이다. 간단하게 말하자면 선언형 프로그래밍 방식의 UI 빌드형 라이브러리이다. 선언형이란 '어떻게' 보단 '무엇을'에 초점을 맞추어 개발하.. 2022. 3. 31.
안드로이드 MVC 패턴 (가장 기본적인 패턴) MVC패턴은 안드로이드 디자인 패턴 MVP, MVVM의 기초 뼈대가 되는 디자인 패턴이다. 내가 디자인 패턴을 잘 모르는 사람이다싶어도 MVC 패턴대로 개발하고 있을 확률이 높을만큼 흔하고 쉽다. Model View Controller 의 구조이다. 이미지에서 보다시피 딱 봐도 Controller에서 모든 게 이루어진다고 생각하면 된다. Model ) 데이터의 정보가 담겨 있는 곳이다. 예를 들면 data class와 같은 데이터 객체이다. data class House{ val area : String, val size : Int, val type : String } 이런 구조가 있을 것 같다. 참고로 모델은 어디에 의존하지 않기 때문에 재사용이 가능하다. 다음으로 View View ) xml 레이아웃.. 2022. 3. 24.
Flutter 서버 연동(http) - 파일 다운로드 기능 (xlsx, hwp 등) Flutter 서버 http로 연동할 때 파일을 다운받는 형태로 만들어야 하는 상황이 간혹 있습니다. 머리아파요; 일단 저의 엄청난 짜깁기 실력으로 일궈낸 결과이므로 구체적인 설명이 불가능합니다. 먼저 http를 이용한 서버 연동 코드입니다. 보내고 불러오는 코드는 다를 바가 없어요. 문제는 받아온 값들을 파일로 변환시켜 사용자가 다운로드 받을 수 있게끔 해야하는 부분이죠. Future.microtask(() async { final uri = Uri.parse( base_url + '/download'); final map = jsonEncode({ "id": id, }); Map headers = { 'Content-Type': 'application/json', 'Accept': 'applicati.. 2022. 2. 24.
Flutter 서버 연동 한글깨짐 (http) 이번 포스팅은 너무 빨리 끝날 것 같습니다. Flutter 서버 연동시 한글 깨짐... 너무너무 간단합니다. 일단 http로 연동을 다 끝냈다는 가정하에 설명할게요 제가 포스팅해뒀던 이 블로그 코드를 바탕으로 해보겠습니다! https://ksb0511.tistory.com/entry/Flutter-http-%EC%84%9C%EB%B2%84-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0?category=1003742 Flutter http 서버 연동하기 Retrofit 을 포스팅하고 바로 http 서버 연동을 포스팅해야지 라고 생각했는데 벌써 시간이 꽤 흘렀네요..ㅎ 까먹지 않기 위해 http 서버 연동을 포스팅해보려고 합니다. 저는 개인적으로 retrofit보다 ksb0511.tist.. 2022. 2. 22.