Composable function을 만들때, 2가지 방식으로 만들 수 있다. 모든 상태값은 관리하는 것과 외부에서 데이터를 주입받아 사용하는 방식이 있다. stateful vs stateless 아래와 같이 UI 상에서 관리해야 하는 상태 정보들을 모두 관리할 수 있다. 이렇게 만들었을 때, 해당 UI에서만 상태값을 관리하면 된다는 점에서 편하다. 간단한 UI 혹은 최상단의 컴포저블 함수일 때, 아래와 같이 구성할 것이다. @Composable fun switch() { val activated by remember { mutableState(false) } Switch( activated = activated, onChange = { activated = it } ) } 하지만, 화면을 구성하다보면 ..
간결하고 직관적인 코드로 비동기 처리 및 스레드 전환이 가능한 Coroutine 을 즐겨 사용하고 있습니다. Coroutine 은 이런 간결성, 편의성 외에도 경량 Thread 라고도 불리며 적은 기존 Thread 사용 방식에 비해 적은 OverHead 를 발생시키는 것으로 소개됩니다.그런데 늘 표현이 "경량 Thread 이다" 가 아니라 "경량 Thread 라고도 불린다" 라고 설명되더군요. 그래서 Thread 라는건지, 아닌건지...그래서 오늘은 이 둘의 차이와 특성을 정리해 보고자 합니다. Process & ThreadProcess: Program 이 메모리에 적재되어 실행되는 인스턴스 Thread: Process 내 실행되는 여러 흐름의 단위먼저 Thread 는 Process 보다 작은 단위의 실..
TextInputLayout & TextInputEditText 설정 및 기본 커스텀(밑줄, 커서색, 메세지) TextInPutLayout은 TextInputEditText 에 입력된 텍스트에 반응하는 레이아웃 입니다. EditText 의 상위 버전이라 할 수 있습니다. 기본 사용법 1. 라이브러리 설정 build.gradle 의 dependedncies 에 material 라이브러리를 넣어줍니다.implementation 'com.google.android.material:material:1.2.0' 2. style AppTheme 의 parent 를 AppCpmpat => MaterailComponents 로 변경해 줍니다. 변경하지 않아도 사용할 순 있지만, 몇몇 속성이 적용되지 않습니다. (밑줄 ..
이미지 효율적 처리를 위한 방법 정리합니다. 기본적으로 이미지를 불러오려면, imageView.setDrawable() 혹은 imageView.setBitmap() 이러한 방식으로 jpeg, png 파일들을 불러와서 사용할 수 있습니다. 하지만 이런 방식들을 사용하다보면 이미지가 너무 큰 경우, 혹은 이미지가 너무 고화질인 경우에 out of Memory 문제가 발생할 수 있습니다. 그래서 이미지 효율적으로 처리하기 위한 방식 3가지를 정리하려고 합니다. 1. 이미지 해상도별 별도의 폴더로 관리하기 위의 폴더와 같이 hdpi, mhdpi, xhdpi, xxhdpi 와 같이 같은 이미지라도 해상도를 분류하여 저장할 수 있습니다. 위와 같은 방법이 효율적인 이유를 설명드리겠습니다. 안드로이드에서 이미지를 찾..
안녕하세요, 오늘은 안드로이드 개발할 때 이미지 처리를 위한 방법 중 하나인 glide 라이브러리를 소개 및 정리해보려고 합니다. 글 작성에 앞서, 1. Glide 라이브러리 소개2. Glide SDK 요구사항3. 라이브러리 사용을 위한 선언 방법4. 라이브러리 기본 사용법 Glide 소개Glide는 google에서 공개한 라이브러리입니다. Glide는 미디어 디코딩, 메모리 및 디스크 캐싱 및 리소스 풀링을 간단하고 사용하기 쉬운 Android용 인터페이스입니다. 빠르고 효율적인 오픈 소스 미디어 관리 및 이미지 로딩을 도와주는 프레임 워크라고 설명할 수 있습니다. 개인적으로 glide 장점은 이미지를 썸네일 방식으로 불러올 수 있다는 것, GIF도 띄울 수 있다는 것입니다. Glide 사용을 위한 S..
안녕하세요, 오늘은 안드로이드 4대 컴포넌트 중 하나인 "서비스"에 대해서 정리해보려고 합니다. 글 작성에 앞서, 1. 서비스 정의2. 서비스 유형3. 서비스 구현을 위해 알아야 하는 필수 사항4. 메니페스트(Manifest) 서비스 선언 이 순서로 정리해보겠습니다. 1. 서비스 정의백그라운드에서 오래 실행되는 작업을 수행할 수 있는 애플리케이션 구성 요소 입니다. 사용자 인터페이스(UI)를 제공하지 않습니다. 다른 애플리케이션에서도 서비스를 시작할 수 있으며, 다른 애플리케이션으로 전환 하더라도 백그라운드에서 계속해서 실행할 수 있습니다. 또한, 구성 요소를 서비스에 바인딩하여 서비스와 상호작용할 수 있으며, 프로세스 간 통신(IPC)도 수행할 수 있습니다. 예시 상황1) 네트워크 트랜잭션을 처리2) ..
안녕하세요, 오늘은 안드로이드 개발하는데 있어 변수나 메소드의 네이밍 규칙에 대해서 알려 드리려고 합니다. 순서1. Naming 규칙/방식 종류2. 상황별 적용 방식 (안드로이드 공식 홈페이지에서 추천하는 방식) Naming 규칙 종류1. lowerCamelCase각 단어의 첫 문자를 대문자로 표시하되, 해당 메소드명이나 변수명은 소문자로 적는 방법입니다.예시 : getContentData() 2. UpperCamelCase전체 이름의 첫 문자를 모두 대문자로 표시하는 방법입니다.예시 : GetContentData() 3. snake case각 단어 사이를 언더바로 구분해주는 방법입니다예시 : get_content_data() 4. all lowercase모든 문자를 소문자로 적어주는 방법 입니다.예시 ..
- Total
- Today
- Yesterday
- 개발공부
- codingtest
- Swift데이터타입
- 안드로이드개념
- 밑줄색
- TextInputEditText
- github
- 블로그관리하기
- 안드로이드공부
- CI/CD
- 구글서치콘솔
- Swift기초자료
- ios
- 티스토리블로그광고
- 밀리세컨
- AUTH0
- 네이버웹마스터
- swift
- underline color
- 사이트맵등록방법
- 4대컴포넌트
- IT
- 안드로이드
- 코드스타일
- 서비스선언
- git
- 인드로이드4대컴포넌트
- TextInputLayout
- Android
- 인증토큰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |