datmusic-android
tivi
Our great sponsors
datmusic-android | tivi | |
---|---|---|
4 | 28 | |
663 | 6,395 | |
- | - | |
0.0 | 9.8 | |
over 1 year ago | 7 days ago | |
Kotlin | Kotlin | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datmusic-android
-
Examples of well written apps?
I have learned a lot from reading Tivi's code over the years, here's my app using similar libraries & arch datmusic-android
-
We migrated our Jetpack Compose app to Material Design 3 and Material You
Didn't expect the migration process to M3 would be this much involved. I thought just changing the MaterialTheme would be enough (new color schema/names, all different Typography names, no Shapes yet etc.). But all other components such as Text, Button, Icon, Progress/Slider, Scaffold, Surface need to be replaced with M3 versions..
-
Is compose actually production ready?
I'm using it in production in my small music app (source) and I couldn't be happier about it. I was worried about scrolling until I tried release/prod build. navigation-compose and bottom-sheet integration also has some bugs. But we're not far from a perfect UI toolkit.
- datmusic v2 - music player & downloader in Jetpack Compose
tivi
-
Do you have an open source (base) project using latest tech?
Look no more: https://github.com/chrisbanes/tivi
- What are some open source android projects that you can go to see Best practices or how they implemented stuff
-
What do you use for compose navigation?
It's definitely the most verbose part of our app and one of the weakest parts of the Jetpack library. We used https://github.com/chrisbanes/tivi for some inspiration on how to organize your navigation structures.
-
What's modern approach to handling Preferences (UI & Storage) in Compose?
I have considered a few variants around this route. One easy way out would be just to launch a ComponentActivity with a PreferenceFragment like what Chris Banes does in TiVi ... but if you go with PreferenceFragment(Compat) it seems you are kinda stuck with SharedPreferences. If one attempts to supply DataStore wrapped in PreferenceDataStore, it seems types get messed up (TextPreference will store as a String, even if the InputType is number, etc).
-
Modern ways to expose Retrofit network progress and errors to a ViewModel?
Thanks I think what's confusing is that UI events are recommended to be modeled as Flows, which I guess is why Tivi uses Flows for even the simplest actions, but it does a lot of very fancy things. Most repository interactions seem to have an entire class extending an Interactor (e.g.) which catches and emits errors, progress and handles timeouts and does all that crazy queuing stuff with UI "messages" Flow
-
"outdated senior" needs your advice
I would read and study nowinandroid and tivi apps.
-
Compose Navigation with multiple graphs
Check out the approach from tivi https://github.com/chrisbanes/tivi/blob/main/app/src/main/java/app/tivi/AppNavigation.kt as an idea.
- Any Clean Architecture app courses that make use of Flows completely without LiveData?
- What resources would you recommend for learning how to build Multi-Module android apps?
-
Anyone here who has bought Philipp Lackner's course for developing multi-module apps?
They probably want you to do a module split like in https://github.com/chrisbanes/tivi or https://github.com/igorwojda/android-showcase, but what they probably don't realize is that modularization is a trade-off, namely greatly increased build configuration complexity for... well, having modules.
What are some alternatives?
Learn-Jetpack-Compose-By-Example - 🚀 This project contains various examples that show how you would do things the "Jetpack Compose" way
compose-samples - Official Jetpack Compose samples.
accompanist - A collection of extension libraries for Jetpack Compose
android-mvvm-dagger-rxjava-retrofit - A sample project which demostrate use of MVVM and Dagger 2 with RxJava2 along with Retrofit
DisneyCompose - 🧸 A demo Disney app using Jetpack Compose and Hilt based on modern Android tech stacks and MVVM architecture.
gamedge - An Android application for browsing video games and checking the latest gaming news from around the world.
vlc-android - VLC for Android, Android TV and ChromeOS
architecture-components-samples - Samples for Android Architecture Components.
JetComposer - Collection of UIs and Animations built with Jetpack Compose for Android
android-showcase - 💎 Android application following best practices: Kotlin, Coroutines, JetPack, Clean Architecture, Feature Modules, Tests, MVVM, DI, Static Analysis...
Jetpack-Compose-Playground - Community-driven collection of Jetpack Compose example code and tutorials :rocket: https://foso.github.io/compose
fdroidclient - Android client application.