C/C++ 언어를 활용한 앱 개발

안드로이드 네이티브 프로그래밍

수강대상

준비중

선수과정

기초 C 프로그래밍
기초 JAVA 프로그래밍
고급 자료구조
네트워크 프로그래밍

강의환경

Ubuntu Linux
Vim
GCC
Eclipse & Android Plugin
SDK
NDK
PDK
Nexus7

  • Section1. 안드로이드 NDK 소개
    • NDK의 개념과 개발 환경의 이해
    • 개발 환경 구축 방법
  • Section2. 라이브러리
    • gcc 컴파일러 사용 방법
    • 라이브러리의 이해
    • 공유 라이브러리의 구현
  • Section3. NDK를 위한 자바
    • 명령행에서 자바 빌드 방법
    • 패키지(package)의 이해와 사용
    • 예외의 개념과 처리
    • 예외의 구현
  • Section4. 자바 네이티브 인터페이스(JNI)
    • JNI의 이해와 구현
    • 메모리 관리
    • 콜백(callback)의 구현
    • 쓰레드
    • C++과 JNI
  • Section5. NDK 이해와 활용
    • 안드로이드 빌드 시스템의 이해
    • NDK 개발 방법
    • 네이티브 스레드
    • 콜백(callback)의 구현
    • 예외 처리
    • NDK 디버깅
    • NDK와 이미지 프로세싱
    • 하드웨어 제어
    • C++(STL)과 NDK
  • Section6. NativeActivity
    • NativeActivity의 개념
    • 네이티브 앱의 구현
    • 하드웨어 이벤트 처리
    • NativeActivity Lifecycle
    • 센서 처리
    • 그래픽 처리
  • Section7. PDK
    • NDK와 PDK
    • 바인더(Binder)의 개념
    • 바인더를 사용한 프로세스 통신(IPC/RPC)
    • 바인더를 사용한 하드웨어 제어