Frontend/Android(34)
-
Android widgets
Widget ? Android에서 widget의 정의는 app의 가장 중요한 데이터와 기능들을 유저의 홈 스크린에서 한번에 보게되는 'view들' 입니다. 사용자는 위젯을 이동할 수도 있고, 크기를 조절할수도 있습니다. Widget types Information widgets 명가지 중요한 정보를 보여주는 widget 입니다. 날씨 위젯, 시계 위젯등이 대표적인 예 입니다. 이를 터치하면 보통 연관된 앱이 실행되고 해당 정보를 보여주는 'view'로 진입합니다. collection widgets 여러가지 이미지 등을 한번에 보여주는 위젯 입니다. email, message 등이 대표적인 콜랙션 위젯이라고 할 수 있습니다. Control widgets 제어를 하는 패널 등을 제공하는 위젯입니다. Widg..
2023.02.04 -
Kotlin map
immutable type map decralation val map1: Map = mapOf("1" to 1, "2" to 2) use Pair val map2: Map = mapOf(Pair("1", 1), Pair("2", 2)) mutable type mutableMapOf hashMapOf linkedMapOf sortedMapOf MutableMap HashMap LInkedHashMap SortedMap declaration insert put val map1: MutableMap = mutableMapOf("1" to 1, "2" to 2) map1.put("3", 3) map1.put(Pair("4", 4)) [] map1["5"] = 5 remove map1.remove("1") + w..
2023.01.31 -
Android, Jetpack data binding
Jetpack data binding layout XML 내 data를 직접 binding 하여 activity에서 access 할 수 있습니다. ViewModel 내의 data layout XML에 직접 연결합니다. LiveData와 보통 함께 사용합니다. findViewById(R.id.txtSample).apply { text = viewModel.name }위와 같이 사용하던 코드를 아래와 같이 binding하여 처리 가능합니다. layout XML file에 element를 추가합니다. 이후 layout XML file에 element를 추가합니다. bindig library build.gradle 수정 ... apply plugin: 'kotlin-android-extensions..
2023.01.29 -
Android RecyclerViewRecyclerView 기존 ListView를 사용하여 여러 item들을 scroll 하여 볼 때 버벅임이 있었습니다. recycler view는 모든 객체를 새롭게 만들고 삭제하고 하는 과정을 제거하고 재 사용하여 버벅임을 없앴습니다. 이를 사용하기 위해서는 화면을 만들고 adapter를 사용해야 합니다. RecyclerView -> Adapter -> DataSource Data는 ViewHolder를 binding 한 후, 이를 adapter에 넣습니다. 사용 client는 Adapter로만 사용합니다. 위 구조는 전형적인 MVVM 패턴을 사용한 구조입니다. 앱에서 UI Controller가 바로 Activity 부분입니다. UI controller 내 observer가 있으며, ViewModel이..
2023.01.29 -
Jetpack architecture
Jetpack 이전 여러 activity들로 구성 lifecycle 관련 문제들이 발생 회전 시 activity가 파괴되고 다시 생성되는 등의 문제 Jetpack 하나의 activity에 여러 fragment를 사용 Activity.kt/java를 backend code로 사용하기도 함 separation concern 적용 ViewModel pattern 사용
2023.01.29 -
Android Jetpack
Jetpack? 2018년 5월 8일 구글이 발표한 라이브러리와 도구 모음을 의미합니다. 개발을 보다 쉽게 할 수 있도록 돕는 역할을 수행합니다. AndroidX Android Extension Libraries 기본 안드로이드가 제공하지 않는 다양한 유틸리티, TV, 웨어러블, 차량과 같은 다양한 곳에서 필요한 컴포넌트 들을 제공합니다. Support library이 문제점 1) fine graduality를 제공하지 않는 package AndroidX를 사용하면 사용하고자 원하는 컴포넌트만 세분화 하여 라이브러리를 다운로드하여 사용할 수 있습니다. 기존 support library에서는 ViewPager 하나만 사용하고자 해도 DrawerLayout, CursorAdapter, SwipeRefresh..
2023.01.29