교내활동/Programming GURU2(17)
-
Android layout 기초 (3)
레이아웃 종류 TableLayout 위젯을 표 형태로 배치할 때 주로 사용 TableRow 속성과 함께 사용함 행의 수는 TableRow의 수, 열의 수는 TableRow 안에 포함된 위젯의 수 속성 layout_span: 테이블 레이아웃 안에 포함된 위젯에 설정하는 속성으로 열을 합쳐서 표시하라는 의미 layout_column: 테이블 레이아웃 안에 포함된 위젯에 설정하는 속성으로 지정된 열에 현재 위젯 표시 stretchColumns: TableLayout 자체에 설정하는 속성으로 지정된 열의 너비를 늘리라는 의미, stretchColumns="*"는 각 셀을 모두 같은 크기로 확장하여 전체 화면이 꽉 차도록 함, 열 번호는 0번부터 시작함 GridLayout 격자 내부의 셀에 자식뷰를 배치하는 뷰 ..
2023.01.02 -
Android layout 기초 (2)
Layout 종류 LinearLayout 위젯을 가로 또는 세로 한줄로 배치하기 위한 레이아웃 orientation의 horizontal, vertical 중 하나로 설정해주면 기존에 배치되어있던 위젯들도 방향을 바꿀 수 있음 androidx.constraintlayout.widget.ConstraintLayout을 LinearLayout으로 변경하여 사용 한 화면에서 위젯을 수평, 수직 모두 이용해 매치하는 경우 바깥의 큰 LinearLayout 안에 작은 LinearLayout을 여러개 넣어서 사용해야 함 주요 속성 orientation: 레이아웃 안에 배치할 위젯을 수직으로 할지, 수평으로 할지 설정함 옵션: vertical, horizontal gravity: 레이아웃 안에 배치할 위젯의 정렬 방..
2023.01.02 -
Android layout 기초 (1)
View View 클래스의 서브클래스로 만든 객체 액티비피 화면은 한개 이상의 뷰로 구성 크게 두 종류로 나눔 레이아웃 다른 위젯을 담아 배치하는 틀 여러개의 뷰를 규칙대로 화면에 배치 ViewGroup의 서브클래스 위젯 버튼, 라디오버튼, 이미지 등 화면에서 사용되는 것 View 또는 ViewGroup의 서브클래스로서 단독으로 사용 View 클래스의 XML 속성 id 속성 모든 위젯의 아이디를 나타냄 터치했을 때 어떤 동작이 필요한 경우 아이디 부여 일반적으로 id속성은 위젯에 아이디를 새로 부여하는 개념 @+id/ / 다음에는 새로 지정할 id를 넣음 android:id="@+id/button1" -> 버튼 위젯의 아이디로 button1을 부여 kotlin 코드에서 버튼 등의 위젯에 접근할 때 id ..
2023.01.02 -
Kotlin 기초 (4)
추가적인 문법 패키지 클래스와 인터페이스가 많아지면 관리하기 어려워 패키지단위로 묶어서 관리함 package 패키지명 // 자바 프로젝트처럼 디렉토리와 매치되어야 하지는 않음 package com.example.edu class Person(val name: String, val age: Int) 패키지를 지정하지 않으면 이름이 없는 기본(default) 패키지 포함 import 이름이 충돌하면 as 키워드를 이용해 로컬에서 사용할 이름을 변경하여 사용 import com.example.edu.Person import com.example.edu.Person as User import는 클래스 뿐만 아니라 다른 것도 불러올 수 있음 최상위 레벨 함수와 property, object 선언의 함수와 prop..
2023.01.01 -
Kotlin 기초 (3)
클래스 변수(필드)와 메소드로 구성 객체지향 관점에서의 클래스 실 세계의 객체들이 가질 수 있는 상태와 행동을 담음 정적 필드(static field) instance를 생성하지 않고 class 자체에서 사용되면 변수 companion object{} 안에 작성하여 정적 필드를 만듬 정적 메소드(static method) 메소드 또한 companion object{} 안에 작성 instance를 생성하지 않고도 className.methodName()으로 호출하여 사용 가능 상수 필드 정적필드에 초깃값을 입력하고 const val로 선언 선언 후 값을 변경할 수 없음 상수필드는 대문자로 구성하는 것이 일반적임 클래스 안에 상수를 정의할 때 사용 클래스의 상속 기존의 클래스가 가지고 있는 것을 그대로 물려..
2023.01.01 -
Kotlin 기초 (2)
함수 코틀린은 다중 패러다임 언어로 함수형 프로그래밍과 객체지향 프로그래밍이 가능함 함수형 프로그래밍을 하는 이유는 코드를 간략하게 할 수 있으며, 테스트나 재사용성이 증가함 순수 함수, 람다식, 고차함수를 사용해서 구성함 fun sum(a: Int, b: Int) { return a + b } // 간략한 버전 fun sum(a: Int, b: Int): Int = a + b fun sum(a: Int, b: Int) = a + b pure function (순수함수) 부작용이 없는 함수 동일한 입력 파라미터에 대해서는 항상 같은 결과를 출력하거나 반환함 값이 예측이 가능해 결정적임(deterministic) 순수함수의 조건 같은 인자에 대해 항상 같은 값을 반환함 함수 외부의 어떤 상태도 바꾸지 않음..
2023.01.01 -
Kotlin 기초 (1)
특징 자바와 100% 상호호완이 가능하여 자바의 코드를 대체할 수 있음 자바보다 문법이 단순함 프로그램 안정성 good var 또는 val 예약어를 통해 데이터 형식을 선언하지 않고 변수를 선언할 수 있음 변수선언 암시적 선언 변수의 데이터 형식을 지정하지 않고, 대입되는 값에 따라 자동으로 변수의 데이터 형식이 지정됨 초기화 하지 않는 경우에는 데이터 형식을 반드시 명시해야 함 var var1 = 10 var var2 = 10.1f var var3 = 10.2 var(variable) 일반 변수를 선언할 때 사용 필요할 때마다 다른 값을 대입할 수 있음 val(value) 변수 선언과 동시에 값을 대입하거나, 초기화 없이 선언한 후 한번만 값 대입 가능 한번 값을 대입하고 나면 값을 변경할 수 없음 v..
2023.01.01