Hi! I'm Miquel Beltran
Welcome to my GitHub Projects page.
- Browse your Discogs collection.
- Check your wishlist (wantlist).
- Search the database.
- Get market prices.
- Clean app architecture: UI and API separated.
- Use of RecyclerView.
- Use of Data Binding.
- Retrofit + GSON + RxJava.
- Picasso for image loading.
- Robolectric + Mockito for Unit Testing.
- Beatiful material design.
In this project I try different libraries and design patterns. It can be
useful as code example for Android developers.
Some technological goodies:
- Continuous integration with Travis-CI and Codecov reports.
- Model-View-Presenter with Fragments.
- Unit testing with Robolectric and Mockito. (aiming for 100%)
- Dependency Injection with Dagger v2.
Playground for RxJava. Including how to use flatmap, transformers, etc. And
an example to handle events asynchronously.
Extremely simple example showing how to use Dagger 2.0 on Java.
Featured in my blog post:
Understanding Dagger 2
Example project showing how to create custom Views on Android.
- How to override the View class and create a simple View that changes its
- How to override a Layout class and save/load the state of its components.
- How to use the onLayout method to change the children of a ViewGroup.
- How to use the onDraw on a custom view, and pass parameters directly from
My contributions to
Google's ExoPlayer project
ExoPlayer is an application level media player for Android. It provides an
alternative to Android’s MediaPlayer API for playing audio and video both
locally and over the Internet.
This project contains several example code snippets for Data Binding on Android.
- Basic data binding with a custom data source.
- Data binding on Fragment.
- Data binding on included views in the layout xml.
- Data binding on RecyclerView.
- Different kind of data binding language expressions.
- Custom binding adapters for Images and Text.
Example project showing Data Binding with the Observable pattern.
A simple portable food dictionary for traveling in Japan.
Made with the help of Lara Martin: Github
Our app is now available on Google Play.
Example app on using the ViewPager.PageTransformer.
- It recreates an infinite ViewPager, but the truth is that the ViewPager
Adapter has only three pages: The central one, left and right.
- Each page shows a different color, generated randomly.
- When the user switches to a new page, the other two page colors are generated.
- Also, once the page switch animation is done, the ViewPager switches to
the central page without the user noticing, creating the illusion of
having an infinite ViewPager.