Android BLE API methods for reading some characteristics are Asynchronous in nature and when you request some value, your GATT callback method is called.
If you requ
You might have discovered it yourself already, but it might be useful for others.
I didn't understand if that so why they made methods Async.
They probably did it because sending a read-request to another device in synchronous execution would mean you cannot do anything with your app until an answer is received. By making it Async you can do other stuff, but no other bluetooth requests.