Missing directions in the world of Android?

Startup with a Big Ambition

Flexible. Responsive. Reliable

Holland9 is one step ahead in Android Development

See what others don't.

When the world changes, do your people change with it?

Your Source To Android knowledge

Holland9 - Navbar

 

 

Android C++ NDK/JNI

 

Dates:

Days:

Price:

     

February 20th 2012

3

€ 375,-

March 19th 2012

 

Brief:

The course involves NDK installation and configuring for user’s host system, building native code libraries from C and C++ sources, describing the C++ support provided in the Android NDK. Application samples include calling native methods implemented in a shared library and then displays obtained data in the application UI. We will also learn how to use the native-app-glue static library to create a native activity and using NDK source code for the “cpufeatures” library to check CPU capabilities at runtime. Further application sample demonstrates how to access the pixel buffers of Android Bitmap objects from native code. This course will be a good start for students to develop android applications using Android NDK.

 

Goal:

The goal is to provide an overall framework and code examples for understanding key concepts on Android C++ NDK/JNI. This should bootstrap the student as how to build the system and use it to add new functionality in the platform framework. Importantly, this class introduces various tools available and will enable exporting native functionality to applications using JNI.

 

Who should attend:

Future Android Developers, Android C++ programmers, Android services programmers, legacy to Android developers or any one who is intrested in kowing how native Android works.

 

Previous Knowledge:

- C and C++ programming

- Basic understanding of Android and Java will help

 

Course contents:

1.     Describing the C++ support provided in the Android NDK - C++ Exceptions support, C++ Standard Library support and specifics for the library. Describing the way how to link “stlport_static” or “stlport_shared” library to the native application, differences between static and dynamic libraries(stlport), minimal C++ runtime support library and corresponding headers.

2.     Application sample which calls native methods implemented in a shared library – Create Android native application which contains several native methods. Build created application using GNU Make 3.81 and get .so file(shared library), create Android ordinary application with several views to display information returned by native methods, link .so file to the project and call native methods.

3.     Application sample which builds two libraries static and dynamic, also demonstrates meaningful little application - Create Android native application which consists of two parts one is static library and the second is dynamic library. The static library is linked to dynamic library and dynamic library uses methods contained in static library.

4.     Application sample which demonstrates how to create a native activity - Create Android native application (native activity), describe the application (the application is completely native application), speak about different ways which are available to create such an application, define callbacks for activity live Lifecycle, use native interfaces to access sensors and input events, render different shapes on the screens and get different effects using sensor events.

5.     Application sample that shows how to use the “cpufeatures” library – Create Android native application, link “cpufeatures” library to that application modifying make file, call methods form the build-in library and show result. Application sample which uses “OpenGL ES 1.1” - Create Android native application that renders 3D graphics through the native OpenGL ES APIs.

 

Course includes:

- Softcopy of the presentation and detail description whenever necessary
- Examples, example code

 

Course material:

Students receive a copy of the course materials (slides and exercise handouts)