- 32 Sections
- 203 Lessons
- 32 Hours
Expand all sectionsCollapse all sections
- PERSIAPAN2
- 1. YOUR FIRST ANDROID APPLICATION11
- 2.11.1. App Basics
- 2.21.2. Creating an Android Project
- 2.31.3. Navigating in Android Studio
- 2.41.4. Laying Out the UI
- 2.51.5. From Layout XML to View Objects
- 2.61.6. Wiring Up Views
- 2.71.7. Making Toasts
- 2.81.8. Running on the Emulator
- 2.91.9. For the More Curious: The Android Build Process
- 2.101.10. Challenges
- 2.111.11. Challenge: Switching Your Toast for a Snackbar
- 2. INTERACTIVE USER INTERFACES8
- 3. THE ACTIVITY LIFECYCLE10
- 4.13.1. Rotating GeoQuiz
- 4.23.2. Activity States and Lifecycle Callbacks
- 4.33.3. Logging the Activity Lifecycle
- 4.43.4. Exploring How the Activity Lifecycle Responds to User Actions
- 4.53.5. Device Configuration Changes and the Activity Lifecycle
- 4.63.6. For the More Curious: Creating a Landscape Layout
- 4.73.7. For the More Curious: UI Updates and Multi-Window Mode
- 4.83.8. For the More Curious: Log Levels
- 4.93.9. Challenge: Preventing Repeat Answers
- 4.103.10. Challenge: Graded Quiz
- 4. PERSISTING UI STATE7
- 5.14.1. Including the ViewModel Dependency
- 5.24.2. Adding a ViewModel
- 5.34.3. Saving Data Across Process Death
- 5.44.4. For the More Curious: Jetpack, AndroidX, and Architecture
- 5.54.5. Components
- 5.64.6. For the More Curious: Avoiding a Half-Baked Solution
- 5.74.7. For the More Curious: Activity and Instance State
- 5. DEBUGGING ANDROID APPS5
- 6. TESTING4
- 7. YOUR SECOND ACTIVITY8
- 8.17.1. Setting Up a Second Activity
- 8.27.2. Starting an Activity
- 8.37.3. Passing Data Between Activities
- 8.47.4. How Android Sees Your Activities
- 8.57.5. For the More Curious: startActivityForResult
- 8.67.6. For the More Curious: The Back Button and the Activity Lifecycle
- 8.77.7. Challenge: Closing Loopholes for Cheaters
- 8.87.8. Challenge: Tracking Cheat Status by Question
- 8. ANDROID SDK VERSIONS AND COMPATIBILITY5
- 9. FRAGMENTS7
- 10. DISPLAYING LISTS WITH RECYCLERVIEW12
- 11.110.1. Adding a New Fragment and ViewModel
- 11.210.2. Adding a RecyclerView
- 11.310.3. Implementing a LayoutManager
- 11.410.4. Creating an Item View Layout
- 11.510.5. Implementing a ViewHolder
- 11.610.6. Implementing an Adapter to Populate the RecyclerView
- 11.710.7. Recycling Views
- 11.810.8. Cleaning Up Binding List Items
- 11.910.9. Responding to Presses
- 11.1010.10. Lists and Grids: Past, Present, and Future
- 11.1110.11. For the More Curious: A Smarter Adapter with ListAdapter
- 11.1210.12. Challenge: RecyclerView View Types
- 11. CREATING USER INTERFACES WITH LAYOUTS AND VIEWS7
- 12.111.1. Introducing ConstraintLayout
- 12.211.2. Introducing the Layout Editor
- 12.311.3. Using ConstraintLayout
- 12.411.4. Styles, Themes, and Theme Attributes
- 12.511.5. For the More Curious: Margins vs Padding
- 12.611.6. For the More Curious: Advanced Features in ConstraintLayout
- 12.711.7. Challenge: Formatting the Date
- 12. COROUTINES AND DATABASES8
- 13.112.1. An Introduction to Asynchronous Code on Android
- 13.212.2. Creating a Database
- 13.312.3. Accessing the Database Using the Repository Pattern
- 13.412.4. Importing Prepopulated Data
- 13.512.5. Querying the Database
- 13.612.6. Keeping the Changes Flowing
- 13.712.7. Challenge: Addressing the Schema Warning
- 13.812.8. For the More Curious: Singletons
- 13. FRAGMENT NAVIGATION5
- 14. DIALOGS AND DIALOGFRAGMENT3
- 15. THE APP BAR6
- 16. IMPLICIT INTENTS5
- 17. TAKING PICTURES WITH INTENTS6
- 18. LOCALIZATION5
- 19. ACCESSIBILITY8
- 20.119.1. TalkBack
- 20.219.2. Making Non-Text Elements Readable by TalkBack
- 20.319.3. Creating a Comparable Experience
- 20.419.4. For the More Curious: Using TalkBack with an Emulator
- 20.519.5. For the More Curious: Using Accessibility Scanner
- 20.619.6. Challenge: Improving the List
- 20.719.7. Challenge: Providing Enough Context for Data Entry
- 20.819.8. Challenge: Announcing Events
- 20. MAKING NETWORK REQUESTS AND DISPLAYING IMAGES7
- 21. SEARCHVIEW AND DATASTORE5
- 22. WORKMANAGER5
- 23. BROWSING THE WEB AND WEBVIEW7
- 24.123.1. One Last Bit of Flickr Data
- 24.223.2. The Easy Way: Implicit Intents
- 24.323.3. The Harder Way: WebView
- 24.423.4. WebView vs a Custom UI
- 24.523.5. For the More Curious: WebView Updates
- 24.623.6. For the More Curious: Chrome Custom Tabs (Another Easy Way)
- 24.723.7. Challenge: Using the Back Button for Browser History
- 24. CUSTOM VIEWS AND TOUCH EVENTS8
- 25.124.1. Setting Up the DragAndDraw Project
- 25.224.2. Creating a Custom View
- 25.324.3. Handling Touch Events
- 25.424.4. Rendering Inside onDraw(Canvas)
- 25.524.5. For the More Curious: Detecting Gestures
- 25.624.6. Challenge: Saving State
- 25.724.7. Challenge: Rotating Boxes
- 25.824.8. Challenge: Accessibility Support
- 25. PROPERTY ANIMATION5
- 26. INTRODUCTION TO JETPACK COMPOSE10
- 27.126.1. Creating a Compose Project
- 27.226.2. Composing Your First UI
- 27.326.3. Layouts in Compose
- 27.426.4. Composable Functions
- 27.526.5. Previewing Composables
- 27.626.6. Customizing Composables
- 27.726.7. The Compose Modifier
- 27.826.8. Building Screens with Composables
- 27.926.9. Scrollable Lists with LazyColumn
- 27.1026.10. For the More Curious: Live Literals
- 27. UI STATE IN JETPACK COMPOSE10
- 28.127.1. Philosophies of State
- 28.227.2. Defining Your UI State
- 28.327.3. Updating UIs with MutableState
- 28.427.4. Recomposition
- 28.527.5. Remember
- 28.627.6. State Hoisting
- 28.727.7. State and Configuration Changes
- 28.827.8. For the More Curious: Coroutines, Flow, and Compose
- 28.927.9. For the More Curious: Scrolling State
- 28.1027.10. For the More Curious: Inspecting Compose Layouts
- 28. SHOWING DIALOGS WITH JETPACK COMPOSE5
- 29. THEMING COMPOSE UIS8
- 30. AFTERWORD1
- PENUTUPAN2
Download Bundle Materi
Next