Book Image

Android Native Development Kit Cookbook

By : Liu Feipeng
Book Image

Android Native Development Kit Cookbook

By: Liu Feipeng

Overview of this book

Building Android applications would usually mean that you spend all of your time working in Java. There are however times when this is not the most efficient or best method for the application being built. This is where Android NDK comes in. Android NDK allows the developer to write in Native C/C++, giving you the power to reuse code and libraries and also, in most cases, increase the speed and efficiency of your application.The "Android Native Development Kit Cookbook" will help you understand the development, building, and debugging of your native Android applications. We will discover and learn JNI programming and essential NDK APIs such as OpenGL ES, and the native application API. We will then explore the process of porting existing libraries and software to NDK. By the end of this book you will be able to build your own apps in NDK apps."Android Native Development Kit Cookbook" begins with basic recipes that will help you in the building and debugging of native apps, and JNI programming. The recipes cover various topics of application development with Android NDK such as OpenGL programming and Multimedia programming. We will begin with a simple recipe, Hello NDK, before moving on to cover advanced topics with recipes on OpenGL ES that focus on 2D and 3D graphics, as well as recipes that discuss working with NDK and external APIs. If you are looking for ways to make your application available in Android and take measures to boost your application's performance, then this Cookbook is for you.
Table of Contents (16 chapters)
Android Native Development Kit Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Introduction


The previous chapter covered various techniques of porting a native library to Android with NDK. This chapter discusses the porting of native applications.

We will first introduce how to build a native command-line application for Android with an Android NDK build system and the standalone compiler provided by NDK. We will then add a GUI for the ported application. Finally, we illustrate using a background thread to do the heavy processing and sending the progress update message from the native code to the Java UI thread for GUI updates.

We will use the open source Fugenschnitzer program throughout this chapter. It is a content-aware image resizing program based on the Seam Carving algorithm. The basic idea of this algorithm is to change the size of an image by searching for and manipulating the seams (a seam is a path of connected pixels from top to bottom, or left to right) from the original image. The algorithm is able to resize an image while trying to keep the important...