목록안드로이드 (10)
안 쓰던 블로그
기본 안드로이드 프로젝트를 만들고 res->layout에 들어간 화면입니다 빨간색으로 표시되어 있는 부분이 전부 뷰 컴포넌트 입니다 뷰 컴포넌트: 화면을 그리는 요소 (글, 이미지, 버튼.. 등등) 만약에 이렇게 버튼을 끌고 와 붙이고 에뮬레이터를 실행시켜 보면 화면에 버튼이 나옵니다 근데 이런 드래그 앤 드랍 방식으로 화면을 구성하는 것은 매우 어렵습니다 실행시켜 보면 알겠지만 분명 버튼을 중앙에 끌고 왔지만 실제로는 왼쪽 북동쪽 끝에 붙어 있습니다 이걸 하나씩 이동 시켜 주기 위해서는 직접 코딩하는 것보다 더 많은 노력이 필요합니다 그래서 보통은 xml를 타이핑 해서 작성하고, 이 탭은 뷰 컴포넌트의 종류를 알고 싶을 때 등에만 사용하게 됩니다 여기에서 code를 눌러서 탭을 전환합니다 일단 저 코드..
안드로이드에서 화면을 그릴 때는 XML을 이용한다 XML이란? DSL 언어(Domain Specific Language) Domin-범주 즉, 어떤 범주에 특화되어 있는 언어=>안드로이드에서의 XML은 안드로이드UI를 그리기 위해 특화된 언어이다 근데 핸드폰마다 화면 크기가 다 다른데 어떻게 화면을 그려야 할까? 먼저 픽셀, dpi, dp 단위를 알아야 한다 픽셀: 핸드폰 화면에서 빛이 나오는 전구->가장 작은 단위 dpi(dot per inch): 1인치 안에 픽셀이 얼마나 있는지 예) ldpi->120 (1인치에 120픽셀) mdpi->160 hdpi->240 xhdpi->320 xxhdpi->480 xxhdpi->640 예를 들어 10픽셀짜리 선을 화면에 그렸을 때, ldpi사용자 화면에서는 12개..
생성자: 설명서, 인스턴스화 가능하다 인터페이스: 지침서, 생성자가 없다, 인스턴스화 불가능하다 인터페이스는 약속->니가 이것을 구현하면 너도 이 타입이다 라는 약속 생성자가 없다->인스터스화 시킬 수 없다->설명서가 아니다 인터페이스는 지침서->니가 이것을 구현하고 싶다면 반드시 아래 기능을 구현해라 상속이 만들어 낸 아래와 같은 특징이 인터페이스에서도 적용된다 -자식 클래스는 부모 클래스의 타입이다 -부모 클래스는 자식 클래스의 타입이 아니다 상속 open class Person() { open fun eat() { } fun sleep() { } } class Student() : Person() { override fun eat() { super.eat() } } class Teacher() : ..