일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dataginding
- error
- Hyperledger
- 컴파일
- Gradle
- Android
- coroutines
- fabic
- bigquery
- Glide
- ethereum
- web3js
- convert
- LAYER_TYPE_SOFTWARE
- hardwareacceleration
- Exception
- C
- log
- test
- 스트리밍
- null safety
- 다윈
- porterduff
- firebase
- vuepress
- Realm
- quick-start
- 안드로이드
- kotlin
- fabric-sdk-java
- Today
- Total
목록분류 전체보기 (212)
날마다 새롭게 또 날마다 새롭게
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 } }
ViewModel과 LiveData를 사용해보자ViewModelViewModel 은 UI 관련된 data를 저장하고 관리하기 하는 클래스이다. 보통 Activity나 Fragment가 다시 recreate 되는 상황에(screen rotation 같은) 갖고 있던 data들은 clear가 된다. 이러한 상황에서 data를 잃지 않고 view를 구성하기 위해서 onSaveInstanceState 나 create 될 때, data를 로드하는 구현이 필요하다.ViewModel을 사용하면 이런 구현이 필요 없어진다. ViewModel은 Activity/fragment lifecycle을 따라 동작하는데 생성된 시점에서 Activity/fragment가 finish() 되기 전까지 데이터를 유지하는 기능을 가지고..
Android Log 쉽게 남기기Android Log를 남길 때, 메시지 출력 위치를 표시하기 위해 tag에는 호출하는 클래스를 입력하고 메시지에는 메소드명을 입력하거나 혹은 같은 메소드에서도 위치를 잘 보기 위해 숫자를 찍는 경우도 있다.(하드코딩) 그런데 안드로이드에서는 메소드를 호출했을 때, 클래스명이나 메소드명 라인 정보를 알려주는 기능을 제공하고 있었다. 그렇다면 클래스, 메소드, 라인 정보를 얻는 방법을 살펴보고 이를 토대로한 샘플 라이브러리도 확인해보자StackTraceElementStackTraceElement 클래스는 클래스, 메소드, 라인수등의 정보를 저장하는 역할을 한다. StackTraceElement를 얻기 위해서는 Thread 클래스나 Throwable 클래스를 사용해서 전체 C..
Glide out of memory 대처하기Glide.with()Glide with()는 여러 메소드 가 있다public static RequestManager with(Context context) public static RequestManager with(Activity activity) public static RequestManager with(FragmentActivity activity) public static RequestManager with(Fragment fragment)이유는 각각의 LifeCycle에 맞게 동작하도록 구현되어 있기 때문이다. 예를 들어, Fragment에서 Glide를 사용해 3MB 정도의 이미지를 로드한 후, 백버튼을 눌러 Fragment를 제거하거나 Activ..
볼트마이크로 카메라파이 SDK를 사용하여USB Camera인 NAVERCAM PLUS와 스마트폰을 연결하여 스마트폰에서 카메라 영상의 Preview를 확인할 수 있습니다. 아래 동영상은 원래 목표로 했던 Camera 영상을 스마트폰으로 받은 후, 스트리밍 서버로 전송하는 것을 보여주는 영상입니다. 아직 CameraFi SDK에서는 이런 기능을 제공해주지 않는데 향후, 이런 기능이 추가되었으면 좋겠습니다.
참고 : http://stackoverflow.com/questions/27891478/error-when-compiling-in-cygwin GCC Version : 4.9.2Cygwin x64 Cygwin 에서 gcc로 jni 컴파일 할 때, 다음과 같은 에러가 발생하는 경우가 있다.jni_md.h 에서 __int64 타입을 모른다는 내용이다. $ gcc -fPIC -c -I"$JAVA_HOME"/include -I"$JAVA_HOME"/include/win32 helloworld.chelloworld.c:1:0: warning: -fPIC ignored for target (all code is position independent) ^In file included from /cygdrive/c/P..
[mswin.vim 수정]c:\program Files\Vim\vim71\mswin.vim 파일의 맨 마지막에 다음과 같이 작성 set tabstop=4set encoding=cp949set fileencodings=utf-8,cp949set langmenu=cp949set guifont=Gulimche:h12:cHANGEULset lines=60 columns=120 출처 : http://kldp.org/node/85494
여기서 말하는 속도는 같은 시간 안에 더 많은 코드를 만들어 낼 수 있는 능력을 말한다. 개발 퍼포먼스는 자신의 코드를 리팩토링하는 경험을 통해서 향상시킬 수 있다.리팩토링은 막상 시도하려고 하면 시간이 오래 걸리고 귀찮기 때문에 시작하기가 어렵다.하지만 초보 개발자일 때 이러한 경험을 많이 해봄으로써 리팩토링의 속도를 높일 수 있게 되고,리팩토링 속도가 빠르다면 앞으로 리팩토링을 더 쉽게 시작할 수 있을 것이다. 단순히 리팩토링 경험이 퍼포먼스 속도를 높여주는 것 뿐만 아니라 우리는 이 경험을 기반으로 객체지향적 코드에서 패턴으로의 전환을 이룰 수 있다. [퍼포먼스 향상을 통해 얻을 수 있는 것]리팩토링 시도 → 리팩토링을 통한 객체지향 코드 작성 경험 향상 → 객체지향 패턴으로의 전환 [퍼포먼스를 높..