Mastering Android NDK

Packt Publishing Limited
  • 1. Auflage
  • |
  • erschienen am 30. September 2015
  • |
  • 328 Seiten
E-Book | ePUB mit Adobe DRM | Systemvoraussetzungen
978-1-78528-180-8 (ISBN)
Master the skills you need to develop portable, highly-functional Android applications using NDKAbout This BookDevelop portable games using Android NDK and debug them on your desktopFamiliarise yourself with different popular C++ libraries on Android and use them in your gamesWrite multi-threaded code with graphics, sound, networking, and resource storageWho This Book Is ForIf you want to leverage your C++ skills in mobile development and increase the performance of your Android applications, then this is the book for you. Knowledge of C or C++ is assumed, including pointer manipulation, multi-threading, object-oriented programming concepts, and the basics of C++11. It would be an added advantage if you know how to develop applications without any IDE.What You Will LearnExplore different popular C++ libraries and import some of them to AndroidWrite portable, multithreaded native codeCreate applications that play audio with OpenALImplement gesture recognition in your games and applicationsDebug mobile applications on your desktopExtract resources from APK archivesRender text with FreeType and also use OpenGL ESIn DetailAndroid NDK is used for multimedia applications that require direct access to system resources. NDK is also the key for portability, which in turn allows a reasonably comfortable development and debugging process using familiar tools such as GCC and Clang toolchains.This is a hands-on guide to extending your game development skills with Android NDK. The book takes you through many clear, step-by-step example applications to help you further explore the features of Android NDK and some popular C++ libraries and boost your productivity by debugging the development process.Through the course of this book, you will learn how to write portable multi-threaded native code, use HTTP networking in C++, play audio files, use OpenGL ES 3, and render high-quality text. Each chapter aims to take you one step closer to building your application. By the end of this book, you will be able to create an engaging, complete gaming application.Style and approachThis book adopts a step-by-step approach and each chapter is based on the material from the previous ones. The book focuses on putting to your knowledge of C++ use while you develop Android applications of your own.
  • Englisch
  • Birmingham
  • |
  • Großbritannien
978-1-78528-180-8 (9781785281808)
1785281801 (1785281801)
weitere Ausgaben werden ermittelt
Sergey Kosarevsky is a software engineer with experience in C++ and 3D graphics. He worked for mobile industry companies and was involved in mobile projects at SPB Software, Yandex, Layar and Blippar. He has more than 12 years of software development experience and more than 6 years of Android NDK experience. Sergey got his PhD in the field of mechanical engineering from St. Petersburg Institute of Machine-Building in Saint-Petersburg, Russia. In his spare time, Sergey maintains and develops an open source multiplatform gaming engine, the Linderdaum Engine ( Viktor Latypov is a software engineer and mathematician with experience in compiler development, device drivers, robotics, and high-performance computing and with a personal interest in 3D graphics and mobile technology. Surrounded by computers for more than 20 years, he enjoys every bit of developing and designing software for anything with a CPU inside. Viktor holds a PhD in applied mathematics from Saint-Petersburg State University.
  • Cover
  • Copyright
  • Credits
  • About the Authors
  • About the Reviewers
  • Table of Contents
  • Preface
  • Chapter 1: Using Command-line Tools
  • Using Android command-line tools on Windows
  • Using Android command-line tools on OS X
  • Using Android command-line tools on Linux
  • Creating an Ant-based application template manually
  • Creating a Gradle-based application template manually
  • Embedding native code
  • Building and signing release Android applications
  • Organizing the cross-platform code
  • Using TeamCity continuous integration server with Android applications
  • Summary
  • Chapter 2: Native Libraries
  • Dealing with precompiled static libraries
  • Dynamic linking on Windows platform
  • Curl
  • OpenSSL
  • FreeImage
  • Loading and saving images
  • FreeType
  • Theora
  • OpenAL
  • Linking the libraries to your application
  • Summary
  • Chapter 3: Networking
  • Intrusive smart pointers
  • Portable multithreading primitives
  • Task queues
  • Message pumps and asynchronous callbacks
  • Asynchronous networking with libcurl
  • Android licensing in native applications
  • Flurry analytics
  • Summary
  • Chapter 4: Organizing a Virtual Filesystem
  • Mount points
  • Mount points and streams
  • Accessing files on the host filesystems
  • In-memory files
  • Aliasing
  • Writing files
  • Accessing the archive files
  • Accessing application assets
  • Summary
  • Chapter 5: Cross-platform Audio Streaming
  • Initialization and playback
  • Streaming sounds
  • Stringed musical instrument model
  • Decoding compressed audio
  • Decoding tracker music using the ModPlug library
  • Decoding MP3 files
  • Decoding OGG files
  • Summary
  • Chapter 6: OpenGL ES 3.1 and Cross-platform Rendering
  • Linear algebra and transformations
  • Graphics initialization using SDL2
  • OpenGL API binding
  • Cross-platform OpenGL abstractions
  • Feeding the geometry data to OpenGL
  • Shader programs
  • Textures
  • Summary
  • Chapter 7: Cross-platform UI and Input System
  • Rendering
  • Text rendering
  • Calculating glyph positions and string size in pixels
  • Decoding UTF-8
  • Glyphs rendering
  • Font initialization and caching
  • Integrating the text renderer into the canvas
  • Organizing the UI system
  • The base UI view
  • Events
  • Implementing UI classes
  • Using views in application
  • Summary
  • Chapter 8: Writing a Rendering Engine
  • The scene graph
  • Lighting and shading
  • Lights and light nodes
  • Material system
  • Demo application and a rendering technique
  • Scene construction
  • User interaction with 3D scenes
  • Summary
  • Chapter 9: Implementing Game Logic
  • Boids
  • Implementation of the flocking algorithms
  • Digression: helper routines
  • Collective behaviors
  • Rendering the swarm
  • Boids demonstration
  • The page-based user interface
  • Summary
  • Chapter 10: Writing Asteroids Game
  • Creating an on-screen joystick
  • Implementing the particle system
  • Using particle systems in the game
  • Using particle systems inside a scene graph
  • Asteroids game
  • Summary
  • Index

Dateiformat: EPUB
Kopierschutz: Adobe-DRM (Digital Rights Management)


Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Weitere Informationen finden Sie in unserer E-Book Hilfe.

Download (sofort verfügbar)

40,53 €
inkl. 19% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe DRM
siehe Systemvoraussetzungen
E-Book bestellen

Unsere Web-Seiten verwenden Cookies. Mit der Nutzung dieser Web-Seiten erklären Sie sich damit einverstanden. Mehr Informationen finden Sie in unserem Datenschutzhinweis. Ok