일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Exception
- fabic
- firebase
- vuepress
- quick-start
- Android
- kotlin
- 안드로이드
- Realm
- LAYER_TYPE_SOFTWARE
- null safety
- test
- 컴파일
- log
- ethereum
- Glide
- web3js
- hardwareacceleration
- convert
- coroutines
- Hyperledger
- error
- 스트리밍
- 다윈
- C
- fabric-sdk-java
- Gradle
- bigquery
- porterduff
- dataginding
- Today
- Total
목록프로그래밍 (155)
날마다 새롭게 또 날마다 새롭게
Firebase Auth로 구글/페이스북 OAuth 인증Firebase에서 제공하는 인증기능을 사용해보자 Firebase에서는 이메일/비밀번호 계정, 전화 인증, Google, Twitter, Facebook, GitHub 로그인 등을 지원해서 이를 사용한 인증 시스템을 손쉽게 구축하도록 도와준다. 이 중에서 많이 사용하는 Google과 Facebook 로그인을 직접 사용해보자예제 다운로드먼저 , 다음의 Github 저장소 에서 Firebase 에서 제공하는 quickstart-android를 다운로드 받아 안드로이드 스튜디오에서 연다. 프로젝트 안에는 Firebase에서 제공하는 여러 기능들의 샘플이 있는데 이 중에서, auth-app 이 인증에 대한 샘플 앱을 사용합니다.구글 인증프로젝트 추가Fire..
Anko-commons를 사용해보자Anko는 안드로이드 개발을 더 빠르고 쉽게 해주는 코틀린 라이브러리 입니다. Anko 를 사용해서 xml을 사용하지 않고 동적으로 layout 을 만들 수 있는 라이브러리로 알려져 있는데 그 외에도 다양한 기능을 제공하고 있습니다. 이 중에서 Anko Commons 사용 방법을 간단히 소개하고자 합니다.샘플 코드 : GitHub 참고Kotlinanko 를 사용하기 위해서 Kotlin 플러그인을 설정이 되어 있어야 합니다. Android kotlin 프로젝트 시작하기gradle 설정anko commons 라이브러리를 사용하기 위해서 anko 와 anko-commons dependency를 추가합니다.// app/build.gradle ... dependencies { c..
Android kotlin 변환 중 발생한 realm 관련 에러 - NotFoundExceptionjava 에서 kotlin 으로 변환 중, realm 관련 에러가 발생했다.Execution failed for task ‘:app:transformClassesWithRealmTransformerForDebug’. javassist.NotFoundException: pakage.class`gradle build 중 에러가 발생한다.이 에러는 java 에서 lambda를 사용하기 위해 추가한 dependency 때문에 발생하는데, 이상한건 빌드 시 에러는 발생하지만 ‘Run app’을 하면 앱이 정상적으로 실행이 된다..???어쨌든 빌드 에러를 없애기 위해서 lambda 관련 gradle 설정을 제거한다./..
Android kotlin 변환 중 발생한 realm 관련 에러 - IllegalArgumentExceptionjava 에서 kotlin 으로 변환 중, realm 관련 에러가 발생했다. java.lang.IllegalArgumentException: class is not part of the schema for this Realm..realm.createObject 호출 시, 발생한다. 에러가 발생하게 된 원인은 gradle 설정때문이었다.gradle 파일에 kotlin 플러그인을 작성할 때, java에서 kotlin 으로 변환하다보니 아래와 같은 순서로 플러그인을 추가했다.apply plugin: 'realm-android' apply plugin: 'kotlin-android'플러그인을 호출 순서..
코틀린에서 databinding 사용하기java 에서 kotlin 으로 코드 변환 중, build 할 때는 에러가 없는데, 앱 실행할 때, 다음과 같은 에러가 발생한다.Error:(13, 37) Unresolved reference: databinding Error:(20, 35) Unresolved reference: ActivityMainBinding Error:(28, 51) Cannot infer a type for this parameter. Please specify it explicitly.kotlin 에서 databinding 을 사용하기 위해서는 플러그인과 dependency 추가가 필요하다. app/build.gradle 에 다음과 같이 추가한다.apply plugin: 'kotlin-..
코틀린에서 nullable 사용 - Null Safety코틀린에서는 자바보다 간단하게 null 에 대한 확인을 할 수 있고, 안전하게 호출할 수 있다. 어떻게 하는지 방법을 살펴보자Safe Call - ?., ?:null 체크하는 방법을 자바와 비교해보자 어떤 String에 대한 length를 리턴하는 코드를 구현할 때, 자바에서는 다음과 같이 작성할 수 있다. length 를 호출할 때 NullException이 발생할 수 있으므로 null인지 아닌지를 확인하는 코드가 필요하다.String text; if (text != null) return text.length() else return null이를 코틀린에서는 safe call operator ?.를 사용해서 다음과 같이 작성할 수 있다.var t..
코틀린에서 java의 static 사용하기Companion object로 자바의 static 과 동일하게 사용할 수 있다.Companion ObjectCompanion object 를 내에 선언한 변수와 메서드는 java 에서 사용하는 static 형태로 사용할 수 있다. companion object 내에 변수와 메서드 하나를 작성해보자class Key(val value: Int) { companion object { val COMPARATOR: Comparator = compareBy { it.value } fun bar() {} } }위와 같이 작성하면 아래와 같은 형태로 호출할 수 있다.Key.COMPARATOR Key.bar()java 에서 static field 호출java에서 코틀린 위의 변..
코틀린 프로젝트 생성새 프로젝트 생성안드로이드 스튜디오 실행해서 ‘Start a new Android Studio project’ 를 선택한다. New Project 화면에서 앱 기본 정보를 입력한다. Target을 설정한다. (특별히 정해진 게 없으면 default 값으로 선택)‘Empty Activity’ 로 선택 후, default Activity를 생성한다.생성된 Java 코드 코틀린 파일로 변환Help - Find Action… 을 선택한다.‘convert java file to kotlin’ 을 입력 후, action 을 선택한다.kotlin 으로 변환된 코드를 확인할 수 있다.코틀린 사용을 위한 셋팅코틀린 파일 변환 후, ‘Sync Project with Gradle Files’ 를 선택하면..
gradle ndk compile 해제하기이클립스에서 사용하던 프로젝트를 안드로이드 스튜디오에서 작업하려는데 gradle 에서 ndk compile 을 진행하면서 에러가 발생해서 빌드가 안된다. 빌드할 때, 라이브러리에서 native까지 빌드를 하지 않아도 상관 없다면 다음과 같이 셋팅할 수 있다.android { sourceSets { main { jni.srcDirs = [] } } }프로젝트를 빌드할 때, jni가 있으면 자동으로 ndkcompile task 를 실행하게 되는데 jni.srcDirs 를 비워주어 자동으로 ndkcompile task 실행하는 것을 해제할 수 있다.참고stackoverflow
Execution failed for task ‘app:mergeDebugResources’이클립스에서 안드로이드 스튜디오로 프로젝트 import 후, 빌드할 때 다음과 같은 에러가 발생할 수 있다.Execution failed for task ':app:mergeDebugResources'. ... libpng error: Not a PNG file이클립스에서 프로젝트 빌드가 정상적으로 됐었는데 리소스 파일들을 하나하나 확인하려니 영 귀찮다. gradle 에서 위와 같은 에러를 무시하는 옵션을 제공하고 있다. build.gradle 파일에 다음과 같은 설정을 추가하면 된다.android { aaptOptions { cruncherEnabled = false } }