본문 바로가기

안드로이드

(11)
[Kotlin] 클래스 학습내용 클래스class를 통해 선언 가능변수가 클래스 최상위에 존재하는 경우 Property라고 한다.함수가 클래스에 존재하는 경우 Method라고 한다.클래스는 Properties와 Methods의 모음이라고 볼 수 있다.클래스 사용 방법초기화 블록 init {}companion object {} 블록으로 감싸서 멤버들을 초기화 없이 사용할 수 있다.객체 사용 방법변수처럼 생성하면 된다. (new 키워드 X)생성자를 통해 생성하는 순간 인스턴스가 된다.생성자를 호출하면 초기화 블록을 실행한다.상속의 목적기존의 코드를 재활용하기 위함계층 구조를 사용하기 위함다형성을 활용하기 위함상속 사용 방법부모 클래스는 open 키워드를 사용해서 상속할 수 있게 함.자식 클래스는 ":" 를 사용하여 상속 가능또한 부..
[Kotlin] 함수 학습 내용특징키워드 fun을 사용반환이 있는 경우 타입을 명시해야 함.메서드가 아닌 함수이기 때문에 클래스 외부에 선언해도 됨.코드를 분류하기 위한 수단소스 코드package com.kangwlgns.myapplicationimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport com.kangwlgns.myapplication.databinding.ActivityMainBindingclass MainActivity : AppCompatActivity() { val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }..
[Kotlin] ActivityMainBinding 에러 갑자기 ActivityMainBinding에 빨간줄이 뜨면서 사용하지 못하는 현상이 발생했다. 우리의 GPT에게 질문해봤다.  운이 좋게도 가장 먼저 눈에 띈 Gradle Sync를 하니 해결되었다.Gradle file을 건드린 적은 없었는데 왜 발생했나 하니...  라고 답변해줬다. AI가 무섭게 발전하고 있다.
[Kotlin] 조건문 학습 내용비교 연산자, >=, ==, ===, != !====과 ===은 Java의 equal()과 ==의 차이.Kotlin의 ==는 값을 비교, ===은 주소를 비교한다.논리 연산자||, &&, !ifif (조건식) {}의 구조if, else if, else로 구성when대부분의 언어에서의 switch분기가 많은 경우, 가독성이 좋다.예제 코드 package com.kangwlgns.myapplicationimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport com.kangwlgns.myapplication.databinding.ActivityMainBindingclass Ma..
[Kotlin] 변수와 상수 학습 내용 선언 var(val) [변수 이름] = [값] 타입 추론이 가능한 언어이지만, 타입을 명시해주는 것이 좋다. 값을 할당하지 않는다면 반드시 타입을 명시해야 한다. 선언된 변수의 타입을 바꿀 수 없다. 기본 타입 실수 Double (ex. 1.2) Float (ex. 1.2F) 정수 Int (ex. 10) Long (ex. 10) → 기존에는 정수 뒤에 L을 붙여야 했지만, 최신 버전 Android Studio에서는 L을 붙이지 않아도 된다. Short Byte 문자 Char (ex. 'a') 불린 Boolean (ex. true) 변수와 상수 변수 var로 선언한 경우 수정 가능 naming convention은 camelCase를 따른다. 상수 val로 선언한 경우 수정 불가능 naming ..
[Kotlin] 문법 기초 학습 내용 변수와 상수 변수 var로 선언한 경우 수정 가능 naming convention은 camelCase를 따른다. 상수 val로 선언한 경우 수정 불가능 naming convention은 SNAKE_CASE를 따른다. if 분기를 위한 구문 style은 Java와 동일하다. for 반복을 위한 구문 style은 Rust와 동일하나, 루프 제어문을 소괄호로 감싼다. Code 변수와 상수 package com.kangwlgns.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import com.kangwlgns.myapplication.databind..
[Kotlin] Log 사용하기 로그를 사용해 볼 것이다. Log.d 파라미터로 tag, msg를 받는다. tag는 많은 앱들의 로그 중에서 어떤 로그인지 식별하기 위한 용도 msg는 실제 로그에 띄울 메시지 위와 같이 Log.d를 작성해 주고 에뮬레이터를 실행해 보자. 하단의 Logcat을 눌러서 로그를 확인해 보자. 벌써부터 수많은 로그가 날 반긴다. 이래서 tag를 사용해야 한다. 위 검색 창에 tag:TAG로 tag검색을 해주면, tag가 TAG인 모든 로그가 나온다. 마지막 로그는 Log.d로 찍은 로그임을 확인할 수 있다. 코드를 조금 변경해서 버튼을 누르면 로그를 수집하도록 작성하였다. TAG를 상수로 선언하고 사용하는 것은 하나의 꿀팁 버튼을 누르니 잘 작동한다. Reference 강의
[Android Studio] 간단한 Project 만들기 버튼을 누르면 text가 바뀌는 간단한 Project를 만들어 볼 것이다. 과정 New -> Project -> Empty Activity 주의: Package name은 중복되거나 example이 들어가서는 안된다. xml파일부터 확인. Attributes를 클릭해서 속성창 확인 xml파일이 HTML이고, 코틀린이 JS라고 생각하면 될 거 같다. 버튼을 눌러서 하단에 배치 button에 constraint를 설정. constraint는 어딘가에 붙일 수 있는 용수철이라고 보면 된다. 좌우로 연결했기 때문에 중앙으로 정렬이 되었고, 상단의 Hello world와도 연결했지만 20dp만큼 거리를 줬기 때문에 조금 떨어진 것을 볼 수 있다. 이미 중앙 정렬된 속성이 있으면 Constraint를 그냥 해당 속..