2016-07-04 2 views
0
  1. В соответствии с this существует множество типов датчиков, доступных через NDK, но не GPS? Я прав, и GPS доступен только через JNI?Android: правильное использование ndk для новичков?

  2. Возможно ли обработать события датчиков в фоновом режиме с активной активностью Java? Я хочу обрабатывать события акселерометра и гироскопа в собственном коде и два раза в секунду показывать его в окне (активность java). Но если у меня есть NativeActivity для обработки событий сенсора, он должен быть на переднем плане, поэтому я не могу показать результат обработки без остановки обработки, если я использую java-активность для отображения результата?

  3. Как обрабатывать растровые изображения? У меня есть встроенная библиотека для создания растрового изображения с картой, , тогда я хочу нарисовать много объектов над этим растровым изображением с множеством вызовов для географических координат < -> координаты экрана. Сначала я решил реализовать на родной стороне и использовать Java только для рисования растрового изображения в Activity, , но похоже, что NDK не имеет 2D-рисунка, только чтобы получить растровое изображение из java, и вернуть его в java.

ответ

1
  1. NDK дает доступ к тому же набору датчиков, рамки Java делают. И да, GPS отсутствует, более того, это не датчик в здравом смысле.

  2. обработка событий датчика не зависит от Activity жизненного цикла, так что вы можете просто создать специальный ASensorEventQueue и получить результаты через ваш ALooper_callbackFunc.

  3. NDK дает возможность тестировать только Bitmap формат пикселя и получать доступ к буферу пикселей, который вы можете свободно изменять. (Последний - только для измененных растровых изображений). API 2D-чертежа не существует. Для этой цели вам необходимо использовать стороннее программное обеспечение. Кстати, вы можете попробовать OpenGL для вашего рисунка. Он не требует Bitmap и только ANativeWindow.

+0

Спасибо, около ** 3 **. Мне нужно много рисовать текст (подписи для объектов), поэтому мне нужен шрифт ttf, библиотека для рендеринга шрифта и т. Д. Я надеялся, что смогу повторно использовать уже существующий материал с платформы Android. – user1244932

+0

Вы можете использовать только Java API, даже через JNI. Но это больно и трудно поддерживать. Итак, лучше искать сторонний рисунок lib. – Sergio