-
Forward Compatibility with @JsonIgnoreProperties
Most applications communicate with a backend using a JSON(JavaScript Object Notation). JSON is a lightweight and also human readable. After getting the data from the backend, you need to convert it to an object. By doing that, you don’t need to handle the raw data format, JSON, anymore. There are several libraries to support this process, called deserialization. Jackson library...
-
Picasso: Use Transformation, Not Target
When you want to add some effects before showing an image, you need to access a bitmap in Android. One typical example is a blur effect. Picasso is a image loading library. Generally, you load an image like this. Picasso.get() .load(imgaeUrl) .into(imageView); Target When the image is loaded, it will be shown. You want to set some effects before showing...
-
Failing Early for Null Pointer Exception
NPE(Null Pointer Exception) is one of the common exceptions on Java development. It means that you are accessing some methods in an object which is null. NPE is a runtime exception. If it happens, your app will show that exception and crash. In most case, this exception is somewhat unexpected when you develop your app. So, It is telling something...
-
Writing Upcoming Posts in GitHub Pages
GitHub Pages supports to make a website for you or your project. This is directly hosted by your GitHub repository. For blogging, it uses Jekyll, which supports Markdown syntax and doesn’t require any database. When you add and push a post to your repository, it will be published soon. If you write several posts at a time, you probably want...
-
Dagger: When to Inject for Activity and Fragment
On the dependency injection, it is preferred to inject as soon as possible so that we can avoid NullPointerException. For that reason, constructor injection is widely used. However, it is not easy to apply that rule for Activity and Fragment. The lifecycle of them is managed by the Android Framework. Furthermore, we don’t call the Activity’s constructor directly when we...
-
RxJava: OnErrorNotImplementedException
RxJava(Reactive Extensions for the JVM) is a library for event-based programs. It allows composing asynchronous easily. Publisher and Consumer are main components. Literally, Publisher will emit events and Consumer will do some actions based on received events. Here is an example in Android: getUser() // Publisher. Events could be from the network or database. .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(user -> { //...