Praktik pengembangan software berbasis android menggunakan bahasa pemrograman kotlin. Dilengkapi dengan pembahasan studi kasus terkait pembuatan user interfacces yang interaktif, debugging software, pembuatan fragment, penggunaan repository pattern untuk mengkoneksikan dengan database dan perilisan software di Google Play Store.
CONTENT
1. Your First Android Application
1.1. App Basics
1.2. Creating an Android Project
1.3. Navigating in Android Studio
1.4. Laying Out the UI
1.5. From Layout XML to View Objects
1.6. Wiring Up Views
1.7. Making Toasts
1.8. Running on the Emulator
1.9. For the More Curious: The Android Build Process
1.10. Challenges
1.11. Challenge: Switching Your Toast for a Snackbar
2. Interactive User Interfaces
2.1. Creating a New Class
2.2. Updating the Layout
2.3. Wiring Up the User Interface
2.4. Adding an Icon
2.5. Screen Pixel Densities
2.6. Running on a Device
2.7. Challenge: Add a Listener to the TextView
2.8. Challenge: Add a Previous Button
3. The Activity Lifecycle
3.1. Rotating GeoQuiz
3.2. Activity States and Lifecycle Callbacks
3.3. Logging the Activity Lifecycle
3.4. Exploring How the Activity Lifecycle Responds to User Actions
3.5. Device Configuration Changes and the Activity Lifecycle
3.6. For the More Curious: Creating a Landscape Layout
3.7. For the More Curious: UI Updates and Multi-Window Mode
3.8. For the More Curious: Log Levels
3.9. Challenge: Preventing Repeat Answers
3.10. Challenge: Graded Quiz
4. Persisting UI State
4.1. Including the ViewModel Dependency
4.2. Adding a ViewModel
4.3. Saving Data Across Process Death
4.4. For the More Curious: Jetpack, AndroidX, and Architecture
4.5. Components
4.6. For the More Curious: Avoiding a Half-Baked Solution
4.7. For the More Curious: Activity and Instance State
5. Debugging Android Apps
5.1. Exceptions and Stack Traces
5.2. Android-Specific Debugging
5.3. Challenge: Using Conditional Breakpoints
5.4. Challenge: Exploring the Layout Inspector
5.5. Challenge: Exploring the Profiler
6. Testing
6.1. Two Types of Tests
6.2. JVM Tests
6.3. Instrumented Tests with Espresso and ActivityScenario
6.4. Challenge: Asserting Yourself
7. Your Second Activity
7.1. Setting Up a Second Activity
7.2. Starting an Activity
7.3. Passing Data Between Activities
7.4. How Android Sees Your Activities
7.5. For the More Curious: startActivityForResult
7.6. For the More Curious: The Back Button and the Activity Lifecycle
7.7. Challenge: Closing Loopholes for Cheaters
7.8. Challenge: Tracking Cheat Status by Question
8. Android SDK Versions and Compatibility
8.1. Android SDK Versions
8.2. Compatibility and Android Programming
8.3. Using the Android Developer Documentation
8.4. Challenge: Reporting the Device’s Android Version
8.5. Challenge: Limited Cheats
9. Fragments
9.1. The Need for UI Flexibility
9.2. Introducing Fragments
9.3. Starting CriminalIntent
9.4. Creating a Data Class
9.5. Creating a Fragment
9.6. Hosting a Fragment
9.7. Challenge: Testing with FragmentScenario
10. Displaying Lists with RecyclerView
10.1. Adding a New Fragment and ViewModel
10.2. Adding a RecyclerView
10.3. Implementing a LayoutManager
10.4. Creating an Item View Layout
10.5. Implementing a ViewHolder
10.6. Implementing an Adapter to Populate the RecyclerView
10.7. Recycling Views
10.8. Cleaning Up Binding List Items
10.9. Responding to Presses
10.10. Lists and Grids: Past, Present, and Future
10.11. For the More Curious: A Smarter Adapter with ListAdapter
10.12. Challenge: RecyclerView View Types
11. Creating User Interfaces with Layouts and Views
11.1. Introducing ConstraintLayout
11.2. Introducing the Layout Editor
11.3. Using ConstraintLayout
11.4. Styles, Themes, and Theme Attributes
11.5. For the More Curious: Margins vs Padding
11.6. For the More Curious: Advanced Features in ConstraintLayout
11.7. Challenge: Formatting the Date
12. Coroutines and Databases
12.1. An Introduction to Asynchronous Code on Android
12.2. Creating a Database
12.3. Accessing the Database Using the Repository Pattern
12.4. Importing Prepopulated Data
12.5. Querying the Database
12.6. Keeping the Changes Flowing
12.7. Challenge: Addressing the Schema Warning
12.8. For the More Curious: Singletons
13. Fragment Navigation
13.1. Performing Navigation
13.2. Unidirectional Data Flow
13.3. Updating the Database
13.4. For the More Curious: A Better List Preview
13.5. Challenge: No Untitled Crimes
14. Dialogs and DialogFragment
14.1. Creating a DialogFragment
14.2. Passing Data Between Two Fragments
14.3. Challenge: More Dialogs
15. The App Bar
15.1. The Default App Bar
15.2. Menus
15.3. For the More Curious: App Bar vs Action Bar vs Toolbar
15.4. For the More Curious: Accessing the AppCompat App Bar
15.5. Challenge: An Empty View for the RecyclerView
15.6. Challenge: Deleting Crimes
16. Implicit Intents
16.1. Adding Buttons
16.2. Adding a Suspect Property
16.3. Using a Format String
16.4. Using Implicit Intents
16.5. Challenge: Another Implicit Intent
17. Taking Pictures with Intents
17.1. A Place for Your Photo
17.2. File Storage
17.3. Using a Camera Intent
17.4. Scaling and Displaying Bitmaps
17.5. Declaring Features
17.6. Challenge: Detail Display
18. Localization
18.1. Localizing Resources
18.2. Configuration Qualifiers
18.3. Testing Alternative Resources
18.4. For the More Curious: More on Determining Device Size
18.5. Challenge: Localizing Dates
19. Accessibility
19.1. TalkBack
19.2. Making Non-Text Elements Readable by TalkBack
19.3. Creating a Comparable Experience
19.4. For the More Curious: Using TalkBack with an Emulator
19.5. For the More Curious: Using Accessibility Scanner
19.6. Challenge: Improving the List
19.7. Challenge: Providing Enough Context for Data Entry
19.8. Challenge: Announcing Events
20. Making Network Requests and Displaying Images
20.1. Creating PhotoGallery
20.2. Networking Basics with Retrofit
20.3. Fetching JSON from Flickr
20.4. Networking Across Configuration Changes
20.5. Displaying Results in RecyclerView
20.6. For the More Curious: Managing Dependencies
20.7. Challenge: Paging
21. SearchView and DataStore
21.1. Searching Flickr
21.2. Using SearchView
21.3. Simple Persistence with DataStore
21.4. Defining UI State
21.5. Challenge: Polishing Your App Some More
22. WorkManager
22.1. Creating a Worker
22.2. Scheduling Work
22.3. Checking for New Photos
22.4. Notifying the User
22.5. Providing User Control over Polling
23. Browsing the Web and WebView
23.1. One Last Bit of Flickr Data
23.2. The Easy Way: Implicit Intents
23.3. The Harder Way: WebView
23.4. WebView vs a Custom UI
23.5. For the More Curious: WebView Updates
23.6. For the More Curious: Chrome Custom Tabs (Another Easy Way)
23.7. Challenge: Using the Back Button for Browser History
24. Custom Views and Touch Events
24.1. Setting Up the DragAndDraw Project
24.2. Creating a Custom View
24.3. Handling Touch Events
24.4. Rendering Inside onDraw(Canvas)
24.5. For the More Curious: Detecting Gestures
24.6. Challenge: Saving State
24.7. Challenge: Rotating Boxes
24.8. Challenge: Accessibility Support
25. Property Animation
25.1. Building the Scene
25.2. Simple Property Animation
25.3. Playing Animators Together
25.4. For the More Curious: Other Animation APIs
25.5. Challenges
26. Introduction to Jetpack Compose
26.1. Creating a Compose Project
26.2. Composing Your First UI
26.3. Layouts in Compose
26.4. Composable Functions
26.5. Previewing Composables
26.6. Customizing Composables
26.7. The Compose Modifier
26.8. Building Screens with Composables
26.9. Scrollable Lists with LazyColumn
26.10. For the More Curious: Live Literals
27. UI State in Jetpack Compose
27.1. Philosophies of State
27.2. Defining Your UI State
27.3. Updating UIs with MutableState
27.4. Recomposition
27.5. Remember
27.6. State Hoisting
27.7. State and Configuration Changes
27.8. For the More Curious: Coroutines, Flow, and Compose
27.9. For the More Curious: Scrolling State
27.10. For the More Curious: Inspecting Compose Layouts
28. Showing Dialogs with Jetpack Compose
28.1. Your First Dialog in Compose
28.2. Dismissing the Dialog
28.3. Setting the Dialog’s Content
28.4. Sending Results from a Dialog
28.5. Challenge: Pizza Sizes and Drop-Down Menus
29. Theming Compose UIs
29.1. Images
29.2. MaterialTheme
29.3. Scaffold and TopAppBar
29.4. CompositionLocal
29.5. Removing AppCompat
29.6. For the More Curious: Accompanist
29.7. For the More Curious: Creating Your Own CompositionLocals
29.8. Challenge: Animations
30. Afterword
30.1. The Final Challenge
Course Features
- Lectures 0
- Quizzes 0
- Duration 4 days
- Skill level All levels
- Language English
- Students 0
- Certificate No
- Assessments Yes