일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTTP
- View
- Coroutine
- DataBinding
- recyclerview
- Navigation
- onMeasure
- 백준
- 알림
- CustomView
- LiveData
- CoordinatorLayout
- AppBarLayout
- kotlin
- Behavior
- hilt
- notification
- lifecycle
- onLayout
- 코틀린
- 안드로이드
- 알고리즘
- Algorithm
- Android
- room
- BOJ
- activity
- CollapsingToolbarLayout
- sqlite
- ViewModel
- Today
- Total
목록Android (안드로이드) (99)
개발일지
안드로이드는 기본적으로 싱글 쓰레드이다. 그렇기 때문에 메인 쓰레드에서 처리 시간이 긴 명령(데이터 베이스, 네트워크 등)을 작성하면 버벅거린다. 따라서 처리 시간이 긴 명령은 서브 쓰레드를 만들어서 처리하는게 이상적이다. 하지만 멀티 쓰레드 환경에서 나오는 여러가지 이슈 때문에 안드로이드는 UI를 메인 쓰레드에서 밖에 바꾸지 못한다. 따라서 서브 쓰레드에서 UI를 변경하려면 Handler 객체를 이용하여 메인 쓰레드와 통신해야 한다. 핸들러는 메시지뿐만 아니라 Runnable을 전달할 수 있다. Handler 핸들러는 루퍼에 의존적입니다. 핸들러를 생성하면 루퍼를 연결해야 합니다. 핸들러를 생성할 때 생성자로 루퍼를 전달하여 다른 쓰레드의 루퍼를 연결할 수 있고, 아무것도 전달하지 않으면 핸들러를 생성..
onCreate 이 콜백은 시스템이 먼저 활동을 생성할 때 실행되는 것으로, 필수적으로 구현해야 합니다. 활동이 생성되면 생성됨 상태가 됩니다. onCreate() 메서드에서 활동의 전체 수명 주기 동안 한 번만 발생해야 하는 기본 애플리케이션 시작 로직을 실행합니다. 예를 들어 onCreate()를 구현하면 데이터를 목록에 바인딩하고, 활동을 ViewModel과 연결하고, 일부 클래스 범위 변수를 인스턴스화할 수도 있습니다. 이 메서드는 savedInstanceState 매개변수를 수신하는데, 이는 활동의 이전 저장 상태가 포함된 Bundle 객체입니다. 이번에 처음 생성된 활동인 경우 Bundle 객체의 값은 null입니다. Activity가 생성될 때 실행된다. Lifecycle에서 한번밖에 실행되..
채널 만들기 Android O 이상에서 Notification을 생성하기 위해서는 Notification Channel을 만들어야 한다. if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val NOTIFICATION_CHANNEL_ID = "id" val NOTIFICATION_CHANNEL_NAME = "name" val NOTIFICATION_IMPORTANCE = NotificationManager.IMPORTANCE_DEFAULT val channel = NotificationChannel(NOTIFICATION_CHANNEL_ID, NOTIFICATION_CHANNEL_NAME, NOTIFICATION_IMPORTANCE) val manager = ..