Проблема, вестимо, одна, как во всех вещах с открытым кодом -- отвратительная документация и отсутствие конвенций.
Вот почему, например, я вынужден создавать объект типа LocationManager с вот такой вот войной:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVIC
Шо это за маразм? Кто это придумал? Почему ВНЕЗАПНО нельзя сказать LocationManager myManager = new LocationManager(); ? Для многого всякого, тоже ведроидного -- можно, а тут -- хрен?
Но ничего, с помощью Гугла, ПереполненияКучи, и какой-то матери в конце концов можно докопаться до истины.
Надо будет ещё попробовать порисовать на нативном коде C, а то есть задумка для приложения, которое требует высокой скорости обработки поточных данных; на Джаве нарисовывается задержка между входом и выходом в три четверти секунды. Что неприемлемо.