분류 전체보기

안드로이드 앱의 보안은 왜 중요할까? 우리가 안드로이드 앱을 빌드하면 aab파일 혹은 apk파일로 만들어진다. 뭔가 aab나 apk하면 보안이 강할거 같다는 생각이 들지만 이 방식들은 단순히 우리가 짠 코드들을 압축한 것에 불과하다. 따라서 apk의 압축을 풀면 우리가 짠 코드의 내부가 모두 보인다. 우리가 안드로이드 앱을 빌드하면 윈도우 상에는 그림1과 같은 apk파일이 생긴다. 더블 클릭해도 열리지는 않지만 이를 안드로이드 스튜디오에서 보면 내부의 파일이 아래와 같이 모두 보이는 것을 알 수 있다. 만약 이 상태로 앱을 출시한다면 앱의 리버스 엔지니어링이 가능하다는 뜻이며, 누군가 우리의 코드를 베껴 새로운 앱을 낼 수도 있다는 이야기이다. 따라서 우리는 우리 앱의 구조를 파악하지 못하게 할 장치가 ..
무명 객체란 무엇인가? 무명 객체란 익명 클래스로부터 생성되는 객체를 뜻한다. 익명 클래스는 다른 클래스들과 달리 이름을 가지지 않는 클래스다. 정리하면 이름을 가지지 않는 익명 클래스로부터 무명 객체를 생성할 수 있다. Kotlin에서는 이를 object라는 하나의 키워드를 통해 구현할 수 있다. 먼저 무명 객체가 왜 필요한지 살펴본 후, 무명 객체를 어떻게 구현하는지 확인하도록 하자. 무명 객체가 필요한 이유 무명 객체는 클래스가 한 번만 활용되어야 하는 경우에 매우 유용하다. 만약 한 번만 활용되어야 하는데 매번 클래스를 생성하면 너무 클래스가 많아지는 불편함이 있기 때문이다. 예를 들어 아래와 같은 인터페이스가 있다. interface ButtonClickListener { fun onButton..
buildAnnotatedString이란? buildAnnotatedString은 AnnotatedString 객체를 만드는 inline function이다. inline fun buildAnnotatedString(builder: (Builder).() -> Unit): AnnotatedString = Builder().apply(builder).toAnnotatedString() buildAnnotatedString을 이용해 만들어진 AnnotatedString은 하나의 Text 안에서 여러 스타일을 적용할 수 있도록 하는 정보를 담은 객체로 AnnotatedString 속에는 텍스트의 스타일에 대한 정보를 담은 text, spanStyles, paragraphStyles, annotations 객체..
softWrap이란? softWrap이란 텍스트의 자동 줄바꿈을 설정하는 파라미터이다. Boolean 값으로 기본 값은 true이다. 따라서 기본 텍스트에서는 자동 줄바꿈이 실행된다. softWrap: Boolean = true softWrap true로 두어 자동 줄바꿈 설정하기 softWrap을 true로 두면 자동 줄바꿈이 실행된다. @Preview(showBackground = true, widthDp = 100, heightDp = 100) @Composable fun KotlinWorldTextSoftWrapTrue() { Column( modifier = Modifier .fillMaxSize() ) { Text( text = "Hello Kotlin", fontSize = 32.sp, so..
Layout에 LTR RTL 옵션을 주는 방법 Compose의 LTR, RTL 옵션을 변경하는 방법은 CompositionLocalProvider을 이용하는 것이다. CompositionLocalProvider의 vararg로 ProvidedValue 객체를 넘길 수 있는데 이에 대해 LayoutDirectiion.Rtl을 넘기면 RTL이 설정된다. CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) 이제 Rtl이 적용되길 원하는 레이아웃을 CompositionLocalProvide로 감싸면 완성된다. @Preview(showBackground = true, widthDp = 300, heightDp = 300) @Com..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (60 Page)