Android(38)
-
[SOLID principles of Android] SOLID 원칙 정리와 안드로이드에서 사용 예
SOLID 원칙 컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩토링 하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. SRP(Single Responsibility Principle): 단일 책임 원칙 class는 오직 하나의 이유만 가져야 한다 즉, 하나의 변경 작업을 가져야 한다는 것을 의미한다 EX) RecyclerView..
2022.07.04 -
Android Interview / CS 정리
Android 4대 컴포넌트 Activity : UI 담당 컴포넌트 Service : 백그라운드 실행 컴포넌트 BroadCastReceiver : 단말에서 발생하는 다양한 이벤트를 받아 반응하는 컴포넌트 ContentProvider : 데이터 공유 컴포넌트 What is the Intent? 컴포넌트 간 정보를 주고받을 수 있음 명시적 Intent : Intent에 클래스나 컴포넌트 이름을 명시, 호출할 대상을 명확히 알 수 있는 것 암시적 Intent : 호출할 대상이 바뀔 수 있는 경우 ANR(application not responding) android 앱의 UI 스레드가 너무 오랫동안 차단될 경우 발생 Context Context : 현재 사용되고 있는 application의 포괄적인 정보를 지..
2022.05.17 -
[Google I/O 2022/Android] 13 Things to know for Android developers at Google I/O! 해석본
#1: 고급 사용 사례를 지원하는 Jetpack Compose Beta 1.2 안드로이드 최신 UI 툴킷인 Jetpack Compose는 다운로드 가능한 글꼴, Lazy Grid, 윈도우 삽입, 네스트 스크롤 상호운용, Live Edit, 재구성 디버깅, 애니메이션 미리 보기 등의 기능을 통한 보다 고도의 사용 사례를 지원하기 위해 필요한 API를 지속적으로 제공하고 있다. 자세한 내용은 블로그 게시물을 참조하십시오. #2: Android Studio: 실시간 편집(Live Edit) 소개 Android Studio Dolphin Beta와 Electric Eel Canary로 더 많은 작업을 보다 신속하게 수행할 수 있습니다. Android Studio Dolphin은 Jetpack Compose 와 ..
2022.05.13 -
[Android/안드로이드] Glide Module
Warning 내용 W/Glide: Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored build error 가 발생하진 않지만 거슬리기 때문에 수정하고 넘어가 보겠습니다 1. build.gradle(app)에 glide 관련 gradle 추가 //glide def glideVersion..
2022.05.11 -
[Kotlin/코틀린] kotlin 시간 측정
kotlin 시간 측정 방법 Monotonic 사용 Monotonic - Kotlin Programming Language kotlinlang.org @OptIn(ExperimentalTime::class) private fun test() { var mark = TimeSource.Monotonic.markNow() println(mark.elapsedNow()) } I/System.out: 7.766438s 확인
2022.05.09 -
[ViewPager2 + horizontal recyclerView] Handling Scrolling of Horizontal Recyclerview inside Viewpager2
val listener = object : RecyclerView.OnItemTouchListener { override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean { val action = e.action return if (binding.recycler.canScrollHorizontally(RecyclerView.FOCUS_FORWARD)) { when (action) { MotionEvent.ACTION_MOVE -> rv.parent .requestDisallowInterceptTouchEvent(true) } false } else { when (action) { MotionEvent.ACTION_MOVE -> r..
2022.02.24