Optimizations (best practice, you aren’t forced to) : for GameHub Apk
- UI/UX : build a user interface that mimics game console more than a navigation apk, something like :
- This was our Soccer Game Client rebuilt by our main Ui/Ux developer, but game is aborted due to some refractoring :
- NFS game client by EA:
This may also help you, & remove the pain of navigation view & drawer, app code design would be better oragnized as well.
- Ideas :
Orientation#LANDSCAPE for the game console & changeable when running a deployed package.
ImmersiveMode for the GameHub apk(after converting to game console), hides status & nav Bars
RecyclerView search using Filter interface, because you may have a lot of games.
Games arranged in a CardView with developer name & other data like game description from beneath, you are doing this already in a nice adjustable thumbnail, but may add some more data & border the cardView.
A very big mistake, i was doing tho is delegating the download manager to use UiThread which will return a bad user exp & slow responsive layout, slow animations, so better you delegate downloading the deployed game inside a background task job scheduled by
WorkManager & ran that as a FutureTask on a new single thread with a back-off(retry) criteria & other constraints.
- Data & Storage (i am not good at this, still learning tho) :
You can refer to the project
JetPackCompose, jetpack aims to provide helper libraries for android developers that run across nearly all android OS versions, so for example
WorkManager from jetpack enables you to utilize background tasks as scheduled requested jobs & foreground tasks too for anything like notifications/data download/data upload/data exchange/read/write long operations & even when the app is closed & killed, that basically uses
JobScheduler for android 8.1 & up,
AlarmManager & Services for below 8.1, so it really utilizes time & code…
I think may be you can ignore some of the UI, & focus more on data management & background tasks in order to make bugs less to occur over tons of android devices !
Libraries like :
DataStore, Room(Sql/Sqlite), biometeric & crypto may help you for data management & security :
I haven’t used nodeJs express before, if you have thought a moment that it’s not efficient, you may see Firebase android is also good, & there are desktop bindings too, but heavy data plans are heavily paid.
Best of Luck…