'Android' 카테고리의 글 목록 (5 Page) — SH's Devlog

Android

Android/Kotlin(Java)

[Kotlin] isAssignableFrom 와 is (Java instanceOf)

class UserViewModel @Inject constructor(): ViewModel() val userViewModel = UserViewModel() Log.d(TAG, "${ViewModel::class.java.isAssignableFrom(UserViewModel::class.java)}") // true Log.d(TAG, "${userViewModel is ViewModel}") // true instanceof (Kotlin에서 is) -> Class가 어떤 클래스 or 인터페이스를 상속했는지를 체크합니다. Class.isAssignableFrom() -> Class가 어떤 클래스 or 인터페이스에게 상속되었는지 체크합니다.

Android/Kotlin(Java)

[Kotlin] Collections API - fold(), reduce()

안녕하세요. 오늘은 fold()와 reduce()에 대해 정리하겠습니다. 1. fold() fold() 함수의 구현 public inline fun IntArray.fold(initial: R, operation: (acc: R, Int) -> R): R { var accumulator = initial for (element in this) accumulator = operation(accumulator, element) return accumulator } fold()함수는 내부 요소들을 모두 돌아가며 operation을 수행한 결과를 반환합니다. reduce()와의 차이점은 초기값을 설정할 수 있고, emptyList여도 Exception을 던지지 않습니다. import org.assertj.cor..

Android/Kotlin(Java)

[Kotlin] 가변 인자(vararg) 사용법(Spread Operator)

코틀린의 Spread Operator *는 배열을 단순 나열할 때 사용합니다. *list의 의미 -> list의 요소들을 단순 나열하겠다. 라는 의미입니다. 사용 예시 array에 담겨있는 데이터들을 array2에 추가를 해 넣는다고 생각을 해봅시다. 아래 주석처리된 코드처럼 array에 저장되어있는 데이터들을 일일히 넣어주는 방법도 있겠지만 나중에 데이터가 100개, 1000개 이상 쌓인다면 어떻게 해야할까요? 이런 경우를 위해서 코틀린에서는 Spread Operator를 제공합니다. val array = arrayOf("aa", "bb", "cc") //val array2 = arrayOf(array[0], array[1], array[2], "dd", "cc") val array2 = arrayOf..

Android/Basic

[Android] 안드로이드 스튜디오에서 gradle.properties(Global)이 안보일 때 확인해야 하는 것

gradle.properties가 존재하는지 확인 home 경로에 gradle.properties가 존재하는지 확인해줍니다. 예를 들어, 제 맥북에서의 경로는 /Users/seunghwan(home)/.gradle 였습니다. Gradle user home 위치 확인 AndroidStudio -> Preferences -> Build, Execution, Deployment -> Gradle의 Gradle user home 위치를 확인해줍니다.

Android/Basic

[Android] Color ARGB Opacity 적용법

적용방법 컬러만 적용하고 싶다면 아래와 같이 hex 값 6자리를 입력해주면 됩니다. RGB -> android:textColor="#FFFFFF" 투명도를 적용하고 싶다면 맨앞 두자리에 hex값을 추가해주면 됩니다. ex) 투명도 50%의 ARGB를 적용하고자 한다면 ARGB -> android:textColor="#80FFFFFF" Opacity에 따른 hex값 100% — FF 95% — F2 90% — E6 85% — D9 80% — CC 75% — BF 70% — B3 65% — A6 60% — 99 55% — 8C 50% — 80 45% — 73 40% — 66 35% — 59 30% — 4D 25% — 40 20% — 33 15% — 26 10% — 1A 5% — 0D 0% — 00

Android/Basic

[Android] TextView의 padding 없애기

TextView를 기본적으로 생성하면 padding 때문에 제플린에서 나와있는 TextView의 크기보다 padding값 만큼 큰 크기의 TextView가 생성되어 실제 디자인과는 다르게 View들을 원하는 위치에 둘 수 없을 때가 있다. android:includeFontPadding="false" includeFontPadding 이용하면 View와 text사이의 padding을 제거할 수 있다.

Android/Basic

[Android] Animation 정리

안드로이드에서 애니메이션을 만드는 방법이 여러가지가 존재하는데, 복합적으로 사용하면 다양한 애니메이션을 연출 할 수 있습니다. Translate 애니메이션 translate 애니메이션은 X, Y축으로 이동하게 하는 효과를 줍니다. 속성 설명 예시 fromXDelta X축 시작 지점. % 단위로 설정한다. 0%p -> 현재 view의 위치 toXDelta X축 도착 지점. % 단위로 설정한다. 100%p -> 대상만큼 오른쪽 이동 fromYDelta Y축 시작 지점. % 단위로 설정한다. 0%p -> 현재 view의 위치 toYDelta X축 도착 지점. % 단위로 설정한다. 100%p -> 대상만큼 오른쪽 이동 duration 애니메이션 시간. 단위는 밀리초 2500 -> 2.5초동안 지속 repeatM..

Android/Basic

[Android] Broadcast Receiver

브로드캐스트 인텐트는 주요 시스템 이벤트에 관심 있는 애플리케이션들에게 통지하기 위해 안드로이드 시스템에 의해서 사용된다.(헤드폰 연결이 되거나, 끊어지는 등 주요 시스템 이벤트) FLAG_INCLUDE_STOPPED_PACKAGES : stopped 된 application도 target이 됨. FLAG_EXCLUDE_STOPPED_PACKAGES : stopped 된 application은 target이 되지 않음. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val intent = Intent() intent.actio..

Android/Basic

[Android] dp to px

레이아웃에서 뷰의 크기와 위치를 설정할 때는 px보다는 dp를 이용하는 것이 좋다. 왜냐하면 dp를 사용하면 큰 화면, 작은 화면에 상관 없이 동일한 비율로 나타내준다. 하지만 자바코드에서는 dp를 사용할 수 없다. 픽셀 값만 인자로 받기도 하지만 가장 큰 이유는 자바 코드에서는 해상도를 모르므로 런타임 시에 해상도에 맞게 dp를 px로 변환하여 사용한다. val resources = resources val px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200f, resources.displayMetrics) 200dp를 px로 변환하려면 위에 코드처럼 변환하여 setMargins()나 setWidth()등에 넣어주면 된다.

Android/Basic

[Android] 안드로이드 Intent Flag 정리

Intent flag를 언제 사용하는가? 안드로이드에서 Activity를 호출하다보면 발생하는 Activity의 중복문제나 흐름을 제어해주고 싶을 때 Flag를 사용합니다. Task Task는 Stack 구조로 되어있으며 애플리케이션에서 Activity들을 보관하고 관리합니다. Flag를 사용하는 2가지 방법 1. Manifest에서 Flag 사용 -> launchMode 속성 4가지 standard 이 속성은 별도의 Task를 생성하지 않고 해당 Task에 계속 쌓아나갑니다. Default값은 이 standrd 입니다. singleTop 이 Flag를 Activity에 설정하면 Task의 Top에 생성하려는 Activity가 존재하는 경우 새로운 Activity를 Top에 올리지않고 기존의 Activi..

반응형
seunghwaan
'Android' 카테고리의 글 목록 (5 Page)