2016-07-04 11 views
0
  1. thisによると、GPSではなくNDKを介して利用できる多くのセンサータイプがありますか?私は正しいですか、GPSはJNI経由でしかアクセスできませんか?Android:初心者のためのndkの適切な使用?

  2. アクティブなJavaアクティビティでセンサイベントをバックグラウンドで処理することはできますか? 私は、ネイティブコードで加速度計とジャイロスコープのイベントを処理したいし、毎秒2回、それをウィンドウに表示します(Javaアクティビティ)。 しかし、センサイベントを処理するためにNativeActivityを使用する場合は、フォアグラウンドにする必要があります。結果を表示するためにJavaアクティビティを使用すると、処理を停止せずに処理結果を表示できません。

  3. どのようにビットマップを処理しますか?私は のマップを使ってビットマップを作成するためのネイティブライブラリを持っています。 地理座標< - >画面座標の呼び出しの多いこのビットマップに多くのオブジェクトを描画したいと思います。最初に私は ネイティブ側でこれを実装すると考えていましたが、アクティビティのビットマップを描画するのに、 のビットマップを描画するだけですが、NDKには2D描画のものはありません。Javaからビットマップを取得するには を戻してください。

答えて

1
  1. Javaフレームワークが行うようNDKは、センサの同じセットへのアクセスを与えます。そしてはい、GPSはありません、また、それは常識的なセンサーではありません。

  2. センサーのイベント処理はActivityのライフサイクルに依存しないので、あなただけの専用ASensorEventQueueを作成し、ALooper_callbackFuncを経由して結果を得ることができます。

  3. NDKは、Bitmapのサイズ、ピクセル形式をテストし、自由に変更できるピクセルバッファにアクセスする機能のみを提供します。 (最後は可変ビットマップのみです)。 2D描画APIはありません。このような目的でサードパーティのソフトウェアを使用する必要があります。 Bythewayでは、あなたの描画用にOpenGLを試すことができます。 と、ANativeWindowのみが必要です。

+0

ありがとうございます、約** 3 **。私はたくさんのテキスト(オブジェクトのキャプション)を描く必要があるので、ttfフォント、フォントをレンダリングするライブラリなどが必要です。アンドロイドプラットフォームの既存のものを再利用できることを願っていました。 – user1244932

+0

JNI経由でも、Java APIのみを使用できます。しかし、それは痛みがあり、維持するのは難しいです。だから、第三者描画ライブラリを探す方が良い。 – Sergio

関連する問題