일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BottomSheetDialogFragment
- layout_constrainedHeight
- Popup menu background color
- Collections Function
- Load failed
- json
- Android
- Room
- Navigation
- todo
- NumberPIcker
- SSAID
- RecyclerView
- multipart
- WorkManager
- Lifecycle
- 화면 회전
- log
- layout_constrainedWidth
- Retrofit2
- ThreeTen Backport
- http
- DataBinding
- 생명주기
- DialogFragment
- kotlin
- gradle plugin
- studywithme
- 기기고유값
- findNavController
- Today
- Total
목록Android/Concept (6)
chacha's
ADB(Android Debug Bridge)는 애뮬레이터나 기기에 명령을 보낼 수 있도록 하는 Command line tool입니다. ADB 사용하여 프로세스 강제 종료하기 Terminal에서 abd가 있는 폴더로 이동합니다. 애뮬레이터를 사용하여 앱을 실행합니다. 사용 중이던 앱을 백그라운드로 보냅니다. ( 앱을 실행 중일 때 home 버튼을 누르면 앱을 백그라운드로 보낼 수 있습니다. ) Terminal에 아래와 같은 명령어를 입력하여 adb를 실행합니다. 아래의 명령어는 Android OS가 앱의 실행을 멈추듯이 동작합니다. ADB를 path에 추가하기 만약 adb 파일이 있는 폴더로 이동하지 않고 Terminal에서 바로 사용하고 싶다면 path에 파일 경로를 추가해주어야 합니다. 1. ADB ..
목차 Stage of the activity lifecycle, Lifecycles and logging을 참고하였습니다. 아래에서 사용된 코드는 github에 올려두었습니다. Android Lifecycle을 이해한다는 것은 Android 개발자에게 중요한 사항입니다. 라이프사이클(lifecycle)과 관련된 코드 배치, 객체 초기화 등을 이해하면 앱의 안정성과 성능을 향상시킬 수 있습니다. 애플리케이션을 개발할 때 우리는 "기기의 화면이 회전하거나 앱이 백그라운드로 배치되는 동안 어떤 정보가 유지되어야 하는가?", "어떤 뷰를 초기화 및 참조해야 하는가?", "코드를 구조화할 때 어떤 것을 고려해야 할 다른 사항이 있는가?" 등 라이프사이클과 관련된 여러 사항들을 생각해야 합니다. 예를 들어 어떤 앱..
목차 시중에 나와있는 앱을 보면 복잡하게 이루어진 경우가 대부분으로 하나의 화면이나 두 개의 버튼으로 이루어진 화면처럼 간단하게 이루어진 앱을 찾아보기는 힘듭니다. Navigation은 화면을 구성하는 과정에서 도움이 되는 Android Jetpack Component 입니다. 기존에 방법보다 신경써야 할 부분도 많이 있지만 시각적으로 view가 어떻게 연결되어 알 수 있기 때문에 도움이 됩니다. 만약 navigation graph를 봤을 때 모든 화면을 연결하는 선이 스파게티처럼 복잡하게 이루어져 있다면 사용자가 앱을 사용할 때 머릿속에 이러한 그림을 그려가며 앱을 사용해야 한다는 것을 의미합니다. 몇 개의 화면으로만 이루어져 있는 앱이더라도 navigation을 봤을 때 복잡하다면 사용자 또한 그렇게..
Costraint Layout을 사용하면 내포된 view group 없이 평면 뷰 계층 구조로 크고 복잡한 레이아웃을 만들 수 있습니다. 모든 view가 형제 뷰와 부모 레이아웃 간의 관계로 표현된다는 점에서 Relative layout과 유사하지만 Relative layout보다 유연하며 사용하기 쉽습니다. Constraint Layout으로 거의 모든 레이아웃을 만들 수 있지만, 15개 미만의 적은 요소를 배열하거나 하나의 복잡한 layout에 여러 개의 view group을 배열하는 경우에 가장 적합합니다. 만약 view의 좌표를 지정하지 않는다면 view는 parent view의 top-left를 기준으로 ( 0,0 ) 위치에 나타날 것입니다. Constraint Layout을 사용하는 이유 다양..
목차 Android Kotlin Fundamentals - Data binding basics 를 참고하여 작성한 게시글입니다. Data Binding Android는 activity나 fragment 코드에서 view를 참조하기 위해서 보통 findViewById를 사용하여 Id를 찾아야합니다. 이 경우 런타임(runtime)에 view 계층을 탐색하여 찾는 것입니다. 따라서 뷰 계층이 깊어질수록 찾는데 더 오랜 시간이 걸리므로 유저가 앱을 사용할 때 반응을 느리게 할 수 있는 요소가 됩니다. ( findViewById를 사용하면 view가 호출될 때마다 runtime에 view를 찾습니다. ) DataBinding을 사용하면 이를 해결할 수 있습니다!!! DataBinding을 사용하는 경우 컴파일 ..
View View 는 계층구조로 이루어져 있습니다. View Binding 해당 내용은 dev_2dong님 블로그를 참조한 내용입니다. View Binding 은 findViewById를 사용하지 않고 object에 xml view 컴포넌트의 ID를 찾아서 inflate 해줍니다. ( ViewBinding은 XML layout을 위해서 binding 할 object를 생성합니다. ) Android Studio 3.6 version 이상부터 사용할 수 있습니다. Android는 Jetpack을 도입하면서 다양한 변화를 맞이했는데 View Binding은 Jetpack에 포함된 라이브러리는 아닙니다. 참고로, Kotlin Android Extension에서는 synthetic binding을 지원하기 때문에..