728x90

Android

45

Kotlin :: 표현식으로 if else 사용하기

코틀린에서는 if-else문을 표현식으로도 사용할 수 있다. fun main(args: Array): Unit { val result: Int = if( 1 > 0 ) { println("큰 값은 1") 1 } else { println("큰 값은 0") 0 } println(result) } // 큰 값은 1 // 1 Int 타입의 변수 result 에 if문을 대입하고 있다. if가 참이라면 if 블록 내의 마지막 표현식인 1이 result의 값으로 반환된다. 반대로 거짓이라면 else 블록 내의 마지막 표현식인 0이 반환된다. 이 때 if 와 else 블록의 표현식은 타입이 일치해야한다. if 의 마지막 표현식 타입이 Int 였다면 else 도 마찬가지로 Int 여야 한다. 그렇다면 아래와 같이 마..

Android/Kotlin 2020.10.15 moonsu

Kotlin :: 문자열 안에 표현식 값 넣기

fun main(args: Array): Unit{ val a = 10 val b = 20 println("a : $a") println("b : $b") println("a + b = ${a+b}") } // a : 10 // b : 20 // a + b = 30 변수 a와 b에 각각 10과 20을 저장한다. 큰 따옴표("") 안에 있는 문자가 출력되고 $ 뒤에 변수 이름을 적으면 해당 부분은 변수 값으로 대체된다. $ 자체를 출력하고 싶다면 $ 대신 \$ 를 사용해야 한다. fun main(args: Array): Unit{ println("a : \$a") } // a : $a 일반 변수의 값이 아닌 표현식의 값을 문자열에 포함하고 싶다면 ${표현식} 의 형식을 사용한다.

Android/Kotlin 2020.10.15 moonsu

안드로이드 스튜디오 :: Broadcast 에 권한 부여하기

