일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- room
- Algorithm
- HTTP
- DataBinding
- notification
- hilt
- 안드로이드
- ViewModel
- Navigation
- lifecycle
- Android
- Behavior
- LiveData
- activity
- 알림
- kotlin
- recyclerview
- 코틀린
- View
- Coroutine
- 백준
- CoordinatorLayout
- BOJ
- onLayout
- sqlite
- AppBarLayout
- onMeasure
- CustomView
- 알고리즘
- CollapsingToolbarLayout
- Today
- Total
목록Android (111)
개발일지
Span Span은 TextView에 텍스트를 표현할 때 스타일을 입힐 수 있도록 도와줍니다. 예를 들면 색상, 크기, 폰트 등 다양한 옵션이 존재합니다. Span Class Span에 관련된 Class가 여러개 존재하며 상황에 맞게 효율적인 Class를 선택하여 사용해야 합니다. Class Edit Text Edit Span 데이터 구조 SpannedString NO NO Array SpannableString NO YES Array SpannableStringBuilder YES YES List Span을 생성하고 어떠한 수정이 발생하지 않으면 SpannedString을 사용합니다. Text를 변경하지 않으며 적은 수의 Span을 변경하면 SpannableString을 사용합니다. Text의 변경 또..
Jitpack Library를 Maven이나 jcenter같은 곳에 베포할 수 있지만 Jitpack을 사용하면 Android Module을 쉽게 베포할 수 있습니다. 또한 Android뿐만 아니라 Gradle을 사용한 프로젝트를 쉽게 베포할 수 있습니다. Jitpack은 Github에 저장된 Repository를 공유하기 때문에 Git을 사용하는 개발자는 쉽게 접근할 수 있고 설정도 간편하다는 장점이 있습니다. https://jitpack.io/docs/ANDROID/ Android - JitPack.io From here you can search these documents. Enter your search terms below. jitpack.io Plugin 설정하기 Module에 위치한 Grad..
Intent Intent는 Android에서 메시지를 전달하는 객체입니다. 주로 Activitiy, Service, Broadcast같은 Android 요소들 사이에서 메시지를 전달하는 역할을 수행합니다. 위 그림은 startActivity를 처리하는 과정입니다. Activity나 Service같은 Android 요소들은 직접 생성해서 사용하는 것이 아닌 Intent를 통해 Android Framework에 요청하여 사용하게 됩니다. 요청할 때 Intent에 데이터를 넣어서 보낼 수 있습니다. 인텐트 유형 명시적 인텐트 : Intent를 처리할 요소를 명시적으로 정하는 방식입니다. Context와 처리할 요소의 정보(패키지명, 클래스 이름)를 명시적으로 정하여 인텐트를 전송합니다. 암시적 인텐트 : In..
Android Google Map을 활용하여 간단하게 즐겨찾기 기능을 구현했습니다. 1. Application 등록 아래 사이트에 들어가서 Application을 등록한다. https://console.cloud.google.com/?hl=ko Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 2. Google Map API 등록 API 서비스 -> API 라이브러리로 가서 Maps SDK for Android를 등록한다. => API Key가 발급된다. 3. API KEY 등록 AndroidMenifest.xml에 application사이에 를 통해서 KEY를 등록한다...
Bridge Android에서 WebView를 통해 Android와 Web간의 통신을 도와주는 기능이다. WebView에 addJavascriptInterface 기능을 통해 JavaScript 구문을 넣을 수 있으며, loadUrl 기능을 통해 JavaScript 구문을 실행할 수 있다. WebView 주의 사항 : 같은 이름으로 Bridge를 추가한 경우 기존의 Bridge가 제거된다. @SuppressLint("SetJavaScriptEnabled") class JavaScriptWebView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0..
Flow Flow는 Coroutine에서 여러 값을 순차적으로 보내는 유형입니다. Jetpack에서도 많이 쓰이는 유형이고, Iterator와 비슷하며 map, filter등 람다 함수를 지원하면서 suspend 함수에서 쓰이기 때문에 비동기 처리에 효율적입니다. Flow 구성 Producer : Flow Builder에서 비동기적으로 데이터를 생산한다. Intermediary : Stream에서 보내는 데이터를 소비하지 않고 수정한다. Consumer : 값을 사용한다. Producer Flow Builder를 통해 만든다. flow, channelFlow등 다양한 함수가 존재한다. Builder를 통해 Data를 만들고 emit을 통해 Data를 전달한다. Consume하는 함수가 수행될 때마다 Fl..
Context (맥락) Android Developer Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc. 번역 응용 프로그램 환경에 대한 글로벌 정보에 대한 인터..
Constraint Layout RelativeLayout를 상속받은 Layout으로 Constraint를 통해 RelativeLayout의 기능을 모두 사용할 수 있고, Chain 기능을 사용하여 LinearLayout의 기능, Radio, Percent 기능을 사용하여 PercentLayout의 기능을 사용할 수 있습니다. ConstraintLayout이 다양한 기능을 제공하기 때문에 중첩 Layout을 사용해야 구현할 수 있던 상황에도 ConstraintLayout을 통해 Layout의 수와 Depth를 줄일 수 있기 때문에 성능면에서도 우수합니다. dependencies implementation 'androidx.constraintlayout:constraintlayout:2.0.4' Const..