1\. 문법이 간결하고 표현력이 좋다. 나는 자바스크립트를 주 언어로 사용했는데 자바스크립트보다 중괄호를 사용할 일이 적어서 코드가 비교적 더 깔끔하다. 코틀린은 자바스크립트와도 호환이 된다고 하는데 그래서 그런지 자바스크립트, 타입스크립트와 비슷한 부분이 많다. Nu
constraintLayout을 사용하면 플랫 뷰 계층 구조로 복잡한 레이아웃을 만들 수 있다. constraintLayout은 RelativeLayout과 비슷하지만, RelativeLayout보다 유연합니다. <TextView> 속성에 app:layout_co
여러 개의 값을 담을 수 있는 대표적인 자료형 배열(array)은 값을 담기 전에 먼저 배열 공간의 개수를 할당하거나 초기화 시에 데이터를 저장해두면 데이터의 개수만큼 배열의 크기가 결정된다. 먼저 개수를 정해놓고 사용해야 하며 개수를 추가하거나 제거할 수 없다. 반대
안드로이드 앱이 동작하면서 시스템의 특정 부분을 사용하려면 안드로이드보부터 권한을 위임받아야 한다. 예를 들어 전화번호 같은 경우 개인정보가 유출될 가능성이 있기 때문에 권한을 확인 받아야한다. 권한은 일반 권한(Normal Permission), 위험 권한(Dange
인터페이스는 '현실 세계'의 '계약서'와 비슷하다. 계약서에는 무엇을 하라는 내용이 추상적으로 나와있다. 계약서 자체로는 실행되지 않는다. 작업자에 의해 구체적인 작업이 구현되어야 한다. 그래서 인터페이스를 다른 말로 '기본 설계도'라고 할 수 있다.인터페이스와 추상
액티비티 (Activity) 😀 액티비티는 사용자가 직접 보고 입력하는화면을 담당하는 컴포넌트이다. 즉, 우리가 생각하는 UI화면을 생각하면 쉽다. 메이저 컴포넌트 중에 하나인 액티비티를 다루기 위해서는 먼저 컴포넌트를 구성하고 있는 핵심 요소인 컨텍스트에 대한
SharedPreferences 키-값 데이터 저장 저장하려는 키-값 컬렉션이 비교적 작은 경우 SharedPreferences api를 사용해야 한다. SharedPreferences 객체는 키-값 쌍이 포함된 파일을 가르키며 읽고 쓸수 있는 간단한 메서드를 제공
매번 새로운 인스턴스를 생성하지 않고 오직 하나의 객체만 사용할 때 사용합니다. 즉, 클래스를 정의하면서 동시에 인스턴스(객체)를 생성하는 것입니다. 어떤 클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 디자인 패턴