Develop your own responsive, reactive, and ready-to-deploy Android applications About This Book * Kick-start your Android programming career or just have fun publishing apps to the Google Play marketplace * Explore the high-level Android asynchronous constructs available on the Android SDK * Learn the internals of a game engine by building one Who This Book Is For If you are an iOS developer or any other developer/programmer and you want to try your hands on developing applications on the Android platform, this course is for you. No prior programming experience is needed as this course will guide you right from the beginning to the advanced concepts of Android programming. What You Will Learn * Mastering the fundamentals of coding Java for Android * Installing and setting up your Android development environment * Building functional user interfaces with the Android Studio visual designer * Adding user interaction, data captures, sound, and animation to your apps * Managing your apps' data using the built-in Android SQLite database * Getting familiar with the android process model and low-level concurrent constructs delivered by the Android SDK * Interacting with nearby devices over Bluetooth and WiFi communications channels * Creating and composing tasks with RxJava to execute complex asynchronous work in a predictable way * Handling user inputs, from virtual joysticks to gamepads * Implementing collision detection using different techniques and discover how to optimize it for complex games * Building, deploying, and publishing real Android applications to the Google Play marketplace In Detail Android is the most popular OS in the world. There are millions of devices accessing tens of thousands of applications. It is many people's entry point into the world of technology. The Android: Programming for Developers course will take you on a journey to become an efficient Android programmer by thoroughly understanding the key concepts of Android programming and develop market-ready applications. The course begins with helping you create Android applications from scratch. The first module, Android Programming for Beginners, introduces you to all the fundamental concepts of programming in an Android context, from the Java basics to working with the Android API. At the completion of this module, you'll be ready to start building your own custom applications in Android and Java. After getting familiar with the basic programming concepts, the second module, Asynchronous Android Programming, shows you how to make your applications more reliable. This will be achieved using high-level and advanced asynchronous techniques and concepts. Through this module, you will learn to construct scalable and performant applications to take advantage of multi-thread asynchronous techniques. With a good grasp on the basics, you move on the final module, Mastering Android Game Development. This progressive module will help you learn to use animations and particle systems to provide a rich experience. By the end of the course, you will create beautiful, responsive, and reusable UIs by taking advantage of the Android SDK. Style and approach The comprehensive course will run you through the basic concepts for newbies, move on to the UI design, teach you game development on Android, and finally make you proficient in application development on Android. Each of these aspects has been covered in individual modules to help you develop your skills after the completion of a module and get ready for the next.