2012年1月27日金曜日

ネットワーク接続チェック on Titanium

忘れがちだけど必須。

if(!Ti.Network.online) {
  var dialog = Ti.UI.createAlertDialog({
    message : 'ネットワークに接続されていません。接続後に再度お試しください。',
    buttonNames : ["OK"]
  });
  dialog.show();
  return;
}
//以降、ネットワークに接続する処理・・・

2012年1月22日日曜日

Androidエミュレータで画像が表示されない問題の対策


Titaniumで作ったアプリをAndroidエミュレータで実行すると、画像が表示さない問題がある。
(Windowsのみという噂)


tiapp.xmlに、下記を記述する事で、画像が表示されるようになる。


<property name="ti.android.fastdev" type="bool">false</property>


ただ、FastDev(ソースの修正をエミュレータ再起動なしに即座に反映する仕組み)が

使えなくなってしまうというTitaniumのバグがある。


SDカードを使用できないようにする事で、

FastDevを有効にしたままエミュレータで画像を表示できるようになる。

ただし、ローカルファイルのみ。(リモートファイルは表示されなくなる)


SDカードを使用できないようにする設定は下記の通り。

1. 目的のエミュレータが起動中の場合は一旦終了。

2. Android SDK Managerを起動。

3. Virtual Device一覧で対象のAVD Nameを選択してEditクリック。

4. HardwareのNewをクリックし、「SD Card support」を選択してOK。

5. 「SD Card support」のValueを「no」に変更して「Edit AVD」をクリック。

6. エミュレータを起動して確認。



SQLiteより圧倒的に速いJSONDB on Titanium

Titaniumでの速度がSQLiteより100倍くらい速いという話もあるJSONDB。

DBをバリバリ使うアプリでは是非。

http://ruilog.sakura.ne.jp/blog/2012/01/253/

Titaniumにおける関数リテラルのパフォーマンス

メモ。

http://imthinker.net/?p=147

2012年1月20日金曜日

Android Application Award 2012

挑戦してみるか~。

http://itpro.nikkeibp.co.jp/android/aaa2012/index.html

Titanium/Interface Builderとの連携

XCodeに付属するInterface Builderでグラフィカルに画面を作成し、

Titanium用ソースコードを出力する方法。

Titanium/Interface Builderとの連携


ForgedUIと違ってTitanium Studioと統合されてはいないが、面白そう。

2012年1月18日水曜日

Titaniumのビジュアルエディタ、ForgedUI

Titanium Mobileのビジュアルエディタ、ForgedUI。

まだあまり情報がないが、この動画を見ればだいたい分かる。

GUIでラベルやボタン、TableViewなどのオブジェクトを貼りつけてプロパティを設定していき、

ボタン1つでソースを出力してくれる。




非常にスピーディにアプリ開発ができるTitanium Mobileだけど、

このForgedUIを使うことで、さらに爆速で開発ができるかも!?


$99.00 one time paymentとのこと。 数千円程度なら、払ってもいいね。

とりあえずTrial使ってみよう。

2012年1月16日月曜日

モバイルアプリの未来


モバイルアプリ開発という仕事は今後どうなるか?

最近、各企業や芸能人の公式アプリというのが出てきているが、

数年後、企業が公式WEBサイトを持っているのが当たり前なように、

公式アプリを持っている時代が来ると思う。


そうなると、アプリ開発者が大きく不足する状況が生まれるだろう。

「短期間で高品質、iOS/Android、スマートフォン/タブレット」

の全てに対応する開発者が求められる。

Titanium Mobileの重要性もどんどん高まり、より洗練された技術になっていく。


また、iOS、Androidが家電へ進出していく流れが始まっているが、

家電向けアプリ開発はどうなるか?


例えばTV向けアプリを自分で作れるようになると、すごく面白いと思う。


さらについ先日、「サムスン、窓で使える透明タッチスクリーンを披露」というニュースが出ていた。

この動画を見ると、まさに「人々の生活が変わる」というのを実感する。

そこに自分が関わっていければ幸せだ。 いや、必ず関わっていくんだっ。


2012年1月13日金曜日

Titanium MobileでGoogle Analyticsを利用する

これはやっておきたい。

Titanium MobileでGoogle Analyticsを利用する - box box box:

Titanium Studio+SVNのエラー回避

SVNでソース管理しているTitaniumプロジェクトを
実機転送やDistributeしようとすると、エラーが発生して転送できない。

※Androidしか試してないけど、iPhoneだとどうかな。

で、ビルド用スクリプトを修正して対応する方法は下記の通り。(SDK1.7.5の場合)


まず、C:\Users\ユーザ名\AppData\Roaming\Titanium\mobilesdk\win32\1.7.5\android\builder.py
をエディタで開き、「fileset = []」という記述を探す。

そのすぐ下の部分で、下記のように追記する。

オリジナル:
for root, dirs, files in os.walk(os.path.join(self.top_dir, "Resources")):
        for f in files:
            path = os.path.join(root, f)
            if is_resource_drawable(path) and f != 'default.png':
                fileset.append(path)
下記のように追加(2行目、3行目、5行目):
for root, dirs, files in os.walk(os.path.join(self.top_dir, "Resources")):
        for name in ignoreDirs:
            if name in dirs: dirs.remove(name)
        for f in files:
            if f in ignoreFiles: continue
            path = os.path.join(root, f)
            if is_resource_drawable(path) and f != 'default.png':
                fileset.append(path)


