Android/with Kotlin
[안드로이드] 버튼 스타일 지정하기
안드로이드에서 기본으로 버튼을 사용하면 Primary 컬러대로 색상이 나오고 기본 값대로 나온다. 색상 값을 지정하지 않았다면, 안드로이드 버튼 색이 보라색으로 뜬다거나 원하는 값이 세팅이 되지 않는 것을 확인할 수 있을 것이다. 하지만, 그렇게 쓰는 사람은 아마 없을 것(?)이다. 개발 초창기에는 배경의 컬러만 변경해서 사용하거나, 백그라운드 이미지를 변경하였다. 이번에는, Button에 style을 지정하여 사용하는 방법을 알아볼 것이다. 만들어야 될 버튼은 위와 같다. radius는 8dp, top과 bottom의 padding은 16dp이다. values > style.xml (없다면 생성)에 버튼 스타일을 생성할 것이다. 이렇게 버튼 스타일을 생성하고나서 사용할 때는 이렇게 불러와서 사용하면 된..
[안드로이드] 다크모드 색상 세팅하기
처음에 안드로이드 UI 관련 세팅을 해둘때 헤맸던 기억이 나, 누군가에게 도움이 되길 바라며 글을 남겨본다. 우선 colors 파일을 하나 더 생성해주어야된다. 기본으로 들어가있는 파일에 values > colors.xml 이 이미 생성 되어 있는 것을 확인할 수 있다. theme에 (night) 파일이 하나 더 생겨 있는 것을 볼 수 있다. 이렇게 colors.xml (night)를 만들어보자. values에 새 파일을 생성해준다. 파일 이름은 똑같이 colors 라고 세팅 해준다. Directory name을 values-night로 설정해준다. (한정자를 설정해주는 것이다.) 이렇게 colors 파일이 생성 된 것을 확인할 수 있다. 다크모드 말고도 더 많은 경우에 Directory name 변경으..
안드로이드 프로세스 상태와 액티비티 상태
안드로이드 시스템에서는 제한된 리소스를 효율적으로 관리해야 한다. 그러면서 항상 사용자에게 응답할 수 있어야한다. 따라서, 안드로이드는 앱이 실행되는 프로세스와 앱을 구성하는 모든 컴포넌트의 생명주기와 상태를 전적으로 통제한다. 그래서 안드로이드 앱을 개발할때 생명주기 관리 모델을 이해하는 것이 중요하다! 앱이 실행될때 생길 수 있는 상태 변경에 대처할 수 있는 방법도 잘 숙지해두어야한다. 안드로이드 앱과 리소스 관리 안드로이드 앱은 안드로이드 운영체제 하에 별개의 프로세스로 실행된다. 그리고, 장치의 자원은 무한정 있는 것이 아니라 한정적이다. 이러한 자원이 꽉 차려고 할 때 시스템에서는 메모리 확보를 위해 프로세스를 중단한다. 어떤 프로세스를 중단할까? importance hierachy(중요도 서열..
안드로이드 앱의 핵심 요소
안드로이드 액티비티 안드로이드 앱은 액티비티라는 컴포넌트가 하나 이상 결합되어 생성된다. 액티비티는 앱의 기능을 갖는 단일의 독립 실행형 모듈이다. (리눅스의 프로세스로 실행됨) 하나의 사용자 인터페이스 화면 및 그 기능과 밀접하게 연관된다. 재사용과 교체 가능한 구성요소로 만들어져서 서로 다른 앱에서 공유할 수 있다. (새로운 이메일 액티비티를 작성하지 않고 기존 이메일 앱의 액티비티를 이용할 수 있음) 안드로이드 Activity 클래스의 서브 클래스로 생성되어야 하며, 앱의 다른 액티비티와 완전히 독립적으로 구현 되어야 함 액티비티는 다른 액티비티의 함수를 직접 호출할 수 없고, 데이터도 직접 액세스 할 수 없음 ( 그럼 어떻게 하라고 → 인텐트와 콘텐트 제공자를 사용해서 액티비티를 공유해라) 안드로..