strings.xml 의 string 이름 바꾸기 -> 이렇게 하면 수동으로 코드에 있는 cost_of_service라는 이름을 변경해주지 않아도 자동 적용됨 Modifier와 재사용성 컴포저블 함수에 기본적으로 Modifier매개변수를 제공해서 재사용성을 높이는것이 좋다 이유는 아마 재사용하려는 컴포저블이 크기가 다르지만 하는일이 같은경우에 modifier매개변수로 각각 크기를 다르게 하려는거인듯 @StringRes 매개변수가 문자열 리소스를 참조해야 함을 나타내는데 사용함 유형 안전성을 갖추기 위함이다 이런 어노테이션은 개발자, 린트와 같은 코드 검사 도구에 유용하다 린트: 코드에 구조적 문제가 있는지 확인하는것, 린트도구를 사용해 구조적 문제로 인한 효율성, 코드관리에 지장을 줄 가능성이 있는 코드..
상태 모든 안드로이드 앱에서는 사용자에게 상태가 표시된다 안드로이드 앱 상태의 몇가지 예시는 다음과 같다 1. 네트워크 연결을 설정할수 없을때 표시되는 메시지 2. 상태를 작성하고 제출할수있는 양식 3. 버튼과 같이 탭할 수 있는 것들이 지금 탭 안된상태인지, 탭하는 중인지, 탭이 끝났는지 등등.. Compose 의 상태 Compose는 선언형 UI프레임워크로 UI의 모습을 코드로 선언하는것이다. 컴포지션: 컴포즈가 컴포저블을 실행할때 빌드한 UI (?)에 대한것? 몬말이지 리컴포지션: 상태가 변경되면 컴포즈는 상태 변경에 영향을 받는(모습이 변해야하는?) 컴포저블 함수를 새 상태로 다시 실행한다, 그러면 리컴포지션이라는 업데이트된 UI가 만들어진다. 컴포즈는 자동으로 리컴포지션을 예약한다. 초기 컴포지..
-공부내용 필기- Column 가로, 세로 중앙 배치 (이 Column외 다른 컴포저블 없는경우) Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) {} Button 컴포저블은 기본적으로 보라색이다, Button 내부에 Image를 넣어 이미지가 있는 버튼을 만들수있지만 기본적으로 적용되는 보라색이 배경에 깔리게된다 클릭 가능한 컴포저블 만들기 Button외 다른 컴포저블을 클릭할수있게 만드려면 해당 컴포저블에 clickable 수정자를 지정한다 Image( painter = painterResource(dr..
-공부 내용 필기, 기록임- 디버거를 앱과 함께 실행하는 방법에는 두가지가 있다 1. 디버거를 기기나 에뮬레이터에서 실행되는 기존 앱 프로세스에 연결(앱을 avd나 기기에서 실행한 다음 디버깅 하는것을 의미하는듯? 아닝 이거 영어로 보고싶어도 언어가 안바뀜 ㅡㅡ) 2. 디버거로 앱을 실행 앱 프로세스에 디버거 연결 앱을 avd, 실기기에서 실행하고 디버거를 실행중인 앱에 연결 1. 앱 실행하셈 2. Attach Debugger to Android Process 클릭함 헷갈려서 화살표 없는 벌레 누르지 말고 화살표 있는 벌레 누르셈 3. 프로세스 선택 디버거 연결할 프로세스를 선택한다 디버거로 앱 실행 디버거를 처음부터 사용할 경우에 디버거로 앱 실행하는게 시간 절약이 되고 앱이 실행될때만 실행되는 코드를..
-단순 공부 기록이므로 정확하지 않을수있음- 3. 레이아웃 인프라만들기 이거 무슨말임? 걍영어로 읽어? ㄱ- Modifier.fillMaxSize() 해당 레이아웃이 전체 화면을 채우도록함 Modifier.warpContentSize() 사용 가능한 공간이 최소한 내부에있는 요소들만큼은 크도록함 괄호 안에 정렬 방식을 지정할수있음 Modifier.warpContentSize(Alignment.Center) 내부 구성요소들이 세로, 가로 모두 중앙 정렬되게 함 horizontalAlignment=Alignment.CenterHorizontally 해당 레이아웃이 너비 기준으로 화면 중앙에 배치 버튼 {} 안에 버튼 클릭시 동작을 작성, 람다식을 전달하는것 함수가 인수로 전달되면 '콜백'이라고도 함 람다는 ..
제시된 문제를 코틀린으로 구현, 코틀린을 연습한다 1. 모바일 알림 문제 알림이 100개 미만이면 정확히 알림이 몇갠지 표기, 100개 넘으면 99+로 표기한다 fun main() { val morningNotification = 51 val eveningNotification = 135 printNotificationSummary(morningNotification) printNotificationSummary(eveningNotification) } fun printNotificationSummary(numberOfMessages: Int) { // Fill in the code. } 위의 기본코드를 바탕으로 아래와 같은 결과가 출력되도록 하라 fun main() { val morningNotific..