안드로이드 스튜디오 :: Broadcast Receiver 안드로이드 스튜디오 :: Broadcast 전송하기 브로드캐스트에 특정 권한을 부여해 제한할 수 있다. 권한은 브로드캐스트 발신자, 수신자 모두 적용해 제한할 수 있다. 1. 권한을 사용해 전송하기 sendBroadcast(Intent, String) 또는 sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle) 를 호출할 때 권한 매개변수를 지정할 수 있다. 예를 들어 다음 코드는 메세지 발송 권한이 필요한 브로드캐스트를 전송한다. 더보기 sendBroadcast(new Intent("com.example.NOTIFY"), Manifest.permi..

Android/공통 2020.10.14 moonsu

안드로이드 스튜디오 :: Broadcast 전송하기

안드로이드 스튜디오 :: Broadcast Receiver 브로드캐스트 전송 안드로이드 앱에서 브로드캐스트를 전송하는 방법으로 다음 세 가지를 제공한다. 1. sendBroadcast(Intent) 가장 일반적인 브로드캐스트, 순서에 상관 없이 모든 수신자에게 브로드캐스트를 전송한다. 상당히 효율적이지만 수신자가 수신한 데이터를 전파하거나 중단할 수 없다. 2. sendOrderedBroadcast(Intent, String) 한 번에 하나의 수신자에게 브로드캐스트를 전송한다. 우선순위가 높은 순으로 진행되고 우선순위가 같다면 임의의 순서를 매긴다. 3. LocalBroadcastManager.sendBroadcast 발신자와 동일한 앱에 있는 수신자에 브로드캐스트를 전달한다. 앱 간에 전송할 필요가 없..

Android/공통 2020.10.14 moonsu

안드로이드 스튜디오 :: Broadcast Receiver

브로드캐스트 특정 상황에서 시스템이나 다른 앱으로 메세지를 주고 받을 수 있는 개념이 Broadcast 이다. 예를들어 기기는 재부팅 또는 충전 시작과 같은 다양한 이벤트가 발생할 때 시스템은 브로드캐스트를 전송한다. 이 때 내가 만든 앱에서 이것을 수신할 수 있다. '배터리가 15% 이하다!' 라는 시스템의 브로드캐스트 메세지를 수신받아 '절전' 상태로 변경해주는 앱을 만들 수 있다는 얘기다. 반대로 내가 메세지를 전송하는 것도 가능하다. 먼저 Broadcast 를 수신하기 위한 두 가지 방법을 소개한다. 첫째는 manifest에 선언하는것, 둘째는 context에 등록하는 것. 1. manifest 에 선언 manifest에서 다음과 같이 작성한다. (1) exported : 외부 앱이나 시스템에서 ..

Android/공통 2020.10.14 moonsu

안드로이드 스튜디오 :: Broadcast 관련 인텐트 액션

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. Broadcast receiver 와 관련된 Intent action 리시버가 브로드캐스트를 받는 시점 Java XML 비행기 모드를 바꿀 때 ACTION_AIRPLANE_MODE_CHANGED android.intent.action.AIRPLANE_MODE 앱 제한이 변경될 때 ACTION_APPLICATION_RESTRICTIONS_CHANGED android.intent.action.APPLICATION_RESTRICTIONS_CHANGED 충전 등 배터리에 대한 정보가 바뀔 때 ACTION_BATTERY_CHANGED android.intent.action.BATTERY_CHANGED 배터리가 부족할 때 ACTION_BATTERY_LO..

Android/공통 2020.10.13 moonsu

안드로이드 스튜디오 :: Java :: 알림 만들기(Notification)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 안드로이드 스튜디오에서 알림 만들기 1. 지원 라이브러리 추가 알림 콘텐츠를 시작하려면 NotificationCompat.Builder 객체를 사용해야한다. 하지만 그 전에 NotificationCompat 을 사용하는데 필요한 종속 항목이 포함되어 있는지 확인해야한다. (안드로이드 스튜디오로 제작한 대부분의 프로젝트는 아래 항목이 포함되어 있다.) dependencies { // 작성일 기준이며, 버전은 계속 올라갈 수 있다. implementation 'androidx.appcompat:appcompat:1.2.0' } 2. 알림 설정 NotificationCompat.Builder 객체를 사용해 컨텐츠와 채널 그리고 기본적인 설정을 해줘..

Android/Java 2020.10.13 moonsu

Kotlin :: 프로그래밍 언어 배우기 (고차함수)

5. 고차함수 고차함수란, 일반 함수의 매개변수나 반환값으로 또 다른 함수가 사용되는 함수를 말한다. 먼저 일반적인 함수에서의 인자 전달 예시를 보자 fun sum(a: Int, b: Int){ return a + b } fun main(){ val result = sum(2, 3) println("result = $result") } // 결과값 // result = 5 위 코드는 Int타입의 매개변수 두 개를 전달 받아 Int타입의 값을 반환하는 함수이다. 고차함수는 이러한 매개변수나 반환값에 함수를 이용할 수 있다. fun sum(a: Int, b: Int, div: (Int, Int) -> Int){ return a + b + div(20, 10) } fun main(){ val result = ..

Android/Kotlin 2020.10.12 moonsu

Kotlin :: 프로그래밍 언어 배우기 (람다함수, 익명함수)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 함수 3. 람다함수 (Lambda Functions) 람다식 또는 람다함수는 함수의 간결함을 목적으로 한다. 기존 함수를 정의할 때 사용했던 fun 예약어나 함수이름을 명시하지 않고 축약해 선언한다. // 기존 함수 선언 fun 함수이름 (매개변수) { ... } // 람다함수 선언 {매개변수 -> ...} 람다함수는 -> 키워드를 기준으로 왼쪽은 매개변수, 오른쪽에는 함수의 내용을 명시한다. 매개변수로 타입을 선언해야 하지면 생략할 수 있다. val stringLengthFunc = { num1: Int, num2: Int -> // Int는 생략 가능! num1 + num2 } 코드의 중복을 막고 여러번 반복해서 사용하기 위한 방법이 기존..

Android/Kotlin 2020.10.06 moonsu

Kotlin :: 프로그래밍 언어 배우기 (기본함수)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 함수 1. 함수선언 동일한 코드를 중복해서 사용하는 대신 함수에 코드를 포함한 다음 호출 할 수 있다. 코틀린의 함수 구조는 다음과 같다. fun 함수이름 ( 매개변수이름 : 타입 ) : 반환타입 fun generateAnswerString(): String { // 매개변수가 없는 경우 아무것도 쓰지 않는다. val answerString = if (count == 42) { "I have the answer." } else { "The answer eludes me" } return answerString } 위 예에서 함수의 잉름은 generateAnswerString 이고, 매개변수는 없으며, String 타입의 결과를 출력한다. 함수..

Android/Kotlin 2020.10.05 moonsu

Kotlin :: 프로그래밍 언어 배우기 (조건문)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 조건문 1. if~else Kotlin의 조건부 논리를 구현하기 위한 가장 일반적인 메커니즘 if~else. if() 괄호 안에 식이 true 일 때 {} (중괄호) 내 코드가 실행된다. 그렇지 않은 경우 else 내 코드가 실행된다. if (count == 42) { println("count 는 42다.") } else { println("count 는 42가 아니다.") } 경우의 수가 3가지 이상일 때 else if 를 사용하여 여러 조건을 나타낼 수 있다. if (count == 42) { println("count 는 42이다.") } else if (count > 35) { println("count 는 42가 아니면서 35보다는..

Android/Kotlin 2020.10.01 moonsu

Kotlin :: 프로그래밍 언어 배우기 (변수 선언)

본 문서는 안드로이드 개발자 가이드를 토대로 작성되었습니다. 변수 선언 1. 키워드 Kotlin은 val과 var 키워드를 사용하여 변수를 선언한다. (1) val : 값이 변경되지 않는 변수. val을 사용하여 선언된 변수에 값을 재할당 할 수 없다. (한마디로 상수) (2) var : 값이 변경될 수 있는 변수. 아래 예에서 count는 초기값으로 10이 할당된 Int유형의 변수이다. var count: Int = 10 Int 는 정수를 나타내는 유형이며 경우에 따라 Byte , Short , Long , Float , Double 등을 사용할 수 있다. var 키워드는 필요에 따라 값을 재할당 할 수 있다. var count: Int = 10 count = 15 //count의 값을 15로 변경 값..

Android/Kotlin 2020.09.30 moonsu
728x90
반응형