Refer to the example in this Bound Service documentation: https://developer.android.com/guide/components/bound-services.html
Binder is a class implementing the interface IBinder. However, in the example, I cannot understand why we use
You don't need to do it that way. If you want to store a LocalBinder, you can. If you want to return a new Binder instance for each client binding, you can. The only thing you need to do is return non-null if you want it to be possible to bind to you (if you want the service to only work via startService and not via bindService, you can just return null).