Titanium.X

Top KitchenWork TitAnIDE TitaNative Ti SDK Archives

Mozilla Rhino LiveConnect & Titanative Module

@d_o_locker(ろっかぁ)



2011/12/27 仕様変更(Module API Ver 2 に合わせて TiContext を廃止、TiApplication を採用)
2011/12/25 第2弾 Demo App TitanativeDraw 掲載 Happy Hacking Holidays!
2011/12/22 第1弾 Demo App TitanativeGui 掲載

現在、 TitAnIDE KitchenWork を優先して開発中断中。

2012年3月頃までに、開発環境では、
Apache Tika(POI、PDFBox)
OpenCV/(ImageMagick は対応中)
Cocos2d(cocos2d-android1)
Box2d(JBox2d/Badlogic gdx)
AChartEngine/AFreeCart
OpenGL/Canvas への描画
Android OS Native GUI 呼び出し
の動作実績あり。


2011/12/27

Titanative Module

Download .zip for Ti-Studio New Project

LiveConnect を活用した Titanium Mobile Android 開発を支援する Titanium Module です。
Titanium Mobile SDK 1.7.5 専用です。example として、下記2つの Demo を含んでいます。
どちらかというと exsample 内の app.js と Layout XML の紹介が主で、Module は補助です。


2011/12/27

TitanativeGui

Download .apk for Android Device .zip for Ti-Studio Import Project

Screen Shot

Android Layout XML と JavaScript で Android Native GUI を取り扱う Demo App です。
挙動の詳細や、使われている Native GUI 部品は Screen Shot のページを参照してください。

Module 側に Native GUI を取り扱う Java が含まれているように思われるかもしれませんが、
Module は、TiActivity と紐付く生成済みの Android Native Activity Object を返すだけで、
それ以外は全て Layout XML と JavaScript だけで記述されています。

今のところ、Ti GUI とは、画面(TiTab、TiWindow)単位で分けて使うようにしてください。
任意の Native View を KrollProxy でラップして返せれば混在できるかもしれませんが、今後の課題です。


2011/12/27

TitanativeDraw

Canvas 描画、OpenGL 描画、外部 .jar 利用(AChartEngine)の Demo App です。

Download .apk for Android Device .zip for Ti-Studio Import Project

[Screen Shot]

左右スワイプ又は←→キーで Demo の切り替え、
上下スワイプ又は↑↓キーで Canvas 描画色、Chart 種類の切り替えができます。

JavaScript から Canvas に対して draw~()、translate()、scale()、rotate() などが行えます。
View に onDraw handler を設定するだけの Java Class(≠Module)CanvasView を作成しました。
LiveConnect で取り扱うため Module とは無関係ですが、.apk への追加のため Module に同梱しています。
OpenGL のほうは追加 Class なしで GLSurfaceView をそのまま LiveConnect で取り扱っています。
Java 開発での Canvas や OpenGL の解説などのコードが、JS の構文に整えれば概ねそのまま利用できます。

AChartEngine の Demo は、Chart よりも 外部 .jar 利用方法の紹介目的で作成しています。
外部 .jar の Class も、.apk 内に含まれていれば、同様に LiveConnect で取り扱えます。
外部 .jar は module フォルダ内、Module の .jar と同じ階層の lib/ 内に配置してください。
AFreeChart の外部 .jar (afreechart-x.x.x.jar、afreegraphics.jar)を追加すると、Demo が追加されます。
OpenCV、Cocos2d の Demo も含めていますが、環境によって動作しないかもしれません。


TitanativeDocs

Apache Tika、POI、PDFBox を利用した、
PDF、Excel、Word、PowerPoint、OpenOffice からの Text 抽出の Demo App です。

Download .apk for Android Device .zip for Ti-Studio Import Project

Menu から Document を選ぶと Text を抽出して表示します。
Document File を /sdcard/docs/ に配置すると Menu に追加されます。

この Demo では Apache Tika を通して Text 抽出のみ行っています。
POI や PDFBox の機能を直接呼び出せば、書き換えや Text 以外への Access も可能になるでしょう。

外部 .jar の規模が大きいため、Secondary DEX と呼ばれる手法で分割 Load しています。
Secondary DEX の作成、配置方法は、後日別途紹介予定です。
Apache Tika、POI、PDFBox については、この Demo をベースにすれば利用できるでしょう。


2011/12/25

Tips


@d_o_locker(ろっかぁ)