Book Image

Learning Java by Building Android Games - Second Edition

By : John Horton
Book Image

Learning Java by Building Android Games - Second Edition

By: John Horton

Overview of this book

Android is one of the most popular mobile operating systems presently. It uses the most popular programming language, Java, as the primary language for building apps of all types. However, this book is unlike other Android books in that it doesn’t assume that you already have Java proficiency. This new and expanded second edition of Learning Java by Building Android Games shows you how to start building Android games from scratch. The difficulty level will grow steadily as you explore key Java topics, such as variables, loops, methods, object oriented programming, and design patterns, including code and examples that are written for Java 9 and Android P. At each stage, you will put what you’ve learned into practice by developing a game. You will build games such as Minesweeper, Retro Pong, Bullet Hell, and Classic Snake and Scrolling Shooter games. In the later chapters, you will create a time-trial, open-world platform game. By the end of the book, you will not only have grasped Java and Android but will also have developed six cool games for the Android platform.
Table of Contents (30 chapters)
Learning Java by Building Android Games Second Edition
Contributors
Preface
Index

Summary


We have expanded our knowledge of the stack and the heap. We know that local variables are on the stack and only accessible while in scope and that classes and their member variables are on the heap and accessible at any time provided the currently executing code has a reference to the required instance. We also know that if an object has no reference on the stack it will be garbage collected. This is good because it frees up memory but potentially problematic because it uses processor time that can affect the performance of our game.

We have made a good start with the Snake game though most of the code we wrote was similar to previous projects. The exception was the way in which we selectively call the update method only when one-tenth of a second has elapsed since the previous call to update.

In the next chapter, we will do something a little bit different and see how we can localize a game (using Snake as an example) to provide text in different languages.