タグ

JNIに関するplueaのブックマーク (12)

  • JNI 関数

    インタフェース関数テーブル 各関数は、「JNIEnv」引数を介して、固定オフセットからアクセスできます。「JNIEnv」型は、すべての JNI 関数のポインタを格納する構造体を指すポインタです。これは次のように定義されます。 VM は、コード例 4-1 に示されているように、関数テーブルを初期化します。最初の 3 エントリは、将来の COM との互換性のために予約されていることに注意してください。さらに、関数テーブルの始めの近辺にいくつかの追加の null エントリを予約してあります。したがって、たとえば、これから現われる、クラス関連の JNI 演算は、表の終わりではなく FindClass のあとに追加することができます。 関数テーブルは、すべての JNI インタフェースポインタの間で共用されます。 const struct JNINativeInterface ... = { NULL

  • 設計の概要

    設計の概要 第 2 章 この章は JNI の主な設計の問題に焦点をあてています。項の設計の問題のほとんどはネイティブメソッドと関連があります。呼び出し API の設計については、「第 5 章」に掲載されています。 JNI インタフェースの関数とポインタ ネイティブコードは、JNI 関数を呼び出して Java VM 機能にアクセスします。JNI 関数は「インタフェースポインタ」により使用できます。インタフェースポインタは、ポインタを指すポインタです。このポインタはポインタの配列を指し、このそれぞれのポインタがインタフェース関数を指します。どのインタフェース関数も配列内の事前に定義されたオフセットにあります。図 2-1 は、インタフェースポインタの編成を図示したものです。 JNI インタフェースは、C++ 仮想関数テーブルまたは COM インタフェースのように構成されています。固定された組み

    pluea
    pluea 2013/12/18
  • JNIコーディングメモ(Hishidama's Java native interface coding Memo)

    JNIのC言語/C++側のコーディング C言語とC++の違い コーディング例 JNI関数の概要 プリミティブ型・参照型(JavaオブジェクトのC/C++での扱い) String型 [/2006-11-09] 配列型 クラスの取得・インスタンス生成 [/2008-02-02] オブジェクトのメソッド呼び出し [/2008-02-07] オブジェクトのフィールド操作 ローカル参照の終了 [2006-11-09] 例外処理 [/2007-10-13] jni.hの中でC言語/C++で使える構造体 (クラス)が定義されているが、 コンパイラーがC言語の場合とC++の場合では定義のされ方が異なり、使い方も少し異なる。 JniJikken.c: JniJikken.cpp: #include "JniJikken.h" JNIEXPORT jbyteArray JNICALL Java_JniJikk

  • N2-Works WEB企画・制作/システム開発 大阪拠点

    [2015.08.22] Android・iOS両対応のアプリ「がんばれ!ルルロロの月齢カレンダー」を公開 NHKのEテレで放送中のTVアニメ「がんばれ!ルルロロ」の月齢カレンダーが登場。今日の月齢をルルロロと共に大きく表示します。 [2015.08.08] Android・iOS両対応のアプリ「くまもんのはめえ(3)」を公開 子供にも大人にも大人気のくまモンのはめえパズルの第3弾。赤頭巾ちゃん、三匹のこぶた、白雪姫etc、そしてくまモンや熊の物産物の絵を指で動かして、型にはめて完成させる幼児向けの知育ゲームです。 [2015.06.25] Android・iOS両対応のアプリ「今日のお月さま くまモン版」を公開 子供にも大人にも大人気のくまモンの「今日のお月さま くまモン版」。毎日の月齢を確認することが出来ます。また月の形の名前を掲載しています。

  • Sign in - Google Accounts

    pluea
    pluea 2013/12/18
  • Android NDKを使用してJava言語とC言語で速度比較をする(画像処理編) | Techfirm Android Lab

    つまり、以下のコードでピクセル毎にRGBカラーを取得できるということですね。 red = (pixels[i] & 0x00FF0000) >> 16; green = (pixels[i] & 0x0000FF00) >> 8; blue = (pixels[i] & 0x000000FF); つぎに、配列をJavaからC言語に渡すときの説明。。。。 この処理をC言語で行いたいために、この第1引数のint配列をJavaからC言語に渡せればいいですね。方法は以下のようにしました。 ・Java言語側 //画像を取得する Resources r = getResources(); Bitmap bitmap = BitmapFactory.decodeResource(r, R.drawable.sea); //画像を表示する imageView.setImageBitmap(myBitma

  • [Android]JNI(ネイティブコード)のサンプル#tryJni00 | サンプルプログラム工場

    JNIを使ってみる。 JNI使ってC/C++のコード呼び出すと処理が速くなるらしいので、重そうな処理はそちらに書くようにしてみる。 特にOpenGLやら物理エンジンを使うときにJNI使ってやらないと重くてたまんないらしい。 ●JNIでコードを書くにはまずAndroid NDKをインストールしないとだめ。 http://developer.android.com/tools/sdk/ndk/index.html ここからダウンロードしてインストール 解凍したものを「C:\」へコピー(好きなフォルダでいいけど、環境変数もそこを指定する) ●環境変数を設定する Win7の場合は >スタートボタンを押して「環境変数」で検索。 >ユーザーの環境変数で「新規」ボタンを押す >変数名「ANDROID_NDK_HOME」 >変数値「C:\android-ndk-r8e」←任意のフォルダ >もう一度、ユーザ

  • AndroidでJNIを使う方法 - Android(アンドロイド)情報-ブリリアントサービス

    AndroidでJNIを使う方法をドキュメントにまとめました。 PDF版はこちら Androidのコンパイル環境を構築されていることが前提です。 よろしければAndroidのコンパイル環境を整える方法にあるPDFのコンパイル環境構築資料をご覧ください。 AndroidでJNI – Android meets JNI 株式会社ブリリアントサービス 勉どろいどチーム 和泉憲二 門口敏広 藤田竜史 このドキュメントでは、androidアプリケーション(Dalvik VM)からJNI(Java Native Interface)を使用して、C/C++言語で作成した共有ライブラリのJNIメソッドをコールする、一連の方法について解説します。 開発環境 ドキュメントでは、以下の開発環境が用意されている事を前提に、説明を進めます。 用意する環境 ドキュメントにおける確認済みの環境 androidアプリ

    AndroidでJNIを使う方法 - Android(アンドロイド)情報-ブリリアントサービス
  • Eclipse CDT 上で Android NDK を使った JNI 作成環境を構築する | 穀風

    Eclipse CDT 上で Android NDK を使った JNI 作成環境を構築する 昔はコマンドラインから ndk-build を叩かないといけなかった Android NDK ですが、 いつの頃からか、Eclipse CDT 上でビルド出来るようになりました。 せっかくの統合開発環境ですから、これを使わない手はありません。 というわけで、環境構築方法を書いておこうと思います。 以下、前提条件です。 ADT インストール済みで Java アプリケーションが作れる CDT がインストール済み Android Native Development Tools がインストール済み Preprocessor Include Paths を無効にする Eclipse 4.2 (JUNO) 以上を使用している場合は、以下の作業をしておかないと include path が適切に処理されません。

  • Androidが組み込みで注目される3つの理由

    携帯電話向けソフトウェア・プラットフォーム「Android」が発表されてから約1年半がたち、現在、OSバージョン「1.5」がリリースされている。また、日国内でもAndroid搭載端末「HT-03A(HTC製)」(画像1)がNTTドコモから発表・発売されるなど、ここ最近“Android”の名前を目にする機会が増えてきた。 Androidの登場は、前述のようにスマートフォンをはじめとするケータイ分野で話題になっているが、実はケータイ分野以外の組み込みデバイス開発の現場にもAndroidという大きな波が打ち寄せてきている。 実際、これまでリアルタイムOSを採用してきたメーカーや、組み込みLinuxWindows CEを採用しているメーカーがAndroidを検討しはじめているという。2009年5月に行われた「第12回 組込みシステム開発技術展(ESEC2009)」の会場では、Androidを活

    Androidが組み込みで注目される3つの理由
  • Android NDKでJNIを使用してアプリを高速化するには

    Android NDKでJNIを使用してアプリを高速化するには:Androidで動く携帯Javaアプリ作成入門(15)(1/3 ページ) Android NDK最新版でOpenGL ES 2.0をサポート 今回のテーマは「AndroidでJNI(Java Native Interface)を使用したアプリの高速化」です。C/C++やOpenGL ES(※)といったネイティブコードを使うツールなどのセットは、Android NDK(Native Development Kit)として提供されていて、JNIを使用した高速化に欠かせません。 ※OpenGL ES(OpenGL for Embedded Systems)OpenGL ES(OpenGL for Embedded Systems)携帯情報端末や組み込み向けのOpenGLのサブセット。OpenGLは、一般的に普及しているグラフィックス

    Android NDKでJNIを使用してアプリを高速化するには
    pluea
    pluea 2013/12/11
  • Android NDKを使用してJava言語とC言語で速度比較をする | Techfirm Android Lab

    今回はAndroid NDKを使用して、JavaコードとC言語で記述されたNativeコードで速度の比較を行おうと思います。 まずはNDKをインストールします。以下のリンクからndkをダウンロードします。 http://developer.android.com/intl/ja/sdk/ndk/1.6_r1/index.html ダウンロードしてきたら以下を実行しインストールします。 $(NDKROOT)/build/host-setup.sh これでインストールが完了です。簡単ですね。 早速、Javaのコードを書いて速度比較していきましょう。 今回は簡単に1億回足し算を行い、JavaとNativeで比較してみます。 public class JniTest extends Activity { @Override public void onCreate(Bundle savedI

    pluea
    pluea 2013/12/11
  • 1