Sixth and final project of Udacity's Android Nanodegree.
Triviapp is an application used to kill time and to educate yourself while still having a blast. It is a trivia app that asks a lot of questions from music, to mythology, history and sports, just to name a few. The principle is simple, you answer questions one after one in order to score the highest score possible. And because everyone has their own liking, the user can choose to either receive questions from random categories, or a category of their choosing.
Widget (because it is nice to be reminded how awesome we are!):
- Android Design
- Material Design guidelines (font, padding, margins, elevation, theme, style, color...)
- Design Support library
- CardView / FloatingActionButton / ProgressBar / SnackBar
- CoordinatorLayout / AppBarLayout / CollapsingToolbarLayout
- AppBar / ToolBar
- RecyclerView / ViewHolder / GridLayoutManager / Adapter
- ViewPager / FragmentPagerAdapter /
- Intents (navigate between activities) / Parcelable interface / Pass data between activities
- Welcome Screen
- Log In & Sign Up activities
- Google Play Services
- Firebase Authentication
- Network requests
- NetworkUtils : build URL & URI / requests from URL / check network connection
- Open Trivia DB API
- JSon parsing
- AsyncTask
- Error handling (no internet connection, wrong request results, try/catch, check user input, orientation changes)
- Data persistence : SharedPreference / savedInstanceState / Firebase Database
- Butterknife
- GSon
- Glide
- Homescreen Widget
- Broadcast