Simple app to demonstrate internet access.
The app lets the user Search for Books via Google Book API
The App display asynchronously downloaded images of the books along with their titles in a vertical grid.
- Added new feature. Tag book as favorite
- A favorite button is displayed with each book item
- Clicking on the Favorite Button add/removes the book from the favorite list
- A new Favorite Book screen (Display the list of books that have been tagged as favorite)
- New Book Detail Screen (via clicking on a book)
Note - Favorite books is not saved to a Room database, (have not learned room DB yet, will return to this project for that)
- use Google Book API
- multiple screens to use NavHost
- Use repository
- Use Dependency Injection Container
- use multiple viewModels
- use multiple uiState
- allow user to search
- NavigateUp(Back Arrow in TopAppBar)
- use rememberScrollState
- Search for string "Questions:"
- Basically.... How not to pass the viewModel downwards to composables
- Hoist Favorites up a couple of composables up.. not sure how to do it
- bold just a part of the string?
- not repeat/duplicate code block for factory
App was a based on Codelab "Project: Create a Bookshelf app" at developer.android
---ref: codelab-bookshelf-app-android-kotlin-compose