This chapter has demonstrated the use of the Room persistence library to store data in a SQLite database. The finished project made use of a repository to separate the ViewModel from all database operations and demonstrated the creation of entities, a DAO and a room database instance, including the use of asynchronous tasks when performing some database operations.
Android Studio 4.2 Development Essentials - Kotlin Edition
By :
Android Studio 4.2 Development Essentials - Kotlin Edition
By:
Overview of this book
Android Studio is an Integrated Development Environment that is based on the JetBrains IntelliJ IDEA. It provides developers with a unique platform to design and develop Android apps using various developer tools. The new Android Studio 4.2 has an upgraded IntelliJ platform and a variety of new features designed to improve the productivity of Android app developers. Fully updated for Android Studio 4.2, the objective of this book is to help you master the skills necessary to develop Android applications using Kotlin as the programming language.
This book begins by outlining the steps necessary to set up an Android development and testing environment and introduces programming in Kotlin, addressing data types, flow control, functions, lambdas, and object-oriented programming. It includes an overview of Android Studio, covering areas such as tool windows, the code editor, and the Layout Editor tool. An introduction to Android architecture is followed by an in-depth explanation of the design of Android applications and user interfaces using the Android Studio environment.
Early chapters detail Android Architecture components like view models, lifecycle management, Room database access, the Database Inspector, app navigation, live data, and data binding. Advanced topics such as intents are also covered, as are touch screen handling, gesture recognition, and the recording and playback of audio. You will also explore printing, transitions, cloud-based file storage, and foldable device support.
Detailed descriptions of material design concepts are provided, including the use of floating action buttons, Snackbars, tabbed interfaces, card views, navigation drawers, and collapsing toolbars. Some key features of Android Studio 4.2 and Android discussed in-depth include the Layout Editor, the ConstraintLayout and ConstraintSet classes, MotionLayout Editor, view binding, constraint chains, barriers, and direct reply notifications. Later chapters cover advanced features of Android Studio such as App links, Dynamic Delivery, the Android Studio Profiler, Gradle build configuration, and submitting apps to the Google Play Developer Console.
Table of Contents (94 chapters)
1. Introduction
Free Chapter
2. Setting up an Android Studio Development Environment
3. Creating an Example Android App in Android Studio
4. Creating an Android Virtual Device (AVD) in Android Studio
5. Using and Configuring the Android Studio AVD Emulator
6. A Tour of the Android Studio User Interface
7. Testing Android Studio Apps on a Physical Android Device
8. The Basics of the Android Studio Code Editor
9. An Overview of the Android Architecture
10. The Anatomy of an Android Application
11. An Introduction to Kotlin
12. Kotlin Data Types,Variables and Nullability
13. Kotlin Operators and Expressions
14. Kotlin Flow Control
15. An Overview of Kotlin Functions and Lambdas
16. The Basics of Object Oriented Programming in Kotlin
17. An Introduction to Kotlin Inheritance and Subclassing
18. An Overview of Android View Binding
19. Understanding Android Application and Activity Lifecycles
20. Handling Android Activity State Changes
21. Android Activity State Changes by Example
22. Saving and Restoring the State of an Android Activity
23. Understanding Android Views, View Groups and Layouts
24. A Guide to the Android Studio Layout Editor Tool
25. A Guide to the Android ConstraintLayout
26. A Guide to Using ConstraintLayout in Android Studio
27. Working with ConstraintLayout Chains and Ratios in Android Studio
28. An Android Studio Layout Editor ConstraintLayout Tutorial
29. Manual XML Layout Design in Android Studio
30. Managing Constraints using Constraint Sets
31. An Android ConstraintSet Tutorial
32. A Guide to using Apply Changes in Android Studio
33. An Overview and Example of Android Event Handling
34. Android Touch and Multi-touch Event Handling
35. Detecting Common Gestures Using the Android Gesture Detector Class
36. Implementing Custom Gesture and Pinch Recognition on Android
37. An Introduction to Android Fragments
38. Using Fragments in Android Studio - An Example
39. Modern Android App Architecture with Jetpack
40. An Android Jetpack ViewModel Tutorial
41. An Android Jetpack LiveData Tutorial
42. An Overview of Android Jetpack Data Binding
43. An Android Jetpack Data Binding Tutorial
44. An Android ViewModel Saved State Tutorial
45. Working with Android Lifecycle-Aware Components
46. An Android Jetpack Lifecycle Awareness Tutorial
47. An Overview of the Navigation Architecture Component
48. An Android Jetpack Navigation Component Tutorial
49. An Introduction to MotionLayout
50. An Android MotionLayout Editor Tutorial
51. A MotionLayout KeyCycle Tutorial
52. Working with the Floating Action Button and Snackbar
53. Creating a Tabbed Interface using the TabLayout Component
54. Working with the RecyclerView and CardView Widgets
55. An Android RecyclerView and CardView Tutorial
56. A Layout Editor Sample Data Tutorial
57. Working with the AppBar and Collapsing Toolbar Layouts
58. An Android Studio Primary/Detail Flow Tutorial
59. An Overview of Android Intents
60. Android Explicit Intents – A Worked Example
61. Android Implicit Intents – A Worked Example
62. Android Broadcast Intents and Broadcast Receivers
63. An Introduction to Kotlin Coroutines
64. An Android Kotlin Coroutines Tutorial
65. An Overview of Android Services
66. Implementing an Android Started Service – A Worked Example
67. Android Local Bound Services – A Worked Example
68. Android Remote Bound Services – A Worked Example
69. An Android Notifications Tutorial
70. An Android Direct Reply Notification Tutorial
71. Foldable Devices and Multi-Window Support
72. An Overview of Android SQLite Databases
73. The Android Room Persistence Library
74. An Android TableLayout and TableRow Tutorial
75. An Android Room Database and Repository Tutorial
76. Accessing Cloud Storage using the Android Storage Access Framework
77. An Android Storage Access Framework Example
78. Video Playback on Android using the VideoView and MediaController Classes
79. Android Picture-in-Picture Mode
80. An Android Picture-in-Picture Tutorial
81. Making Runtime Permission Requests in Android
82. Android Audio Recording and Playback using MediaPlayer and MediaRecorder
83. Printing with the Android Printing Framework
84. An Android HTML and Web Content Printing Example
85. A Guide to Android Custom Document Printing
86. An Introduction to Android App Links
87. An Android Studio App Links Tutorial
88. A Guide to the Android Studio Profiler
89. An Android Biometric Authentication Tutorial
90. Creating, Testing and Uploading an Android App Bundle
91. An Overview of Android Dynamic Feature Modules
92. An Android Studio Dynamic Feature Tutorial
93. An Overview of Gradle in Android Studio
Index
Customer Reviews