일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코틀린
- 파이썬
- 명언모음
- 1인개발자
- 넷플릭스
- 벤자민플랭클린
- Linux
- 공자명언
- 장자명언
- 공부집중
- bash
- Android
- 명심보감
- recyclerview
- jetpack compose
- androidx
- 오픈소스
- Firebase
- DART
- kotlin
- Flutter
- 이모지
- 좋은글필사하기
- Freesound
- Coroutine
- 소울칼리버6
- 이모지메모
- ASMR
- FSM
- Streaming
- Today
- Total
목록Source code or Tip/Android(Java, Kotlin) (63)
Vintage appMaker의 Tech Blog
https://github.com/VintageAppMaker/Github_compose GitHub - VintageAppMaker/Github_compose: . . Contribute to VintageAppMaker/Github_compose development by creating an account on GitHub. github.com Jetpack compose는 선언형 UI 구조와 상태관리를 이해해야 사용가능한 프레임웍이다. 그러다보니 기존 Android 개발구조와는 많은 상이함을 가지고 있다. 특히 화면단위의 Lifecycle을 compose만의 방법으로 처리해야 하는 이슈가 발생한다. github api를 구현하는 예제를 통하여 다음과 같은 내용을 정리해보았다. 사용하다 경험한 이슈..
DI(Dependency Injection)는 클래스 내에 사용하는 내부 클래스를 외부에서 생성하고 주입할 경우 사용하는 패턴이다. 왜 사용할까? 수정을 용이하게 함이 목적이다. 내부 클래스를 외부 클래스에서 직접 생성을 할 경우, 내부 클래스의 구조와 객체를 변경할 일이 있으면 내부 클래스를 사용한 모든 외부 클래스를 변경해야 하는 번거로움이 있다. 그러므로 DI는 코드수정을 용이하게 함이 목적이므로 때에 따라 강력한 기능을 제공할 수도 있다 (언제나 그렇다는 것은 아니다. 지나친 DI 구조가 가독성을 떨어트리는 경우도 많다) kotlin의 경우, DI 라이브러리 또는 프레임웍으로 자주 사용되는 것은 다음과 같다. 1. Android 전용의 Hilt 2. Dagger 3. Koin 4. kodein(K..
Room은 Android에서 데이터베이스를 ORM(Object Relational Mapping)으로 편하게 사용할 수 있도록 지원해주는 라이브러리이다 구조적으로는 SQLite의 위에서 편리한 기능을 처리해주는 Wrapper의 성격을 가지고 있다. ROOM을 사용하기 위해서는 다음과정을 거쳐야 한다. - gradle 설정 - entity 정의(DAO) - database 초기화 - 코루틴으로 사용 1. gradle 설정 gradle 설정시 room에서는 kotlin의 annotation이 달라지므로 플러그인으로 kapt를 정의해야 한다. 그리고 room과 코루틴 라이브러리를 정의한다. 참고로 코루틴의 경우, core와 android의 버전을 동일시 하지 않으면 에러가 발생할 경우가 있다. build.gr..
Android 화면을 만들면서 Activity만 사용하는 경우보다 Activity + Fragment(s)의 구조로 관리되는 경우가 많다. 그런 경우, BottomNavigationView를 만들어 하단메뉴를 구현할 때도 많다. BottomNavigationView로 하단메뉴를 만들 때에는 다음 3가지를 집중적으로 관리하게 된다. Fragment로 이동 Fragment를 대체할 XML내의 위젯을 배치한다. 이를 설명할 때, FrameLayout를 사용한 예제가 많은 편이다. Fragment로 이동하고자 한다면 supportFragmentManager에서 아래와 같은 코드로 Fragment를 넘겨주면 된다. 그리고 setOnNavigationItemSelectedListener에서 하단메뉴를 클릭시, 원하..