Genymotion is the most popular replacement for Android emulator, but by default it does not come with Google play services and play store. You will have to follow this guide and manually install one or two zip files to install required files. But now with version 2.10 Genymotion adds a one-click installer to automate the process!
Writing custom views or view groups is quite common nowadays, but sometimes it can be really cumbersome. You have to write overloaded constructors so that they would work properly in layout editor, or you define and implement some interfaces so that you don’t have to copy and paste the same code in different subclasses. With Kotlin we can easily avoid those common pain points when writing custom views and still enjoy full interoperability with Android!
Kotlin defines a few of extension functions like
apply() in its Standard.kt file. You probably have seen some of them in various tutorials or even used them already. Sometimes you may also wonder which one to use. In this post, I will walk through those confusing functions and see if we can understand the differences.
About two weeks ago, one of my coworker recommended me Hugo to me. I immediately like it and chose to start my blog again with it as my blogging engine. After some reading and experiments I finally set it up and was able to:
- integrate it with Tranquilpeak theme,
- host the site on Firebase Hosting, and
- configure Gitlab CI to compile and upload content whenever I push changes to gitlab.
I will walk through how I set up hugo and share some tricks I found in this post.
- NEWER POSTS
- page 2 of 2