これで、無事にエラーなく実機転送できた!


gitを使えばいいのだろうけど、なんだか難しくてよく分からず・・・・
慣れたSVNの方がいい♡

2012年1月10日火曜日

Titanium TIPS集

祝!Titanium Advent Calendar 2011完走!! - JP ... - はてなダイアリー

いろんなTIPSがあり、必読!

TitaniumでアニメーションGIFは使えない?

自前でアニメーションさせる方法が載っているが・・・


var win = Ti.UI.createWindow();
 
// create an imageview and set it to the width and height of your images
var loaderImage = Ti.UI.createImageView({
  width:54,
  height:54
});
 
// add it to your window
win.add(loaderImage);
 
// set the length of the images you have in your sequence
var loaderArrayLength=12;
 
// initialize the index to 1
var loaderIndex=1;
 
// this function will be called by the setInterval
function loadingAnimation(){
  // set the image property of the imageview by constructing the path with the loaderIndex variable
  loaderImage.image = "images/loader-sequence/frame" + loaderIndex + ".png";
  //increment the index so that next time it loads the next image in the sequence
  loaderIndex++;
  // if you have reached the end of the sequence, reset it to 1
  if(loaderIndex===13)loaderIndex=1;
}
 
// start the setInverval -- adjust the time to make a smooth animation
var loaderAnimate = setInterval(loadingAnimation,80);
 
 
win.open();

http://developer.appcelerator.com/question/68971/does-imageview-support-gif-file

2012年1月9日月曜日

アプリ用素材メモ

ランチャーアイコン作成ツール
http://ferv.jp/app/icone/

ローディング中GIFアニメーション
http://www.loadinfo.net/


今後追記していきます。


スプラッシュ画面から進まないことがある

Titanium1.7.5で作ったアプリを初代Xperia(Android2.1)に転送して実行する際、

スプラッシュ画面から先に進まないことがある。

なぜだろう・・・

一度タスクキラーでアプリを落としてもう一度実行するしかない状態。。

2012年1月7日土曜日

Tiの鉄則とポイント

http://selfkleptomaniac.org/archives/1926

【鉄則1】iOSを基準に仕様を作ってはいけません
【鉄則2】試験用にIS03とタブレットは必ず用意しましょう
【鉄則3】anyDensityでごまかせると思ったら大間違いです

【ポイント1】シングルコンテクストにしないとまずいことが起きる
【ポイント2】Javaは友達、怖くないよ


###################



非常に参考になりました。

2012年1月4日水曜日

Titanium Mobile 1.8のバグ

追記: このバグはSDK1.8.1で解消されました。(2012/02/01)


SDK1.8.0.1で、TableViewのdeleteRowを実行すると、
必ず1番目の行が削除されるというバグ。 (2012/01/04時点)


他にも色々とバグがあるようなので、次のバージョンが出るまでは1.7.5を使おう。


http://jira.appcelerator.org/browse/TIMOB-6858


1.8になって、メソッドの数が5倍以上になっているので、高機能ではあるが、
まだテストが追いついていないようだ。

■1.7.5のAPIの数
Modules: 35
Objects: 95
Methods: 915
Properties: 2880
http://developer.appcelerator.com/apidoc/mobile/1.7.5/

■1.8.0.1のAPIの数
Modules: 35
Objects: 112
Methods: 5178
Properties: 2847
http://developer.appcelerator.com/apidoc/mobile/1.8.0.1/

Android実機スクリーンショット取得方法

実機をPCに接続し、C:¥Program Files¥Android¥android-sdk¥tools¥ddms.bat を実行。


Device→Screen Capture...→Save で画像を保存。






http://www.koikikukan.com/archives/2011/08/09-023456.php

2012年1月3日火曜日

Androidエミュレータで画像が表示されない

tiapp.xmlに下記を追加すると表示されるようになる。

<property name="ti.android.fastdev" type="bool">false</property>



これはTitanium Studioのバグ。
Fastdevを無効化してしまうため、辛いものがある。


画像を確認したいときだけ上記の設定をし、それ以外のときはtrueにして
Fastdevを活用するようにしよう。

TitaniumでGrid Layout


http://developer.appcelerator.com/question/36691/creating-a-grid-layout-in-appcelerator

2012年1月2日月曜日

Metro UIをTitaniumで実装したモックアプリ

これはカッコいいですね。
ぜひ使ってみたい。




ソースをゲットして試してみたら、iOS専用機能が使用されていて、

Androidでは動作しなかった。

iPhone/Android アイコンサイズ


■Lancherアイコンサイズ(単位:px)


iPhone3G / 3GS
 57×57

iPhone4
 114×114

Android
 36×36 / 48×48 / 72×72

■申請時に必要な画像(単位:px)


iPhoneアプリ(形式:jpg / tif / png)
 高解像度アイコン:512×512
 スクリーンショット:960×640, 960×600, 640×960, 
            640×920, 480×320, 480×300,
            320×480, 320×460

iPadアプリ(形式:jpg / tif / png)
 高解像度アイコン:512×512
 スクリーンショット:1024×768, 1024×748, 768×1024, 768×1004

Androidアプリ(jpg / png)
 高解像度アイコン:512×512
 スクリーンショット:320×480, 480×800, 480×854, 1280×800
 プロモーション画像:180×120

Androidバージョン分布 2011.12

2.3が50%超え。
2.1は9.6%に微減。

http://www.gapsis.jp/2011/12/android-os2011121235.html