It is beneficial to understand the official Android Bluetooth documentation and how to use the APIs.
But they are not the most user-friendly APIs.
Fortunately, there are many convenience wrappers out there. Below are a few that I see used most often (in no particular order)
Blessed
RxAndroidBLE
FastBLE
SweetBlue