일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴파일
- vuepress
- kotlin
- Hyperledger
- ethereum
- Gradle
- 다윈
- log
- hardwareacceleration
- null safety
- convert
- C
- 스트리밍
- coroutines
- fabric-sdk-java
- test
- Glide
- Exception
- porterduff
- firebase
- fabic
- dataginding
- Realm
- 안드로이드
- LAYER_TYPE_SOFTWARE
- quick-start
- error
- web3js
- bigquery
- Android
- Today
- Total
목록2017/07 (7)
날마다 새롭게 또 날마다 새롭게
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 } }