[Read me] 2. AOS 팀 회의, 전체 정기 회의, 공부한 내용 추가 (~ing)
·
Kotlin
1. 개발 환경 세팅 ✅기준 애뮬레이터 (Android Large 360*800, 갤럭시 s21 화면 기준)구글 픽셀이 아니라 Galaxy S21 화면 크기 맞춰서 애뮬레이터 수동 생성하기구글 픽셀 가상 기기가 미묘하게 Viewport가 다른 것을 확인했습니다! 아예 Figma 크기 == 갤럭시 기준으로 맞춰서 가는 것이 좋을 것 같습니다!아래 링크를 따라해서 수동 추가하기,링크에서 S21 inch와 resolution 정보 확인하고 넣기 https://developer.samsung.com/galaxy-emulator-skin/guide.htmlGalaxy S21 가상 기기 정보Display 6.2 inches (~87.2% screen-to-body ratio)Resolution 1080 x 2400..
[Read me] 1. 안드로이드 앱 개발 프로젝트 시작
·
Kotlin
책읽기에 관심이 있는 사람들을 위한,더 간단하게 책을 만날 수 있는 방법Read me 연합 동아리에서 앱 개발 프로젝트를 시작했다. 처음에는 바쁘니까 적당히 팀원 1로 참여할 생각이었는데...(분명 내 생각은...) PM님이 내가 팀장을 맡으면 좋을 것 같다고 하셔서 (매우) 자연스럽게 안드로이드 파트 팀장이 되었다. 기획서 & 제안서를 보고 대략적으로 어떻게 개발할지나 설계 방식에 대해 어느 정도 구상해봤던 터라 흔쾌히 수락했다. 실배포를 위한 앱 개발은 처음이기도 하고 안드로이드를 배운지 얼마 안 된 내가 이런 직책을 수행해도 될까..? 하는 개인적인 의문이 있었지만 우리 팀원들도 다들 부담스러워하는 분위기여서 더욱 더 거절할 수 없었다. (같이 스터디를 진행했던 팀원이 내가 팀장에 잘어울린다고 칭찬..
[Kotlin 완벽 가이드] 문자열 다루기
·
Kotlin
문자열 템플릿기본적으로 ${}의 중괄호 사이에 넣기만 하면 어떤 코틀린 식이나 변수든지 문자열에 넣을 수 있다.import java.util.Datefun main(){ val name = readline() println("Hello, $name! \n Today is ${Date()}")}예제와 같이 name이라는 간단한 변수에는 중괄호 없이 달러 기호로만 사용이 가능하다.문자열 템플릿 안의 식은 어떤 값이든 될 수 있고, 이 값은 자동으로 모든 코틀린 타입이 제공하는 toString() 메서드를 통해 문자열로 변환된다.trimIndent() 라는 메서드는 여러 줄에 공통된 최소 들여쓰기를 제거해주는 표준 코틀린 함수이다. 문자열 비교문자열은 사전식 순서로 정렬되기 때문에 , = 와 같은 연산자..
[Kotlin Study] 5. 프로젝트 구조 알아보기
·
Kotlin
app 프로젝트 안에 있는 다양한 파일, 옵션 구조를 알아보기 1. manifests 이 안에는 AndroidManifest.xml 파일이 들어있다. 라는 태그 안에 app에 대한 기본 설정이 쓰여있다. 이전에 스프링 프로젝트에서 xml 파일을 설정했었는데 그 때와 비슷한 것 같다. 2. java MainActivity 디폴트 코드가 설정되어 있고, 여기에서 코드를 수정, 추가하면서 app을 제작한다. 안에 test 폴더가 존재하는데, (test) (androidTest) 두 가지 옵션의 폴더가 각각 존재한다. test는 일반적인 unit test를 위한 폴더이고, androidTest 는 안드로이드 화면을 켜고 3. res app 안에서 사용하는 리소스들을 모아놓은 폴더이다. drawable : app..
[Kotlin Study] 4. 안드로이드 앱 화면 - 액티비티 컴포넌트
·
Kotlin
1. 액티비티 안드로이드 앱의 기본 구조는 컴포넌트를 기반으로 한다. 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등과 같은 여러 가지 컴포넌트를 적절하게 조합해서 만든다. 이 중 화면을 출력하는 컴포넌트는 "액티비티"뿐이므로, 앱에서 화면을 출력하고 싶으면 액티비티를 만들고, 여기서 출력한 내용을 화면에 띄운다고 생각하면 된다. 액티비티는 화면을 출력하는 컴포넌트이고, 그 자체가 화면이 아니므로 여기에 적절한 화면을 구성해서 출력해야 한다. 이 기능은 view 클래스를 이용해 구성할 수 있다. e.g. 문자열 출력 TextView, 이미지 출력 ImageView 클래스를 이용할 수 있다 2. 액티비티 코드로 화면 구성 액티비티 컴포넌트에서 뷰로 화면을 구성하는 방법에는 2가지가 있다. 액..
[Kotlin Study] 3. 객체지향 프로그래밍의 4가지 특징
·
Kotlin
1. 추상화 : 공통점과 본질을 모아서 추출 2. 상속 : 기존의 클래스를 재활용 3. 다형성 : 어떤 객체의 속성이나 기능이 상황에 따라 여러 가지 형태나 성질을 가질 수 있다. (Overriding, Overloading 등을 사용) 4. 캡슐화 : 서로 연관있는 것들을 묶어서 외부로부터 보호함. 외부의 접근을 방어하고 정보 보안을 지킨다. 접근 제한자를 사용하여 캡슐화를 한다. 클래스 코드 연습 fun main() { val car1 = Car("Red", "Benz", 10) val car2 = Car("Blue", "Hyundai", 5) } class Car(val color : String, val name : String, val age : Int){ //주 생성자 init { printl..
[Kotlin Study] 2. 컬렉션
·
Kotlin
컬렉션이란? : 자료구조를 쉽게 사용할 수 있도록 코틀린에서 제공하는 클래스이다. 타입을 2가지로 나눌 수 있다. - Mutable : 변함, 읽기, 삽입, 삭제, 수정 가능 - Immutable : 불변, 읽기 전용 1. List 순서가 있는 자료구조이다. 타입에 따라 선언 방법이 조금 달라진다. fun main() { // 1. immutable val fruitList = listOf("Apple", "Berry", "Melon") println("fruit : ${fruitList[1]}") // 2. mutable val mutable = mutableListOf("Apple", "Berry", "Melon") mutable[0] = "PineApple" println("New First : $..
[Kotlin Study] 1. 기본 코틀린 문법
·
Kotlin
1. 상수, 변수 선언 fun main(args: Array) { val pi : Double = 3.141592 // 상수 선언 및 값 할당 println(pi) // val cannot be reassigned var age : Int = 24 // 변수 선언 및 값 할당 println(age) age = 25 println(age) } 2. Kotlin 자료형 Byte : 정수형 Short : 정수형 Int : 정수형 Long : 정수형, 마지막에 L 붙이기 Float : 실수형, 마지막에 F 붙이기 Double + Byte, Short 같은 것 외에 기본적으로 정수는 Int로 받아들임, Long과 Float는 뒤에 각각 L, F 가 붙기 때문에 자동적으로 형을 추론해준다 Char : 글자 1개만 ..
1. Kotlin 시작하기
·
Kotlin
더보기 1. 변수 선언 lateinit 으로 선언한 변수는 선언과 동시에 초기값을 할당하지 않아도 괜찮다. 하지만 사용할 수 있는 유형이 한정되어 있다. (ex. String 타입) Int, Long, Short, Double, Float, Boolean, Byte 타입에는 lateinit을 사용할 수 없다. 변수를 선언할 때 val data4: Int by lazy { } 를 사용하면, 나중에 data4가 제일 처음 호출되었을 때, { } 안에 있는게 실행되면서 초기값을 넣어준다. lazy 문의 중괄호 부분을 여러 줄로 작성하면, 마지막 줄의 실행 결과가 변수의 초기값이 된다. lateinit var data3: String val data4: Int by lazy{ println("in lazy.....