프로그래밍/android 4

안드로이드 openCV 설치 & 사용 2 / OpenCVLoader.initAsync 에러 / Illegal ArgumentException

http://nocomet.tistory.com/16 이전 포스팅에 이어서 계속해서 openCV를 사용해보자. MainActivity.java 다음과 같이 onResume과 mLoaderCallBack 코드를 넣어주어야한다. MainActivity의 onCreate 메소드 안에 바로 openCV 관련 메소드나 변수를 이용하면 에러가 발생한다. onCreate가 호출될때는 아직 해당 프로젝트에 관한 리소스나 정보가 아직 덜 생성된 상태이다. 즉 openCV 관련 라이브러리가 덜 올려진 상태에서 호출하게 되면 null exception이 발생한다. 그러므로 해당 앱이 모두 빌드 된 후 onResume 상태에서 Callback 형식으로 라이브러리를 이용해야한다. 이는 openCV만이 아니라, 다른 모듈 형태의..

안드로이드 openCV 설치 & 사용

안드로이드 openCV 설치 및 사용 영상처리를 위한 대표적인 라이브러리인 openCV를 안드로이드 상에서 사용하는 방법을 알아보겠다. http://opencv.org/downloads.html위 링크를 통해 안드로이드 버전인 2.4.11을 다운 받자. 다운받으면 적당한 곳에 압축을 풀자. 필자의 경우 C:\opencv-2.4.11\OpenCV-2.4.11-android-sdk 에 설치를 하였다. 압축을 풀어 설치를 완료하였으면 안드로이드 스튜디오를 실행하여 새로운 프로젝트를 생성하자. 안드로이드 API 19로 설정하고 Empty Activity로 생성하자. 프로젝트가 생성된 기본 화면이다. 이제 openCV를 사용할 수 있도록 라이브러리를 등록해보자. File - New - Import Module 를..

android 간단한 Thread 실행, android.os.NetworkOnMainThreadException, android.view.viewrootimpl$calledfromwrongthreadexception

안드로이드 허니콤 이후 네트워크 관련 작업은 메인 Thread에서 실행하면 android.os.NetworkOnMainThreadException 에러가 발생하도록 변경되었다. 혹은 View 객체 등 UI를 동적으로 변경할 시 메인 Thread에서 실행하면android.view.viewrootimpl$calledfromwrongthreadexception 에러가 뜬다. 다시 말해 메인 Thread에서 실행하지말고, Thread를 생성하여 실행도록 하란 소리다. 또한 UI 역시 동적으로 변경하도록 하고 싶다면 Thread를 이용하여 처리를 하여야만 한다. 모듈화 시킬 필요가 있는 부분은 class를 생성하여, 1. Thread 클래스를 상속하거나2. Runnable 인터페이스를 구현하여 실행하면 된다. 하..

android studio 자동 import 설정, 단축키, shortcut

000. 자동 import 설정File - Settings (Ctrl + Alt + S)auto import 검색 표시된 부분을 체크를 하면 아주 강력하게 자동 import를 해준다. -shortcut- 001. renameShift + F6 002. 코드정렬Ctrl + Alt + L 003. 메소드 오버라이드Ctrl + O 004. 인터페이스 구현Ctrl + I 005. 메소드 매개변수 확인Ctrl + P 006. 선언부로 이동Ctrl + B 007. doc 상세 보기Ctrl + q 008. 불필요한 import 제거Ctrl + Alt + O 009. try / catch ... 여러 문장Ctrl + Alt + T