- Using this application, the user is able to reach all the characters of Marvel Universe and see all the comics around it
- Search and favorite the characters you want to easily reach it
This application was created to study, improve and show the best techniques and approaches that is used in high quality applications, such as architectures (in this specific app, using MVVM), Coroutines, Hilt, Room and much more.
Android Studio
Kotlin
Room
OkHTTP
Coroutines
MVVM
Retrofit
Hilt
- Open your app with a clean animation
- Search through all the Marvel Universe to reach all the characters
- Click in the description to see the full information provided by Marvel for the selected character
- See all the comics related to the selected character
- Search through all the Marvel Universe to easily reach the character and comics that you want
- Create your own favorite list and easily find your most loved characters
- Add and delete characters to your list any time you want
abstract class BaseFragment<VB: ViewBinding, VM: ViewModel>: Fragment() {
private var _binding: VB? = null
protected val binding get() = _binding!!
protected abstract val viewModel: VM
override fun onCreateView
(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_binding = recoverViewBinding(inflater, container)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
protected abstract fun recoverViewBinding(inflater: LayoutInflater, container: ViewGroup?): VB
}
Abstract class created to avoid using the same code many times for different ocasions. This class is responsible to provide for the fragment that extends from BaseFragment, all the needed settup needed to use ViewBinding and ViewModel.