タグ

JavaとJNIに関するkazutoyo_tkのブックマーク (2)

  • JNIとC++例外 - meryngii.neta

    JNI関連の話が続きます。 今日は短いですが、JNIとC++例外について。 最近ではAndroid NDKもC++の例外(やRTTI)に対応していて、そのおかげで例外が必要なSTLなどのライブラリを自由に使えるようになっています。しかし、Java側はC++の例外を理解してくれないので、もしJNIを介した関数がネイティブ領域で例外をキャッチし損ねると、すぐにSegmentation Faultで落ちます。 解決策としては、JNIから呼び出されたC++側の内部処理を、noexceptな関数に閉じ込めてしまえばよいわけです。もちろんエラーが発見できないのもまずいので、JNIを使ってJava側の例外に変換してしまいます。 JNIEXPORT void JNICALL Java_Foo_bar (JNIEnv* env, jobject thisj) { jni_util::convertExcep

    JNIとC++例外 - meryngii.neta
  • カメラ画像をSmartWatchに送信する(2) - コンピュータを楽しもう!!

    前回のブログでは、カメラ画像をYUV420フォーマットからRGBフォーマットに変換するために、Javaで変換プログラムを作っていましたが、JNIを使ってCプログラム化することが出来ました。(GitHubにソースを公開しました) そこで、防備録として書いておきます。 CameraViewPitcher CameraViewPitcherというプログラム名としました。Activityは下記のようです。Bitmapキャッチャの起動と停止コマンドを実装しました。以下にAvtivityを丸々書きます。 public class CameraViewPitcherActivity extends Activity { public static final String CONTROL_START_REQUEST_INTENT = "com.sonyericsson.extras.aef.contro

    カメラ画像をSmartWatchに送信する(2) - コンピュータを楽しもう!!
  • 1