Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Thriving in Android Development Using Kotlin
  • Toc
  • feedback
Thriving in Android Development Using Kotlin

Thriving in Android Development Using Kotlin

By : Gema Socorro Rodríguez
4.5 (6)
close
Thriving in Android Development Using Kotlin

Thriving in Android Development Using Kotlin

4.5 (6)
By: Gema Socorro Rodríguez

Overview of this book

With resources on Android and Kotlin abound, it’s difficult to find content that focuses on resolving common challenges faced by app developers. This book by Gema Socorro Rodríguez – a Google Developer Expert for Android with over 15 years of experience and a proven track record as an effective instructor – is designed to bridge the gap between theory and real-world application. It equips you with the skills to tackle everyday problems in Android development through hands-on projects. Under Gema's expert guidance, you’ll build three sophisticated Android projects. You'll start your development journey by building a WhatsApp-like application, learning how to process asynchronous messages reactively, render them using Jetpack Compose, and advance to creating and uploading a backup of these messages. Next, you’ll channel your creativity into Packtagram, an Instagram-inspired app that offers advanced photo-editing capabilities using the latest CameraX libraries. Your final project will be a Netflix-style app, integrating video playback functionality with ExoPlayer for both foreground and background operations, and implementing device casting features. By the end of this book, you'll have crafted three fully functional, multi-platform projects and gained the confidence to solve the most common challenges in Android development.
Table of Contents (15 chapters)
close
Free Chapter
1
Part 1:Creating WhatsPackt, a Messaging App
5
Part 2:Creating Packtagram, a Photo Media App
9
Part 3:Creating Packtflix, a Video Media App

What this book covers

In Chapter 1, Building the UI for Your Messaging App, you will begin by building the WhatsPackt messaging app, focusing on making critical technical decisions and creating the necessary structure for development. This chapter will guide you through defining the app’s structure and navigation, setting up and organizing modules, and selecting a dependency injection framework. You will also gain hands-on experience with Jetpack Navigation and Jetpack Compose to build the main screen, chats list, and messages list, resulting in a solid foundation for the app’s user interface.

In Chapter 2, Setting Up WhatsPackt’s Messaging Abilities, you will explore how to connect the WhatsPackt messaging app to a backend server using WebSockets, enabling real-time, one-to-one conversations. This chapter covers establishing WebSocket connections, handling messages within ViewModels, and implementing best practices to update the user interface and manage message storage. Additionally, you will learn to manage synchronization and error handling and implement push notifications to alert users of new messages. By the end of this chapter, you will have a comprehensive understanding of the essential technologies needed to create a robust messaging system.

In Chapter 3, Backing Up Your WhatsPackt Messages, you will focus on data handling and persistence in the WhatsPackt messaging app, ensuring messages are stored correctly and can be quickly retrieved, even in the event of device failures or accidental deletions. This chapter introduces Room, a persistence library that simplifies database management in Android, and guides you through its architecture and implementation. You will also learn to create effective caching mechanisms, set up and secure Cloud Storage for Firebase for backups, and use WorkManager to schedule asynchronous tasks, ensuring the safety and reliability of your chat data. By the end of this chapter, you’ll have a robust data persistence strategy for your messaging app.

In Chapter 4, Building the Packtagram UI, you will begin creating Packtagram, an Instagram-like social networking app, starting with setting up a robust project structure and defining the file hierarchy and modules. This chapter covers the essential aspects of project organization and choosing the right architecture pattern for scalability. You will then develop user-friendly interfaces for the news feed and stories, ensuring seamless navigation and interaction. Additionally, you will learn to retrieve data from servers, using Retrofit and Moshi, and implement effective data caching strategies to improve performance and user experience by reducing network calls.

In Chapter 5, Creating a Photo Editor Using CameraX, you will enhance the Packtagram app by integrating CameraX, a powerful tool for seamless photo capturing and editing. This chapter will guide you through implementing CameraX to transform the photography experience, allowing users to tweak and personalize their shots with intuitive editing tools. Additionally, you will explore using machine learning to recognize photo themes and suggest relevant hashtags, adding an intelligent layer to the app’s functionality.

In Chapter 6, Adding Video and Editing Functionality to Packtagram, you will elevate the Packtagram app functionality by integrating video capabilities, transforming it into a comprehensive multimedia platform. This chapter covers capturing high-quality videos using the CameraX library and enhancing them with FFmpeg to process tasks, such as adding captions and filters. You will also learn to efficiently upload videos to Cloud Storage for Firebase, ensuring the smooth handling of large files and an improved user experience. By the end of this chapter, you will have significantly enriched Packtagram, making it a versatile platform for both photo and video sharing.

In Chapter 7, Starting a Video Streaming App and Adding Authentication, you will begin creating Packtflix, a video streaming app, focusing on multimedia content delivery and user authentication. This chapter starts with setting up the project structure and modules from scratch. You’ll implement robust user authentication using OAuth2 to ensure secure access to accounts and personal preferences. Following authentication, you’ll use Jetpack Compose to build dynamic and responsive lists to showcase movies and create detailed screens for each movie or series, providing users with all the necessary information. By the end of this chapter, you’ll have a solid foundation for your streaming app.

In Chapter 8, Adding Media Playback to Packtflix with ExoPlayer, you will enhance the Packtflix app by integrating robust video playback capabilities using ExoPlayer, a versatile library offering extensive customization and support for various media formats. This chapter begins with an overview of media options in Android, highlighting ExoPlayer’s advantages. You will learn the basics of ExoPlayer, including its architecture and key components, and how to integrate it into your app. Following this, you will create a responsive video playback UI, manage playback controls, and adjust video quality. Additionally, you will add subtitles to ensure accessibility, enriching the user experience with high-quality video content.

In Chapter 9, Extending Video Playback in Your Packtflix App, you will expand the capabilities of the Packtflix app with extended video playback features, focusing on Picture-in-Picture (PiP) mode and media casting. This chapter will guide you through creating a miniature video player that overlays other apps, allowing users to continue watching while multitasking. Additionally, you will learn to use MediaRouter and the Cast SDK to transfer video playback to larger screens, such as TVs with Google Chromecast. By the end of this chapter, you’ll have a solid understanding of PiP functionalities and media casting, significantly improving the user experience of your Android app.

bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete