Develop your own responsive, reactive, and ready-to-deploy Android applications
1234567

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.

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

John Horton

John Horton is a coding and gaming enthusiast based in the UK.

He has a passion for writing apps, games, books, and blog articles about programming, especially for beginners. He is the founder of Game Code School, http://www.gamecodeschool.com, which is dedicated to helping complete beginners get started coding using the language and platform that is best for them.

John sincerely believes that anyone can learn to code and that everybody has a game or an app inside of them, and that they just need to do enough work to bring it out.

He has authored around a dozen technology books, most recently the following:

Beginning C++ Game Programming: https://www.packtpub.com/game-development/beginning-c-game-programming

Android Programming for Beginners: https://www.packtpub.com/application-development/android-programming-beginners

Android Game programming by Example: https://www.packtpub.com/game-development/android-game-programming-example

Learning Java Building Android Games: https://www.packtpub.com/game-development/learning-java-building-android-games

Helder Vasconcelos

Helder Vasconcelos is a Portuguese Software Engineer based on Dublin, Ireland, with more than 10 years of experience designing and developing real-time/multithreaded Java and C++ applications for the telecommunications and aviation industries. Apart from his day-to-day job, he occupies his spare time building native Android applications for Bearstouch Software and other third-party companies.

He graduated with a degree in Electronic and Telecommunications Engineering from the University of Aveiro in January 2006. During his career, he has worked as a Software Engineer for companies such as PT Inovação (Portugal), Airtel ATN (Dublin, Ireland) and Axway (Dublin, Ireland). You can find Hélder on LinkedIn at (https://ie.linkedin.com/in/heldervasc/en) or on his website at (http://hvasconcelos.github.io).

Raul Portales

Raul Portales is a software engineer who works as a contract consultant with Platty Soft. He cofounded the game studio The Pill Tree, which ran for a year and produced several titles that were featured by Google Play, including Chalk Ball and SpaceCat.He has been a Google Developer Expert for Android since the start of 2015, and he loves public speaking. He has presented at several DroidCons and Game Developers conferences, talking about how to survive as an indie game developer.At the moment, Raul lives in Dublin and you can easily find him collaborating with the local community on different meetups, especially the ones organized by GDG Dublin.

  1. THE FIRST APP
  2. JAVA – FIRST CONTACT
  3. EXPLORING ANDROID STUDIO
  4. DESIGNING LAYOUTS
  5. REAL-WORLD LAYOUTS
  6. THE LIFE AND TIMES OF AN ANDROID APP
  7. CODING IN JAVA PART 1 – VARIABLES, DECISIONS, AND LOOPS
  8. CODING IN JAVA PART 2 – METHODS
  9. OBJECT-ORIENTED PROGRAMMING
  10. EVERYTHING'S A CLASS
  11. WIDGET MANIA
  12. HAVING A DIALOGUE WITH THE USER
  13. HANDLING AND DISPLAYING ARRAYS OF DATA
  14. HANDLING AND DISPLAYING NOTES IN NOTE TO SELF
  15. ANDROID INTENT AND PERSISTENCE
  16. UI ANIMATIONS
  17. SOUND FX AND SUPPORTING DIFFERENT VERSIONS OF ANDROID
  18. DESIGN PATTERNS, FRAGMENTS, AND THE REAL WORLD
  19. USING MULTIPLE FRAGMENTS
  20. PAGING AND SWIPING
  21. NAVIGATION DRAWER AND WHERE IT'S SNAP
  22. CAPTURING IMAGES
  23. USING SQLITE DATABASES IN OUR APPS
  24. ADDING A DATABASE TO WHERE IT'S SNAP
  25. INTEGRATING GOOGLE MAPS AND GPS LOCATIONS
  26. UPGRADING SQLITE – ADDING LOCATIONS AND MAPS
  27. GOING LOCAL – HOLA!
  28. THREADS, TOUCHES, DRAWING, AND A SIMPLE GAME
  29. PUBLISHING APPS
  30. ASYNCHRONOUS PROGRAMMING IN ANDROID
  31. PERFORMING WORK WITH LOOPER, HANDLER, AND HANDLERTHREAD
  32. EXPLORING THE ASYNCTASK
  33. EXPLORING THE JOBSCHEDULER API
  34. INTERACTING WITH THE NETWORK
  35. NETWORK INTERACTIONS WITH GCM
  36. ASYNCHRONOUS PROGRAMING WITH RXJAVA
  37. SETTING UP THE PROJECT
  38. MANAGING USER INPUT
  39. INTO THE DRAW THREAD
  40. COLLISION DETECTION
  41. PARTICLE SYSTEMS
  42. MENUS AND DIALOGS
  43. TO THE BIG SCREEN