본문 바로가기

코틀린8

[Kotlin App] 서비스와 브로드캐스트 리시버 1. 서비스 2. 브로드캐스트 리시버 3. 콘텐트 프로바이더 서비스 일반적으로 화면없이 동작하는 프로그램을 뜻함 데몬(daemon), 백그라운드 프로세스라고도 함 서비스는 백그라운드에서 실행되므로 화면과 상관없이 계속 동작함 화면이 종료되어도 계속되는 음악 서비스 만들기 버튼을 클릭하면 음악이 시작되고, 화면이 종료되어도 음악이 계속 흐르는 서비스 또한 로그캣을 활용하여 메소드가 실행되는 순서를 확인해봄 xml Service클래스를 상속받아 구현한 MusicService클래스 생성 (Kotlin클래스) package com.cookandroid.kotlinapp0607 import android.content.Intent import android.media.MediaPlayer import androi.. 2021. 6. 7.
[Kotlin App] 파일 처리 내장 메모리에 파일 쓰기/읽기 raw파일 읽어오기 SD카드에 디렉터리 생성/삭제, 파일 쓰기/읽기 시스템 폴더의 폴더/파일 목록 확인하기 1-1. 내장 메모리에 파일 쓰기 : openFileOutput("파일명",모드) var outFs = openFileOutput("파일명", Context.MODE_PRIVATE) var str = "파일 내용" outFs.write(str.toByteArray()) outFs.close() 1-2. 내장 메모리에 파일 /읽기 : openFileInput("파일명") try { var inFs = openFileInput("파일명") var txt = ByteArray(inFs.available()) // 읽어들일 파일의 크기만큼 메모리 할당 inFs.read(txt.. 2021. 5. 11.
[Kotlin App] DatePickerDialog / TimePickerDialog 첫 번째 이미지는 DatePickerDialog, 두 번째 이미지는 TimePickerDialog를 사용한 화면이다. xml파일 : 각 위젯의 id확인하기 MainActivity.kt package com.cookandroid.kotlinapp0503_2 import android.app.DatePickerDialog import android.app.TimePickerDialog import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.DatePicker import androidx.annotation.RequiresApi import kotlinx.. 2021. 5. 4.
[Kotlin App] 웹뷰 웹뷰 사용자가 웹 브라우저 기능을 앱 안에 직접 포함할 수 있는 위젯 연습문제 실습 1. menifest.xml파일에 permission주기 - 웹 브라우저 접근 권한 2. xml작성 3. MainActivity.kt작성 package com.cookandroid.kotlinapp0503_2 import android.os.Bundle import android.webkit.WebResourceRequest import android.webkit.WebView import android.webkit.WebViewClient import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* .. 2021. 5. 4.
[Kotlin App] Action Bar와 Flagment 액션바 태블릿과 같은 대형 화면에서 여러 화면을 사용하기 위해 고안됨 액션바를 구현할 때는 프래그먼트를 사용하는 것이 좋음 프래그먼트 액티비티보다 작은 단위의 화면 대형화면에서는 액티비티 화면을 분할하여 표현할 수 있음 소형화면에서는 화면의 분할보다는 실행중에 화면을 동적으로 추가하거나 제거하는데 더 많이 활용됨 연습문제 실습 탭별로 다른 화면을 출력한다. 탭은 액션바를, 화면은 프래그먼트를 사용한다. 1. 액션바를 이용해 탭을 붙여준다. 2. MyTabFragment 클래스를 만들어준다. (프래그먼트 객체 생성을 위함) 3. onTabSelected메소드를 구현한다. (여기서 프레그먼트 생성) MainActivity package com.cookandroid.kotlinapp0503 import and.. 2021. 5. 4.
[Kotlin App] TabHost 탭호스트 여러 탭을 두고 각 탭을 클릭할 때마다 해당 화면이 나오도록 설정하는 뷰 컨테이너 탭스펙 탭을 구성하는 요소들의 집합 탭스펙을 준비하여 탭호스트에 붙여넣으면 탭이 됨 탭호스트를 사용할 때 주의사항 1. TabWidget의 id 속성값은 반드시 "@adroid:id/tabs"값을 지정해야 함. 탭호스트, 탭위젯, 프레임레이아웃은 id가 지정되어 있는데 이 지정된 id를 변경하지 않고 그대로 사용해야 안드로이드가 탭호스트의 구성을 인식함 2. 탭호스트의 형태는 리니어 레이아웃 > 탭 위젯 > 프레임 레이아웃이며, 프레임 레이아웃에 보여줄 내용을 포함시킴 탭호스트를 사용한 Kotlin코드 var tabHost = this.tabHost //탭호스트 변수 생성 //탭스펙 생성 var tabSpec1 =.. 2021. 5. 3.
[Kotlin] ?(물음표)와 !!(느낌표 두개)의 사용 코틀린에서 물음표(?)와 느낌표 두개(!!)의 경우 null의 사용과 관련되어있는 문자임 코틀린은 다른 언어들보다도 null에 민감해서 변수를 선언할 때 null의 여부에 대해 표시해주어야 하는 경우가 있음 코틀린의 특징 1. 기본적으로 코틀린은 변수에 null값을 넣지 못함 2. 변수에 맞는 문자(? or !!)를 데이터 형식 뒤에 붙여주어야 함 물음표(?)의 사용 null이 들어올 수 있는 경우에 붙여줌 var notNull:Int = null//오류 var notNull:Int? = null//정상 느낌표 두개(!!)의 사용 null값이 절대 들어오면 안되는 경우에 붙여줌 var notNull:Int = 0//기본값은 null허용x var okNull:Int? = 10//null이 들어올 수 있음을.. 2021. 4. 17.
[Kotlin] 안드로이드를 위한 Kotlin 문법 Kotlin 사이트(https://play.kotlinlang.org/)에 접속하여 별도의 설치 없이 개발할 수 있음! Kotlin의 특징 ① Java와 100% 상호 호환되므로 Java 코드를 완전히 대체 가능 ② Java보다 문법이 간결함 ③ 프로그램의 안정성을 높여줌 ④ var 또는 val 예약어를 통해 데이터 형식을 선언하지 않고 변수를 선언할수 있음 Kotlin의 변수 선언 방식 2) var(variable) - 변수 • 일반 변수를 선언할 때 사용 • 필요할 때마다 계속 다른 값을 대입 가능 3) val(value) - 상수 • 변수 선언과 동시에 값을 대입하거나, 초기화 없이 선언한 후에 한 번만 값을 대입 가능 • 한 번 값을 대입하고 나면 값을 변경할 수 없음 Kotlin의 변수 선언 방.. 2021. 3. 22.