
Learn to build Android games in Java with Android Studio and SurfaceView, creating Flappy Bird game using a 2D game loop, touch input, collision detection, and publishing to Play Store.
Create an Android Studio project and design an XML layout with an ImageButton and a TextView, implement click handling to start the game and log events with Logcat.
This lecture introduces Android SurfaceView for animation, contrasts it with View, and outlines the game architecture including GameThread, GameEngine, BitmapBank, and input handling.
Create a BitmapBank class to load and keep bitmap resources, with getters for bitmap dimensions and a method to scale the background image. Begin building the GameView class.
Create a GameView class that extends SurfaceView and implements SurfaceHolder.Callback, initialize and start a GameThread to manage canvas drawing by locking, drawing, unlocking, and posting updates.
Continue constructing the game engine by implementing the drawing logic for the side-scrolling background, updating backgroundImageX with backgroundImageVelocity, and resetting at -backgroundWidth, while managing objects like BackgroundImage, Bird, and Tubes.
Build a complete Android game framework by implementing AppConstants, BitmapBank, and GameEngine; enable activity navigation, background scrolling, and screen scaling for future bird gameplay.
Learn to draw a flying bird on canvas, implement frame-by-frame animation with bitmap frames, and add gravity and touch controls to make the bird jump and stay within screen boundaries.
Learn to render tubes with random positions that scroll from right to left and reappear, using a Tube class, bitmap assets, and a game loop to update and draw them.
Open Android Studio, place tube images in drawable, implement a bitmap bank with top and bottom, and assign a random green or red color to each tube.
Develop a scoring system in Android Studio by tracking the active scoring tube, using updateAndDrawTubes to increment the score as tubes pass the bird, and drawing the score in red.
Master collision detection between the bird and the tube in Android game development by checking tubeX against birdX plus bird width and the tube top and bottom positions.
Learn to add sound effects to an Android game using MediaPlayer, raw resources, and a SoundBank to trigger swoosh, wing, point, and hit sounds during gameplay.
Design the Android game over screen with an XML layout, restart and exit buttons, score displays, and personal best storage via shared preferences for a Flappy Bird project.
Display the score and personal best with SharedPreferences, use intents to pass score to the GameOver screen, and implement restart and exit features.
Celebrate your journey in Android game programming, and invite questions, feedback, and project sharing to refine this course through honest reviews.
Important Note:
All source code provided in this course remains valid and compatible with the latest versions of Android Studio and Android SDKs.
Please note, however, that the course was originally created using an earlier version of Android Studio and the Android SDK.
If your goal is to:
Learn game development logic from the ground up,
Build a game loop from scratch,
Create your own custom game framework to develop future games more quickly and efficiently,
And you wish to code entirely in Java without relying on external game engines,
— then this course is ideal for you. Otherwise, we recommend exploring other courses that better match your needs.
Hi, do you want to learn how to build Android Games in Java?
My name is Sandip. I have published more than ten android games on Google Play. So, I happen to know about android game development and in this course, I’ll show you exactly how to create this awesome Flappy Bird game using Android Studio and Java.
Some Amazing Reviews From Our Learners
- This a good course and easy to understand.
- I enjoyed the course. I recommend it.
- It was a really well explained course thank you Sandip!
- This course is amazing. I recommend it to anybody starting out in Android Game development!
- Its straightforward and well organized.
- I recommend this course if you are a beginner want to learn android games. very great content.
- This course helps me to improve my skills, to know how to build a 2d game. I decide to learn java and android, and this course give me experience, and i hope it helps me in future.
Course Overview
This course is perfectly suitable for anyone who wants to learn the Game Development Fundamentals like creating an efficient Game Loop, handling the Touch Event, Collision Detection, Playing Sound Effects, Score, saving Personal Best, designing XML Layout, etc. If you want to learn the basic framework for games then this is the right course for you. And, if you want to learn android game development by writing code in Java then you’ll enjoy this course as I walk you through the process of creating this game, from start to finish, step by step in a completely hands-on fashion. While my previous course focused on using Android’s View class, this course is aimed to provide a solid foundation for a more dedicated Android class for game development: SurfaceView.
I'll show you step-by-step how to Create Different Levels for your game and add features like changing the game background and increasing the speed of the Tubes for every succeeding level to make your game more interesting and engaging, in the easiest way possible. This course improves your problem-solving ability as I invite you to find the solution yourself so that you can think and code like a professional. I am also available to support you along the way. I'll solve your coding problems or any feature that you want to implement so that you can have an enjoyable learning experience and focus on the things that matter the most once you fully understand the overall concepts. This course doesn't stop here. I'll demonstrate how to monetize your app through Google AdMob Banner and Interstitial (Fullscreen) ads so that you can start getting some revenue. You'll get all the project source codes once you purchase this course which you're free to use for your personal work. As a motivation, I've included a few real apps made by my students with some help from this course (and/or with some help from my other android game development course titled Android Game Development - Learn Core Concepts).
At the end of the course, you’ll be able to build a complete Flappy Bird game using Java which you can publish on Google Play. You'll have a clear understanding of the core concepts behind a 2D game. You’ll have improved Java skills. I promise it will be fun making this Flappy Bird game together. You'll enjoy the course.
Android is the largest ecosystem for gaming so if you’re serious about your career in the gaming industry, this is a great place to start. Or, if you just want to learn programming then Java is an excellent language which is also one of the official languages for Android and building games with Java is great fun. Over the years, I have helped thousands of students in making their Android games and there’s absolutely no reason why you can’t as well.
Start Learning Now. Hit the Enroll Button!