Composable function을 만들때, 2가지 방식으로 만들 수 있다. 모든 상태값은 관리하는 것과 외부에서 데이터를 주입받아 사용하는 방식이 있다. stateful vs stateless 아래와 같이 UI 상에서 관리해야 하는 상태 정보들을 모두 관리할 수 있다. 이렇게 만들었을 때, 해당 UI에서만 상태값을 관리하면 된다는 점에서 편하다. 간단한 UI 혹은 최상단의 컴포저블 함수일 때, 아래와 같이 구성할 것이다. @Composable fun switch() { val activated by remember { mutableState(false) } Switch( activated = activated, onChange = { activated = it } ) } 하지만, 화면을 구성하다보면 ..
String은 "가나다라"와 같은 문자열, Reference Type을 말하고, Char은 '가', '나', '다'와 같은 문자만 담을 수 있는 Primitive Type 말한다. Char - 2 byte 정수 - 아스키코드 혹은 유니코드로 치환되어 저장 - Character이라는 Reference type으로 변환 가능 - Primitive type은 null 불가능 String - 하나의 객체를 생성하여, 문자를 붙여서 만드는 불변 객체 (Immutable Object) - 객체, 값 비교시의 주의할 필요 있음 (equals, ==)
간결하고 직관적인 코드로 비동기 처리 및 스레드 전환이 가능한 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 로 변경해 줍니다. 변경하지 않아도 사용할 순 있지만, 몇몇 속성이 적용되지 않습니다. (밑줄 ..
오늘은 TCP/IP 정의와 플래그(Flag) 정리 해보려고 합니다. 모바일나 웹에서 서버와 데이터를 주고 받기 위해서는 정해진 프로토콜에 기반하여 데이터를 주고 받습니다. 오늘은 통신 프로토콜 중 하나인 TCP/IP를 다뤄보려고 합니다. TCP이란? TCP = Transmission Control Protocol TCP/IP 통신은 안정적이고, 순서대로, 에러없이 통신하기 위해 만들어진 프로토콜 입니다. 통신 프로토콜에 있어서 기본적으로 꼭 알아두어야 하는 통신 방법입니다. TCP/IP는 HTTP와 달리서버와 클라이언트가 한번 연결이 되면 다른 한쪽에서 끊기 전까지 계속 통신할 수 있습니다. (HTTP는 단방향이여서 한번의 통신은 데이터 한번 전송한다는 방식입니다.) 주로 채팅이나 실시간 방송 등 계속 ..
이미지 효율적 처리를 위한 방법 정리합니다. 기본적으로 이미지를 불러오려면, 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..
- Total
- Today
- Yesterday
- 밀리세컨
- 안드로이드개념
- 구글서치콘솔
- 인드로이드4대컴포넌트
- AUTH0
- underline color
- 티스토리블로그광고
- 사이트맵등록방법
- 인증토큰
- 개발공부
- 4대컴포넌트
- git
- TextInputEditText
- codingtest
- 안드로이드
- IT
- CI/CD
- swift
- 네이버웹마스터
- github
- 안드로이드공부
- 블로그관리하기
- Swift기초자료
- 서비스선언
- 코드스타일
- ios
- Android
- TextInputLayout
- Swift데이터타입
- 밑줄색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |