Open in app

Sign In

Write

Sign In

Raymond Chan
Raymond Chan

174 Followers

Home

Lists

About

Pinned

Adopting Kotlin Multiplatform Mobile (KMM) on 9GAG App

Opinions expressed are solely my own and do not express the views or opinions of my employer. It is so excited to see that Kotlin Multiplatform Mobile (KMM) enters beta stage and Google has announced that they have published experimental Jetpack libraries to KMM. It is so thrilling to see…

Kotlin

6 min read

Adopting Kotlin Multiplatform Mobile (KMM) on 9GAG App
Adopting Kotlin Multiplatform Mobile (KMM) on 9GAG App
Kotlin

6 min read


Jul 1

Changing app version without a Gradle sync

Every time you would like to test for app upgrade during development, you need to change the versionCode on Android Studio and then followed by a Gradle sync before you can build. That is time consuming right? Here is a little trick that we used in our company’s project, it…

Android

1 min read

Android

1 min read


Oct 23, 2018

Gson, Kotlin and Proguard is crashing my app!

Lately I have been working with Kotlin, the code base is mixed with Java and Kotlin. One of the issues I found is that when Java Gson model is turned to Kotlin, the app crashes. With not much idea in head, I have done something like this: data class Message(@JvmField val address, @JvmField val content) It works🎉! The trick is by adding @JvmField annotation in front of class members. My guess is that by adding @JvmField annotation, it keeps the field in public in Java level. However, I am not able to replicate the issue in a completely new project. Any ideas?🤔

Kotlin

1 min read

Kotlin

1 min read


Jul 27, 2018

Fastlane with RVM on macOS

Why should you use RVM instead of using system’s Ruby? It turns out that system’s Ruby doesn’t update fast enough, when you try to update Fastlane, it may be broken. :| Installing RVM on macOS Install Homebrew (I think most of you should have it installed) Install gnupg with brew install gnupg Following the steps in https://rvm.io/rvm/install to install RVM If you are using…

Ruby

1 min read

Ruby

1 min read


Jul 13, 2018

Surprising API behaviour change for android.text.format.Formatter.formatFileSize

While we are implementing a feature to display the cache size in app for users, we think that there should be a simple function in Android to convert bytes to readable format. So what we got is android.text.format.Formatter.formatFileSize(Context context, long bytes) Looks good, it takes a Context object, a little bit annoying though. But then the interesting part comes up. When I deploy the app on a 7.1 device, it behaves as expected like 10,73,741,824 bytes is showing 1.0 GB, but later when my colleague testing on his 8.1 device, it shows something like 1.1GB

Android

1 min read

Surprising API behaviour change for android.text.format.Formatter.formatFileSize
Surprising API behaviour change for android.text.format.Formatter.formatFileSize
Android

1 min read


Apr 17, 2018

PublisherAdView is causing RecyclerView (any scrollable view) to shift?

Recently the 9GAG Android app has integrated PublisherAdView to post list. We found a strange bug that the list( RecyclerView ) will shift when we scroll to those PublisherAdView and perform tab changes in ViewPager. We switch from tab 1 and then to tab 2 and then back to tab…

Android

1 min read

Android

1 min read


Dec 13, 2016

My thoughts on React Native

We are trying to use React Native to rebuild the whole app, so that it can be run on iOS and Android with the same code base at the same time. …

React

3 min read

React

3 min read


Apr 8, 2016

Android Performance — Lazy inflating Fragment with ViewStub

Hello World, this is my first Medium article and also my first tech blog. :) Using ViewPager to hold your Fragments is a very common pattern on Android. However, your UI is getting complex and having more and more Fragments on your ViewPager, it will slow down your app. Although…

Android

3 min read

Android

3 min read

Raymond Chan

Raymond Chan

174 Followers

Hello World Engineer @9GAG #android #Hongkonger #StandWithHongKong

Following
  • Addy Osmani

    Addy Osmani

  • tubik

    tubik

  • E.B. Johnson

    E.B. Johnson

  • K

    K

  • Pinterest Engineering

    Pinterest Engineering

See all (618)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams