How to build android apps with Kotlin a hands-on guide to developing, testing, and publishing your first apps with android

This book will equip you to create high-quality, visually appealing Android 11 apps from scratch with Kotlin. You'll discover a wide range of real-world development challenges faced by developers and explore various techniques to overcome them.

Detalles Bibliográficos
Otros Autores: Forrester, Alex, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham ; Mumbai : Packt Publishing 2021.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631717406719
Tabla de Contenidos:
  • Cover
  • FM
  • Copyright
  • Table of Contents
  • Preface
  • Chapter 1: Creating Your First App
  • Introduction
  • Creating an Android Project with Android Studio
  • Exercise 1.01: Creating an Android Studio Project for Your App
  • Setting Up a Virtual Device and Running Your App
  • Exercise 1.02: Setting Up a Virtual Device and Running Your App on It
  • The Android Manifest
  • Exercise 1.03: Configuring the Android Manifest Internet Permission
  • Using Gradle to Build, Configure, and Manage App Dependencies
  • Project-Level build.gradle file
  • App-Level build.gradle
  • Exercise 1.04: Exploring how Material Design is used to theme an app
  • Android Application Structure
  • Exercise 1.05: Adding Interactive UI Elements to Display a Bespoke Greeting to the User
  • Accessing Views in layout files
  • Further Input Validation
  • Activity 1.01: Producing an App to Create RGB Colors
  • Summary
  • Chapter 2: Building User Screen Flows
  • Introduction
  • The Activity Lifecycle
  • Exercise 2.01: Logging the Activity Callbacks
  • Saving and Restoring the Activity State
  • Exercise 2.02: Saving and Restoring the State in Layouts
  • Exercise 2.03: Saving and Restoring the State with Callbacks
  • Activity Interaction with Intents
  • Exercise 2.04: An Introduction to Intents
  • Exercise 2.05: Retrieving a Result from an Activity
  • Intents, Tasks, and Launch Modes
  • Exercise 2.06: Setting the Launch Mode of an Activity
  • Activity 2.01: Creating a Login Form
  • Summary
  • Chapter 3: Developing the UI with Fragments
  • Introduction
  • The Fragment Lifecycle
  • onAttach
  • onCreate
  • onCreateView
  • onViewCreated
  • onActivityCreated
  • onStart
  • onResume
  • onPause
  • onStop
  • onDestroyView
  • onDestroy
  • onDetach
  • Exercise 3.01: Adding a Basic Fragment and the Fragment Lifecycle
  • Exercise 3.02: Adding Fragments Statically to an Activity.
  • Static Fragments and Dual-Pane Layouts
  • Exercise 3.03: Dual-Pane Layouts with Static Fragments
  • Dynamic Fragments
  • Exercise 3.04: Adding Fragments Dynamically to an Activity
  • Jetpack Navigation
  • Exercise 3.05: Adding a Jetpack Navigation Graph
  • Activity 3.01: Creating a Quiz on the Planets
  • Summary
  • Chapter 4: Building App Navigation
  • Introduction
  • Navigation Overview
  • Navigation Drawer
  • Exercise 4.01: Creating an App with a Navigation Drawer
  • Bottom Navigation
  • Exercise 4.02: Adding Bottom Navigation to Your App
  • Tabbed Navigation
  • Exercise 4.03: Using Tabs for App Navigation
  • Activity 4.01: Building Primary and Secondary App Navigation
  • Summary
  • Chapter 5: Essential Libraries: Retrofit, Moshi, and Glide
  • Introduction
  • Fetching Data from a Network Endpoint
  • Exercise 5.01: Reading Data from an API
  • Parsing a JSON Response
  • Exercise 5.02: Extracting the Image URL from the API Response
  • Loading Images from a Remote URL
  • Exercise 5.03: Loading the Image from the Obtained URL
  • Activity 5.01: Displaying the Current Weather
  • Summary
  • Chapter 6: RecyclerView
  • Introduction
  • Adding RecyclerView to Our Layout
  • Exercise 6.01: Adding an Empty RecyclerView to Your Main Activity
  • Populating the RecyclerView
  • Exercise 6.02: Populating Your RecyclerView
  • Responding to Clicks in RecyclerView
  • Exercise 6.03: Responding to Clicks
  • Supporting Different Item Types
  • Exercise 6.04: Adding Titles to RecyclerView
  • Swiping to Remove Items
  • Exercise 6.05: Adding Swipe to Delete Functionality
  • Adding Items Interactively
  • Exercise 6.06: Implementing an "Add A Cat" Button
  • Activity 6.01: Managing a List of Items
  • Summary
  • Chapter 7: Android Permissions and Google Maps
  • Introduction
  • Requesting Permissions from the User
  • Exercise 7.01: Requesting the Location Permission.
  • Showing a Map of the User's Location
  • Exercise 7.02: Obtaining the User's Current Location
  • Map Clicks and Custom Markers
  • Exercise 7.03: Adding a Custom Marker Where the Map Was Clicked
  • Activity 7.01: Creating an App to Find the Location of a Parked Car
  • Summary
  • Chapter 8: Services, WorkManager, and Notifications
  • Introduction
  • Starting a Background Task Using WorkManager
  • Exercise 8.01: Executing Background Work with the WorkManager Class
  • Background Operations Noticeable to the User - Using a Foreground Service
  • Exercise 8.02: Tracking Your SCA's Work with a Foreground Service
  • Activity 8.01: Reminder to Drink Water
  • Summary
  • Chapter 9: Unit Tests and Integration Tests with JUnit, Mockito, and Espresso
  • Introduction
  • JUnit
  • Android Studio Testing Tips
  • Mockito
  • mockito-kotlin
  • Exercise 9.01: Testing the Sum of Numbers
  • Integration Tests
  • Robolectric
  • Espresso
  • Exercise 9.02: Double Integration
  • UI Tests
  • Exercise 9.03: Random Waiting Times
  • Test-Driven Development
  • Exercise 9.04: Using TDD to Calculate the Sum of Numbers
  • Activity 9.01: Developing with TDD
  • Summary
  • Chapter 10: Android Architecture Components
  • Introduction
  • ViewModel and LiveData
  • ViewModel
  • LiveData
  • Exercise 10.01: Creating a Layout with Configuration Changes
  • Exercise 10.02: Adding a ViewModel
  • Exercise 10.03: Sharing our ViewModel between the Fragments
  • Exercise 10.04: Adding LiveData
  • Room
  • Entities
  • DAO
  • Setting Up the Database
  • Third-Party Frameworks
  • Exercise 10.05: Making a Little Room
  • Customizing Life Cycles
  • Exercise 10.06: Reinventing the Wheel
  • Activity 10.01: Shopping Notes App
  • Summary
  • Chapter 11: Persisting Data
  • Introduction
  • Repository
  • Exercise 11.01: Creating a Repository
  • Exercise 11.02: Adding Error Handling
  • Preferences
  • SharedPreferences.
  • Exercise 11.03: Wrapping SharedPreferences
  • PreferenceFragment
  • Exercise 11.04: Customized Settings
  • Files
  • Internal Storage
  • External Storage
  • FileProvider
  • Storage Access Framework (SAF)
  • Asset Files
  • Exercise 11.05: Copying Files
  • Scoped Storage
  • Camera and Media Storage
  • Exercise 11.06: Taking Photos
  • Activity 11.01: Dog Downloader
  • Summary
  • Chapter 12: Dependency Injection with Dagger and Koin
  • Introduction
  • Manual DI
  • Exercise 12.01: Manual Injection
  • Dagger
  • Consumers
  • Providers
  • Connectors
  • Qualifiers
  • Scopes
  • Subcomponents
  • Exercise 12.02: Dagger Injection
  • Dagger Android
  • Exercise 12.03: Changing Injectors
  • Koin
  • Exercise 12.04: Koin Injection
  • Activity 12.01: Injected Repositories
  • Activity 12.02: Koin-Injected Repositories
  • Summary
  • Chapter 13: RxJava and Coroutines
  • Introduction
  • RxJava
  • Observables, Observers, and Operators
  • Schedulers
  • Adding RxJava to Your Project
  • Using RxJava in an Android Project
  • Exercise 13.01: Using RxJava in an Android Project
  • Modifying Data with RxJava Operators
  • Exercise 13.02: Using RxJava Operators
  • Coroutines
  • Creating Coroutines
  • Adding Coroutines to Your Project
  • Exercise 13.03: Using Coroutines in an Android App
  • Transforming LiveData
  • Exercise 13.04: LiveData Transformations
  • Coroutines Channels and Flows
  • RxJava versus Coroutines
  • Activity 13.01: Creating a TV Guide App
  • Summary
  • Chapter 14: Architecture Patterns
  • Introduction
  • MVVM
  • Data Binding
  • Exercise 14.01: Using Data Binding in an Android Project
  • Retrofit and Moshi
  • The Repository Pattern
  • Exercise 14.02: Using Repository with Room in an Android Project
  • WorkManager
  • Exercise 14.03: Adding WorkManager to an Android Project
  • Activity 14.01: Revisiting the TV Guide App
  • Summary.
  • Chapter 15: Animations and Transitions with CoordinatorLayout and MotionLayout
  • Introduction
  • Activity Transitions
  • Adding Activity Transitions through XML
  • Adding Activity Transitions through Code
  • Starting an Activity with an Activity Transition
  • Exercise 15.01: Creating Activity Transitions in an App
  • Adding a Shared Element Transition
  • Starting an Activity with the Shared Element Transition
  • Exercise 15.02: Creating the Shared Element Transition
  • Animations with CoordinatorLayout
  • Animations with MotionLayout
  • Adding MotionLayout
  • Creating Animations with MotionLayout
  • Exercise 15.03: Adding Animations with MotionLayout
  • The Motion Editor
  • Debugging MotionLayout
  • Modifying the MotionLayout Path
  • Exercise 15.04: Modifying the Animation Path with Keyframes
  • Activity 15.01: Password Generator
  • Summary
  • Chapter 16: Launching Your App on Google Play
  • Introduction
  • Preparing Your Apps for Release
  • Versioning Apps
  • Creating a Keystore
  • Exercise 16.01: Creating a Keystore in Android Studio
  • Storing the Keystore and Passwords
  • Signing Your Apps for Release
  • Exercise 16.02: Creating a Signed APK
  • Android App Bundle
  • Exercise 16.03: Creating a Signed App Bundle
  • App Signing by Google Play
  • Creating a Developer Account
  • Uploading an App to Google Play
  • Creating a Store Listing
  • App Details
  • Graphic Assets
  • Preparing the Release
  • APK/App Bundle
  • Rolling Out a Release
  • Managing App Releases
  • Release Tracks
  • Feedback Channel and Opt-in Link
  • Internal Testing
  • Closed Testing
  • Open Testing
  • Staged Rollouts
  • Managed Publishing
  • Activity 16.01: Publishing an App
  • Summary
  • Index.