2013年11月12日火曜日

Java(JNI)を極力避けて進めたい

はっと気がついて見渡せば
Androidの開発環境については
色々なフレームワークが出ており、
結構様変わりしているなぁと感じます。

僕がちらちら耳にするのは
3Dだと「Unity」、2Dだと「cocos2D」あたりでしょうか。

しかし、そんなフレームワークに頼らず
自分がやりたい機能だけを搭載したい思いから
NDKに手を出して、気がつけば一年を経過していました。
C++自体はじめての経験で模索状態でしたが
結構まともな状態まできてるなぁというのが個人的な感想です。
実際、NDKを使いつつもJNI経由で
Javaの機能を使っているものが多い中
以下の機能についてはNDK(C++)のみで実装できたので
結構な速度が出ています。
未来の移植性を考えても、極力Java(JNI)には頼りたくないのです。

・Assetsへのアクセス
  libzipによるapkファイルの解凍で対応

・文字(日本語含む)の表示
    FreeType2による文字表示

・XMLファイルの解析
  tinyXMLによるXMLの解析

・テクスチャの読み込み
  libPngによる画像ファイルの処理

・OpenGLによる描画
  もちろんOpenGLライブラリ使用


やっぱりこの中で一番てこずったのは文字でしょうか。
英語の表示まではすんなりいったのですが
日本語を表示するまでにはかなり大変でした。
なにせNDKの中にwide文字系の処理が
ぽっこり抜けているので力技で解決した感じです。

次がAssetsですかね・・・
でも、これは最近は検索すると方法は結構
ひっかかるので、前よりは難易度が下がっているかもしれません。

まあ、こういうひとつひとつが悲しみと喜びを繰り返して
実現されていくので、それぞれに思い入れもひとしおです。

それから、まだ実現できていないのがインテントへの読み書きや
音楽の再生等、まだまだ課題は残っています。

技術系の記述をしようかなとか思いましたが
こんな場末のブログなんて誰も読んでないと思いますし
やめときますw
そもそもブログにコメントすら入ったこと無いしねw

0 件のコメント:

コメントを投稿