Book Image

Android NDK: Beginner's Guide

By : Sylvain Ratabouil
Book Image

Android NDK: Beginner's Guide

By: Sylvain Ratabouil

Overview of this book

Table of Contents (18 chapters)
Android NDK Beginner's Guide Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – turning an Android device into a Joypad


Let's find the device orientation and properly determine the direction.

  1. Write a new file jni/Configuration.hpp to help us get device information, and more specifically device rotation (defined as screen_rot).

    Declare findRotation() to discover the device orientation with the help of JNI:

    #ifndef _PACKT_CONFIGURATION_HPP_
    #define _PACKT_CONFIGURATION_HPP_
    
    #include "Types.hpp"
    
    #include <android_native_app_glue.h>
    #include <jni.h>
    
    typedef int32_t screen_rot;
    
    const screen_rot ROTATION_0   = 0;
    const screen_rot ROTATION_90  = 1;
    const screen_rot ROTATION_180 = 2;
    const screen_rot ROTATION_270 = 3;
    
    class Configuration {
    public:
        Configuration(android_app* pApplication);
    
        screen_rot getRotation() { return mRotation; };
    
    private:
        void findRotation(JNIEnv* pEnv);
    
        android_app* mApplication;
        screen_rot mRotation;
    };
    #endif
  2. Retrieve configuration details in jni/Configuration.cpp.

    First, in the constructor, use...