본문 바로가기

전체 글151

안드로이드 #5 : 전화걸기 화면 만들어보기(레이아웃 실습) 230303 2023. 3. 3.
안드로이드 #4 : 레이아웃 230302 LinearLayout - 선형으로 배치 - LinearLayout은 뷰를 가로나 세로 방향으로 나열하는 레이아웃 - orientation 속성에 horizontal이나 vertical값으로 방향을 지정 - layout_weight 속성 : 여백을 채움 ▶뷰 1개로 전체 여백을 채움. android:layout_weight="1" ==> 100%라는 의미 ▶여러 개로 여백을 나누어 채우기 layout_weight 속성에 지정한 숫자는 가중치 layout_weight값을 각각 1과 3으로 선언했다면 가로 여백을 각각 1/4만큼, 3/4만큼 나누어 차지 - gravity, layout_gravity 속성 ▶뷰를 정렬 ▶gravity 속성의 정렬 대상은 콘텐츠 ▶layout_gravity는 뷰 자체를 정렬하는.. 2023. 3. 3.
안드로이드 #3 : 뷰 바인딩 230228 뷰 바인딩 - 레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법 - 액티비티에서 findViewById() 함수를 이용하지 않고 레이아웃 XML 파일에 등록된 뷰 객체를 쉽게 사용할 수는 방법 제공 android { ... viewBinding { enabled = true } } - 레이아웃 XML 파일에 등록된 뷰 객체를 포함하는 클래스가 자동으로 만들어짐 - 자동으로 만들어지는 클래스의 이름은 레이아웃 XML 파일명 - 글자를 대문자로 하고 밑줄(_)은 빼고 뒤에 오는 단어를 대문자로 만든 후 ‘Binding’을 추가 - activity_main.xml → ActivityMainBinding - item_main.xml → ItemMainBinding - 자동으로 만들어진 클래스.. 2023. 3. 2.
안드로이드 #2 : 뷰 클래스(TextView, ImageView, EditText, CheckBox, RadioButton, Button) 230228 뷰의 간격 - 뷰의 간격은 margin과 padding 속성으로 설정 - margin, padding 속성을 이용하면 간격이 네 방향 모두 같은 크기로 설정 paddingLeft paddingRight padding Top paddingBottom layout_marginLeft layout_marginRight layout_marginTop layout_marginBottom - visibility 속성은 뷰가 화면에 출력되어야 하는지를 설정 - visible, invisible, gone으로 설정 - invisible은 뷰가 화면에 보이지 않지만 자리는 차지 - gone으로 설정하면 자리조차 차지하지 않음 - 코드에서 뷰의 visibility 속성을 조정하려면 뷰의 visibility 속성값을 Vie.. 2023. 2. 28.
안드로이드 #1 : 안드로이드 기초, 기본설정, 출력해보기 230227 File - New - New Project - Empty Activity - Next Name과 Location 설정 File - New - New Module - 이름 설정 Empty Activity Finish 지금까지 설정해서 나온 파일들. modul단위로 배포 가능. // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id 'com.android.application' version '7.1.2' apply false id 'com.android.library' version '7.1.2' apply false id 'org.jetbrains.kotli.. 2023. 2. 27.
Kotlin #11 : 제네릭, 배열 230223 제네릭(generic) - 자료형의 객체들을 다루는 메서드나 클래스에서 컴파일 시간에 자료형을 검사해 적당한 자료형을 선택할 수 있도록 하기 위해 사용 - 앵글 브래킷() 사이에 형식 매개변수를 사용해 선언 - 형식 매개변수는 자료형을 대표하는 용어로 T와 같이 특정 영문의 대문자로 사용 형식 매개변수의 이름 - 강제사항은 없으나 일종의 규칙 E : 요소(element) K : 키(key) N : 숫자(number) T : 형식(type) V : 값(value) S, U, V etc. : 두번째, 세번째, 네 번째 형식(2nd, 3rd, 4th types) - 자료형이 추론 가능한 경우, 앵글 브라켓을 생략할 수 있다. val box3 = Box(1) // 1은 Int형이므로 Box로 유추함 val bo.. 2023. 2. 24.
Kotlin #10 : 내부 클래스, 연산자 230223 코틀린 내부 클래스 중첩(Nested)클래스 이너(Inner)클래스 종류 역할 정적 클래스 (static class) static 키워드를 가지며 외부 클래스를 인스턴스화 하지않고 바로 사용 가능한 클래스 (주로 빌더 클래스에 이용) 중첩 클래스(nested class): 객체 생성 없이 사용 가능 멤버 클래스 (member class) 인스턴스 클래스로도 불리며 외부 클래스의 필드나 메서드와 연동하는 내부 클래스 이너 클래스(inner class): 필드나 메서드와 연동하는 내부 클래스로 inner 키워드가 필요 지역 클래스 (local class) 초기화 블록이나 메서드 내의 블록에서만 유효한 클래스 지역 클래스(local class): 클래스의 선언이 블록에 있다면 지역 클래스 익명 클래스 (ano.. 2023. 2. 23.
Kotlin #9 : 객체, 데이터 클래스, Companion 객체, object, singleton, 추상 클래스, 인터페이스 230222 자바에서 코틀린 Companion 객체 사용 @JvmStatic - 자바에서는 코틀린의 컴패니언 객체를 접근하기 위해 @JvmStatic 애노테이션(annotation) 표기법을 사용 1. package com.example.pp192 class KCustomer { companion object { const val LEVEL = "INTERMEDIATE" @JvmStatic fun login() = println("Login...") // 어노테이션 표기 사용 fun hahee() = println("hahee..") } } 2. package com.example.pp192; public class KCustomerAccess { public static void main(String[] args).. 2023. 2. 23.
Kotlin #8 : 코틀린의 프로퍼티, 자바의 필드, 지연 초기화, lazy, 위임 230220 ++ 코틀린의 프로퍼티(Properties) ++ - 변수 선언과 기본적인 접근 메서드를 모두 가지고 있음 - 내부적으로 생성 (따로 접근 메서드를 만들지 않아도 됨) ** 자바의 필드 : 단순한 변수 선언만 가지기 때문에 접근을 위한 메서드를 따로 만들어야 한다. ++ 게터(Getter)와 세터(Setter) ++ - 게터와 세터를 합쳐 접근 메서드(Access methods)라고 함 - 자바에서는 모든 필드에 대한 접근 메서드를 만들어야 함 value: 세터의 매개변수로 외부로부터 값을 가져옴 - 외부의 값을 받을 변수가 되므로 value 대신에 어떤 이름이든지 상관 없음 field: 프로퍼티를 참조하는 변수로 보조 필드(backing field)로 불림 - 프로퍼티를 대신할 임시 필드로 만일 프로퍼.. 2023. 2. 22.