Augmented Reality/Moblie AR 6

Android 개발 시 항상 주의해야 할 점

까먹지 말고 항상 주의해야 할 것 - 기본중에 기본, 기본이 중요하다 이클립스는 항상 프로젝트 저장, Refresh와 Clean을 컴파일 할 때 마다 해줘야한다. - 안그러면 현재 수정된 코드로 컴파일 하는게 아니라 정상적이었던 이전 코드를 컴파일한다 안드로이드 폰으로 컴파일 할 때는 휴대폰 내 개발중인 어플을 항상 지우고 컴파일 해줘야한다. - 이것 역시 이전 컴파일 내용을 그대로 내보내는 경우가 있다. - 그래서 항상 개발중인 타겟 어플을 지우고 컴파일 해야 한다. 별거 아니지만 컴파일 할때마다 이걸 지키지 못하면 에러를 잡아놓고도 안잡힌것처럼 보이기 때문에 삽질을 거듭거듭하는 경우가 있다.

JNI에서 string 사용 방법

그러니까 사건의 발단은 트래킹할 이미지가 바뀔때마다 NDK-Build를 돌리는게 싫었다 - 트래킹 할 이미지가 바뀔 때마다 이미지 이름이 바뀌기 때문에 경로 수정을 해야하는데 그때마다 수정된 경로로 NDK를 새로 빌드해야했다 그래서 네이티브 메서드에서 string 인자를 받아서 트래킹할 이미지를 바꾸려고했따! 그래서 자바 : private native void renderframe(); C++ Native : JNIEXPORT void JNICALL Java_augmented_AR_Renderer_renderFrame (JNIEnv*, jobject); renderframe()의 원래 형태를 자바 : private native void renderframe(string str); C++ Native : ..

Android LOG

Android에는 뻘짓을 방지하기위한 Log클래스가 있다. 이걸 쓰면 코드가 진행되다가 어디에서 오류가 났는지 알 수 있다. http://d.android.com/reference/android/util/Log.html android.util.log 클래스에서 지원한다. Log.e() - 오류 기록 Log.w() - 경고 기록 Log.i() - 메시지 기록 Log.d() - 디버그 기록 Log.v() - 상세 메시지 기록 클래스나 메서드의 진입점이나 종료지점에 써두면 어디서 잘못됐는지 알 수 있다. 메시지형태로 남기는 형태 선언형태private static final String DEBUG = "{LOG}"; 사용형태 코드코드코드코드 Log.i(DEBUG, "error"); 코드코드코드코드 이클립스 오른..

Android NDK

9단계의 절차를 통해 Native C, .so라이브러리를 사용할 수 있게된다. 1. Android Project 작성 2. 자바 클래스 작성 3. Header 파일 작성 4. 라이브러리 생성할 소스 디렉토리 생성 5. Android.mk 설정 파일 생성 6. C 소스파일 작성 7. 소스 컴파일/공유 라이브러리 생성 8. Native Method 호출 9. 결과 확인 1. Android Project 작성 일반적인 안드로이드 프로젝트를 작성한다. 패키지 이름은 적어도 두개 이상으로 나누어져야한다. Android.AREng 등... 아무렇게나 임의로 작성하면 된다. 그러면 Android 폴더 아래 AREng 폴더 아래 자바 파일이 생성되게 된다. 2. 자바 클래스 작성 자바 클래스를 작성한다. 패키지익스플로..

Android App 구조

QCAR은 안드로이드를 기반으로 돌아가기 때문에, 안드로이드 공부를 하지 않을 수 없다. JAVA는 그렇다치고 JNI, NDK, Android, Unity 3D, OpenCV를 공부해야한다. QCAR Multitargets의 프로젝트 폴더구조다 src : 현재 개발중인 안드로이드 소스 코드 gen : 안드로이드가 자동적으로 생성한 R.java 소스 코드 libs : 라이브러리 폴더, NDK로 JNI소스를 돌리면 자동적으로 생성된다. jni : 자바 네이이티브 파일들, C, C++, Header파일이 들어있다. 이걸 NDK-build하면 .so라이브러리가 생성된다. res : 안드로이드가 자동으로 생성하는 자원 폴더 - drawable : 이미지파일 객체생성을 위한 실제 jpg와 같은 이미지나 이미지 생성..

Qualcomm AR SDK - QCAR

2011.8.16일 작성된 내용입니다. 이 점 유의해 주시기 바랍니다. - 현재 Qualcomm AR SDK는 Vuforia로 명칭이 변경되었습니다. - 이렇게 변경 된 후에는 프로그래밍을 해보지 못해 자세한 정보 전달해 드릴 수 없는 점 글을 읽으실 때 참고 하시기 바랍니다. - 아래 작성된 포스팅은 QCAR에 대한 내용입니다. QCAR SDK : Qualcomm Augmented Reality SDK 개발환경부터 만들자 깔아야할게 한두가지가 아니다 우선 한번 보자 JDK Eclipse IDE Android SDK Downloader Android ADT Android SDK platform support Cygwin Environment Android NDK 이렇게 일곱가지를 설치해야한다. 과정도 그..