Home > General > Android NDK Beginner’s Guide
22%
Android NDK Beginner’s Guide

Android NDK Beginner’s Guide

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

What you will learn from this book Jump in the starting block and create your first Android native project Communicate with Java through Java Native Interfaces Display 2D and 3D graphics with OpenGL ES Play sound and music with OpenSL ES Manage Android input and sensors Debug and troubleshoot applications Port existing C/C++ code to Android Combine graphics, sound, input, sensors and physics in your application In Detail Android NDK is all about injecting high performance into your apps. Exploit the maximum power of these mobile devices using high-performance and portable code. This book will show you how to create C/C++ enabled applications and integrate them with Java. You will learn how to access native API and port libraries used in some of the most successful Android applications. Using this practical step-by-step tutorial, highlighted with comments and tricks, discover how to run C/C++ code embedded in a Java application or in a standalone application. You will create a real native application starting from project creation through to full implementation of native API and the porting of existing third-party libraries. You will discover OpenGL ES and OpenSL ES, which are becoming the new standard in mobility. You will also understand how to access keyboard and input peripherals and how to read accelerometer or orientation sensors. Finally, you will dive into more advanced topics such as debugging and troubleshooting applications. By the end of the book, you should know the key elements to enable you to start exploiting the power and portability of native code. Approach This beginner's guide focuses on getting you through all the major learning points in a smooth, logical order. You'll also see how to avoid some common pitfalls. Who this book is for Are you an Android Java programmer who needs more performance? Are you a C/C++ developer who doesn’t want to bother with Java stuff and its out-of-control garbage collector? Do you want to create fast intensive multimedia applications or games? Answer yes to any of the above and this book is for you. With some general knowledge of C/C++ development, you will be able to dive head first into native Android development. About the Author Sylvain Ratabouil is a confirmed IT consultant experienced with Java and C++ technologies. He worked in his earlier years in the development of control centers for the space industry at Communication & Systèmes. He then got involved in Aeronautic industry projects at Valtech Technologies, where he now takes part in the digital revolution. Sylvain earned a Masters degree from the IUP ISI curriculum at Paul Sabatier University in Toulouse and an MSC in Computer Science from Liverpool University. As a technology lover, he is passionate about mobile technologies and cannot live without his Android smart-phone.

Table of Contents:
Chapter 1: Setting your Environment Getting started with Android development Setting Windows Time for action – preparing Windows for Android development Installing Android development kits on Windows Time for action – installing Android SDK and NDK on Windows Setting Mac OS X Time for action – preparing Mac OS X for Android development Installing Android development kits on Mac OS X Time for action – installing Android SDK and NDK on Mac OS X Setting Linux Time for action – preparing Ubuntu Linux for Android development Installing Android development kits on Linux Time for action – installing Android SDK and NDK on Ubuntu Setting the Eclipse development environment Time for action – installing Eclipse Emulating Android Time for action – creating an Android virtual device Developing with an Android device on Windows and Mac OS X Time for action – setting your Android device on Windows and Mac OS X Developing with an Android device on Linux Time for action – setting your Android device on Ubuntu Troubleshooting a development device Summary Chapter 2: Creating, Compiling, and Deploying Native Projects Compiling and deploying NDK sample applications Time for action – compiling and deploying the hellojni sample Exploring Android SDK tools Android debug bridge Project configuration tool Creating your first Android project using eclipse Time for action – initiating a Java project Introducing Dalvik Interfacing Java with C/C++ Time for action – calling C code from Java More on Makefiles Compiling native code from Eclipse Time for action – creating a hybrid Java/C/C++ project Summary Chapter 3: Interfacing Java and C/C++ with JNI Working with Java primitives Time for action – building a native key/value store Referencing Java objects from native code Time for action – saving a reference to an object in the Store Local and global JNI references Throwing exceptions from native code Time for action – raising exceptions from the Store JNI in C++ Handling Java arrays Time for action – saving a reference to an object in the Store Checking JNI exceptions Summary Chapter 4: Calling Java Back from Native Code Synchronizing Java and native threads Time for action – running a background thread Attaching and detaching threads More on Java and native code lifecycles Calling Java back from native code Time for action – invoking Java code from a native thread More on callbacks JNI method definitions Processing bitmaps natively Time for action – decoding camera feed from native code Summary Chapter 5: Writing a Fully-native Application Creating a native activity Time for action – creating a basic native activity Handling activity events Time for action – handling activity events More on Native App Glue UI thread Native thread Android_app structure Accessing window and time natively Time for action – displaying raw graphics and implementing a timer More on time primitives Summary Chapter 6: Rendering Graphics with OpenGL ES Initializing OpenGL ES Time for action – initializing OpenGL ES Reading PNG textures with the asset manager Time for action – loading a texture in OpenGL ES Drawing a sprite Time for action – drawing a Ship sprite Rendering a tile map with vertex buffer objects Time for action – drawing a tile-based background Summary Chapter 7: Playing Sound with OpenSL ES Initializing OpenSL ES Time for action – creating OpenSL ES engine and output More on OpenSL ES philosophy Playing music files Time for action – playing background music Playing sounds Time for action – creating and playing a sound buffer queue Event callback Recording sounds Summary Chapter 8: Handling Input Devices and Sensors Interacting with Android Time for action – handling touch events Detecting keyboard, D-Pad, and Trackball events Time for action – handling keyboard, D-Pad, and trackball, natively Probing device sensors Time for action – turning your device into a joypad Summary Chapter 9: Porting Existing Libraries to Android Developing with the Standard Template Library Time for action – embedding GNU STL in DroidBlaster Static versus shared STL performances Compiling Boost on Android Time for action – embedding Boost in DroidBlaster Porting third-party libraries to Android Time for action – compiling Box2D and Irrlicht with the NDK GCC optimization levels Mastering Makefiles Makefile variables Makefile Instructions Summary Chapter 10: Towards Professional Gaming Simulating physics with Box2D Time for action – simulating physics with Box2D More on collision detection Collision modes Collision filtering More resources about Box2D Running a 3D engine on Android Time for action – rendring 3D graphics with Irrlicht More on Irrlicht scene management Summary Chapter 11: Debugging and Troubleshooting Debugging with GDB Time for action – debugging DroidBlaster Stack trace analysis Time for action – analysing a crash dump More on crash dumps Performance analysis Time for action – running GProf How it works ARM, thumb, and NEON Summary Index


Best Sellers



Product Details
  • ISBN-13: 9789350237878
  • Publisher: Shroff / Packt
  • Publisher Imprint: Shroff / Packt
  • Language: English
  • ISBN-10: 9350237873
  • Publisher Date: 2012
  • Binding: Paperback
  • No of Pages: 448

Related Categories

Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Android NDK Beginner’s Guide
Shroff / Packt -
Android NDK Beginner’s Guide
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Android NDK Beginner’s Guide

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals



    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!