Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Thriving in Android Development Using Kotlin

You're reading from   Thriving in Android Development Using Kotlin A project-based guide to using the latest Android features for developing production-grade apps

Arrow left icon
Product type Paperback
Published in Jul 2024
Publisher Packt
ISBN-13 9781837631292
Length 410 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Gema Socorro Rodríguez Gema Socorro Rodríguez
Author Profile Icon Gema Socorro Rodríguez
Gema Socorro Rodríguez
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Part 1:Creating WhatsPackt, a Messaging App FREE CHAPTER
2. Chapter 1: Building the UI for Your Messaging App 3. Chapter 2: Setting Up WhatsPackt’s Messaging Abilities 4. Chapter 3: Backing Up Your WhatsPackt Messages 5. Part 2:Creating Packtagram, a Photo Media App
6. Chapter 4: Building the Packtagram UI 7. Chapter 5: Creating a Photo Editor Using CameraX 8. Chapter 6: Adding Video and Editing Functionality to Packtagram 9. Part 3:Creating Packtflix, a Video Media App
10. Chapter 7: Starting a Video Streaming App and Adding Authentication 11. Chapter 8: Adding Media Playback to Packtflix with ExoPlayer 12. Chapter 9: Extending Video Playback in Your Packtflix App 13. Index 14. Other Books You May Enjoy

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.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime