728x90

앱만들기

19

Google AdMob 모바일 광고 SDK 가져오기

Google AdMob에서 모바일 광고를 생성하고 앱에 적용시키기까지의 과정이다. Google AdMob 모바일 광고 생성 1. 모바일 광고 SDK 가져오기 Gradle 종속 항목을 사용해 모바일 광고 SDK를 가져올 수 있다. (1) 프로젝트 수준 build.gradle 에 다음 코드를 추가한다. allprojects { repositories { google() } } (2) 그런 다음, 앱 수준 build.gradle 파일에 다음 코드를 추가한다. dependencies { implementation 'com.google.android.gms:play-services-ads:19.5.0' } 위 코드들을 통해 Gradle이 최신 버전의 모바일 광고 SDK를 가져온다. (3) AndroidManife..

Android/공통 2020.11.13 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

안드로이드 스튜디오 :: Start와 Left, End와 Right 차이

API17 이후 여러 속성에서 Top, Bottom, Left, Right 뿐 아니라 Start와 End라는 속성이 보인다. Start는 Left와, End는 Right와 같다는걸 확인할 수 있는데 Start와 End는 안드로이드에서 RTL (Right to Left) 언어 지원함으로써 추가된 속성이다. RTL언어는 뜻 그대로 오른쪽에서 왼쪽으로 읽는 언어(아랍어 등)를 말하며 RTL 언어의 경우 Start는 Right와, End는 Left와 대응된다.

Android/공통 2020.07.08 moonsu

안드로이드 스튜디오 :: 제약 레이아웃 (Constraint Layout)

안드로이드 스튜디오의 디폴트 레이아웃은 Constraint Layout(제약 레이아웃)이다. 제약 레이아웃의 가장 큰 특징은 뷰의 크기와 위치에 제약조건을 즉, 다른 대상에 어떻게 연결되어 있는지 알려주는 조건을 걸어 뷰를 배치하는 것이다. 앞서 제약조건은 대상에 어떻게 연결되어 있는가라고 말했다. 뷰는 상하좌우에 각각 연결점을 갖고 있다. 그리고 대상(타겟)은 다음과 같은 것들이 될 수 있다. 1. 부모 레이아웃 2. 같은 레이아웃에 있는 다른 뷰 3. 가이드라인 또한 아래 속성들을 사용하여 뷰와 뷰를, 뷰와 레이아웃 등을 연결할 수 있다. layout_constraintTop_toTopOf layout_constraintTop_toBottomOf layout_constraintBottom_toTopO..

Android/공통 2020.07.08 moonsu

안드로이드 스튜디오 :: Kotlin :: Activity(화면) 값 전달받기

안드로이드 스튜디오:: Kotlin :: Activity(화면) 값 전달하기 바로가기 이전 글을 토대로 작성된 글이기 때문에 "Activity간 값 전달하기" 글을 먼저 보길 권장한다. 안드로이드 스튜디오에서 Activity간의 데이터(값)를 받는 방법을 알아보자 Kotlin은 기본적으로 Anko라이브러리가 설치되었다는 가정 하에 진행한다. 안드로이드 스튜디오:: Kotlin :: Anko 라이브러리 설치하기 바로가기 1. LOGIN_CODE와 startActivityForResult() 추가 MainActivity.kt class MainActivity : AppCompatActivity() { private val LOGIN_CODE = 101 override fun onCreate(savedInst..

Android/Kotlin 2020.06.25 moonsu
728x90
반응형