New eBooks


Recent Posts
- A Jetpack Compose In-App Purchasing TutorialIn the previous chapter, we explored how to integrate in-app purchasing into an Android project and also looked at some code samples that can be used when working on your own projects. This chapter will put this theory into practice by creating an example project that demonstrates how to add a consumable in-app product to … Continue reading “A Jetpack Compose In-App Purchasing Tutorial”
- A Kotlin Android In-App Purchasing TutorialIn the previous chapter, we explored how to integrate in-app purchasing into an Android project and also looked at some code samples that can be used when working on your own projects. This chapter will put this theory into practice by creating an example project that demonstrates how to add a consumable in-app product to … Continue reading “A Kotlin Android In-App Purchasing Tutorial”
- How to Add Android In-App Billing using KotlinIn the early days of mobile applications for operating systems such as Android and iOS, the most common method for earning revenue was to charge an upfront fee to download and install the application. Another revenue opportunity was soon introduced in the form of embedding advertising within applications. Perhaps the most common and lucrative option … Continue reading “How to Add Android In-App Billing using Kotlin”
- Test PageThis is some text dgh fg hfd gh dfgh dfgh dfgh dfgh df gh df gh dfg h dfgh df gh dfg h dfgh dfgh dfg h dfgh d fgh df gh dfg h dfgh df gh dfgh dfgh df gh dfgh dfgh dfgh df gh dfgh dfgh dfgh df gh dfgh dfgh fd gh … Continue reading “Test Page”
- Coroutines and LaunchedEffects in Jetpack ComposeWhen an Android application is first started, the runtime system creates a single thread in which all application components will run by default. This thread is generally referred to as the main thread. The primary role of the main thread is to handle the user interface in terms of event handling and interaction with views … Continue reading “Coroutines and LaunchedEffects in Jetpack Compose”
- A Jetpack Compose SharedFlow TutorialThe previous chapter introduced Kotlin flows and explored how these can be used to return multiple sequential values from within coroutine-based asynchronous code. In this tutorial, we will look at a more detailed flow implementation, this time using SharedFlow. The tutorial will also demonstrate how to ensure that flow collection responds correctly to an app … Continue reading “A Jetpack Compose SharedFlow Tutorial”
- Kotlin Flow with Jetpack ComposeThe earlier chapter titled “Coroutines and Side Effects in Jetpack Compose” taught us about Kotlin Coroutines and explained how they can be used to perform multiple tasks concurrently without blocking the main thread. A shortcoming of suspend functions is that they are typically only useful for performing tasks that either do not return a result … Continue reading “Kotlin Flow with Jetpack Compose”
- A Java Android In-App Purchasing TutorialIn the previous chapter, we explored how to integrate in-app purchasing into an Android project and also looked at some code samples that can be used when working on your own projects. This chapter will put this theory into practice by creating an example project that demonstrates how to add a consumable in-app product to … Continue reading “A Java Android In-App Purchasing Tutorial”
- An Overview of Android In-App Billing in JavaIn the early days of mobile applications for operating systems such as Android and iOS, the most common method for earning revenue was to charge an upfront fee to download and install the application. Another revenue opportunity was soon introduced in the form of embedding advertising within applications. Perhaps the most common and lucrative option … Continue reading “An Overview of Android In-App Billing in Java”
- Migrating from Material Design 2 to Material Design 3This chapter will demonstrate how to migrate an Android Studio project from Material Design 2 to Material Design 3 and integrate a custom theme generated using the Material Theme Builder tool. Creating the ThemeMigration Project Select the New Project option from the welcome screen and, within the resulting new project dialog, choose the Empty Activity … Continue reading “Migrating from Material Design 2 to Material Design 3”
- An Android Material Design 3 Theming and Dynamic Color TutorialThis chapter will show you how to create a new Material Design 3 theme using the Material Theme Builder tool and integrate it into an Android Studio project. The tutorial will also demonstrate how to add support for and test dynamic theme colors to an app. Creating the ThemeDemo Project Select the New Project option … Continue reading “An Android Material Design 3 Theming and Dynamic Color Tutorial”
- Working with Material Design 3 Theming in AndroidThe appearance of an Android app is intended to conform to a set of guidelines defined by Material Design. Material Design was developed by Google to provide a level of design consistency between different apps, while also allowing app developers to include their own branding in terms of color, typography, and shape choices (a concept … Continue reading “Working with Material Design 3 Theming in Android”
- An Android SharedFlow TutorialThe previous chapter introduced Kotlin flows and explored how these can be used to return multiple sequential values from within coroutine-based asynchronous code. In this tutorial, we will look at a more detailed flow implementation, this time using SharedFlow within a ViewModel. The tutorial will also demonstrate how to ensure that flow collection responds correctly … Continue reading “An Android SharedFlow Tutorial”
- Kotlin Flow Code ExamplesThe earlier chapter titled “An Introduction to Kotlin Coroutines” taught us about Kotlin Coroutines and explained how they can be used to perform multiple tasks concurrently without blocking the main thread. As we have seen, coroutine suspend functions are ideal for performing tasks that return a single result value. In this chapter, we will introduce … Continue reading “Kotlin Flow Code Examples”
- An Android Kotlin Coroutines TutorialThe previous chapter introduced the key concepts of performing asynchronous tasks within Android apps using Kotlin coroutines. This chapter will build on this knowledge to create an example app that launches thousands of coroutines at the touch of a button. Creating the Coroutine Example Application Select the New Project option from the welcome screen and, … Continue reading “An Android Kotlin Coroutines Tutorial”
- An Introduction to Kotlin CoroutinesThe previous chapter introduced the concepts of threading on Android and explained how the user interface of an app runs on the main thread. To avoid degrading or interrupting user interface responsiveness, it is important that time-consuming tasks not block the execution of the main thread. One option, as outlined in the previous chapter, is … Continue reading “An Introduction to Kotlin Coroutines”
- Creating, Testing, and Uploading an Android App BundleOnce the development work on an Android application is complete and it has been tested on a wide range of Android devices, the next step is to prepare the application for submission to Google Play. Before submission can take place, however, the application must be packaged for release and signed with a private key. This … Continue reading “Creating, Testing, and Uploading an Android App Bundle”
- A Material Design 3 Theming TutorialThis chapter will demonstrate how to migrate an Android Studio project from Material Design 2 to Material Design 3 and create a new theme using the Material Theme Builder tool. The tutorial will also demonstrate how to add support for and test dynamic theme colors. Creating the ThemeDemo project Launch Android Studio and create a … Continue reading “A Material Design 3 Theming Tutorial”
- Custom Jetpack Compose ThemesThe appearance of Android apps is intended to conform with a set of guidelines defined by Material Design. Material Design was developed by Google to provide a level of design consistency between different apps, while also allowing app developers to include their own branding in terms of color, typography, and shape choices (a concept referred … Continue reading “Custom Jetpack Compose Themes”
- Detecting Swipe Gestures in Jetpack ComposeThe preceding chapter demonstrated how to detect some common types of gestures including dragging, tapping, pinching, and scrolling. Detecting swipe gestures is a little more complicated than other gesture types which is why we are dedicating an entire chapter to the subject. This chapter will explain exactly what swipe gestures are and demonstrate how they … Continue reading “Detecting Swipe Gestures in Jetpack Compose”