A well team player who can communicate effectively with colleagues.
Able to conceptualise, develop and deploy applications independently.
Toronto, Canada
+1 (437)9703019
[email protected]
Key achievement:
1. Demo ProjectThis Demo Project is an app showing daily agriculture price in every market in Taiwan, using Architecture Components andfetching remote data with retrofit and flow.Technical skills used in the project :- Use MVVM- ViewModel decouples from Activity/Fragment- Activity/Fragment is a pure view class that observes the data changes and updates itself.- Make the unit testing easier, writing tests for ViewModel no need to take care the Android related stuff.- Use ViewBinding- ViewBinding is null-safe and type-safe, so we won't have the NullPointer and Class Cast exceptions anymore, instead ofseeing the crash during the run-time, we can now see the error at the compile-time.- Added Moshi converter- The converter helps us to parse and convert the JSON response into Kotlin/Java class- Separated the network objects and domain object- Mapping network response to domain object which only contains the infomation we need- Use ListAdapter instead of RecyclerView.Adapter- ListAdapter helps to calculate the difference between the old and the new list, so it only updates the item that needed tobe updated. no need to call `notifyDatasetChanged` manually- Use Dagger/Hilt for dependencies injection- to separate concerns- class reusability / flexibility2. CooklaCookla is an incomplete app I am building with an product manager who also does the design part. It is an app that showswhat's in your fridge and you can easily to manage it. We also add a page to show the daily agriculture price in every market inTaiwan, to let people always buy food in a reasonable price.Technical skills used in the project :-Use Room database-to store data in local database-to make sure the data is the single source of truth-Use ViewPager2-to achieve a scrollable calendar-Use navigation-to achieve bottom navigation with architecture component-Use Retrofit with moshi-to retrieve data from API-Use Paging-to load data in pages- Use Dagger/Hilt for dependencies injection
A well team player who can communicate effectively with colleagues.
Able to conceptualise, develop and deploy applications independently.
Toronto, Canada
+1 (437)9703019
[email protected]
Key achievement:
1. Demo ProjectThis Demo Project is an app showing daily agriculture price in every market in Taiwan, using Architecture Components andfetching remote data with retrofit and flow.Technical skills used in the project :- Use MVVM- ViewModel decouples from Activity/Fragment- Activity/Fragment is a pure view class that observes the data changes and updates itself.- Make the unit testing easier, writing tests for ViewModel no need to take care the Android related stuff.- Use ViewBinding- ViewBinding is null-safe and type-safe, so we won't have the NullPointer and Class Cast exceptions anymore, instead ofseeing the crash during the run-time, we can now see the error at the compile-time.- Added Moshi converter- The converter helps us to parse and convert the JSON response into Kotlin/Java class- Separated the network objects and domain object- Mapping network response to domain object which only contains the infomation we need- Use ListAdapter instead of RecyclerView.Adapter- ListAdapter helps to calculate the difference between the old and the new list, so it only updates the item that needed tobe updated. no need to call `notifyDatasetChanged` manually- Use Dagger/Hilt for dependencies injection- to separate concerns- class reusability / flexibility2. CooklaCookla is an incomplete app I am building with an product manager who also does the design part. It is an app that showswhat's in your fridge and you can easily to manage it. We also add a page to show the daily agriculture price in every market inTaiwan, to let people always buy food in a reasonable price.Technical skills used in the project :-Use Room database-to store data in local database-to make sure the data is the single source of truth-Use ViewPager2-to achieve a scrollable calendar-Use navigation-to achieve bottom navigation with architecture component-Use Retrofit with moshi-to retrieve data from API-Use Paging-to load data in pages- Use Dagger/Hilt for dependencies injection