2011年10月21日金曜日

jqgridとrails link_to_remote

中の人です。

結論はlink_to_remoteをjqgridに組み込むな、jqgridの削除/挿入の仕組みでカバー。


できないなら、読み込みが終わった後でjqgridの中身をjavascriptで書き換える。
振り出しに戻ってしまったが、当初の方式でカバーするのが気楽だ。
開発コストを無視するのならだけど・・・ね。


jqgridを封印し、will_paginateをラップしたmoduleを作成することにしよう。
(辛い現実から逃避・・・)

2011年10月16日日曜日

android、titaniumで開発!?(6) MapViewを複数画面で利用するには

中の人です。

MapViewを複数画面で利用するとエラーになりますね。
Mapを複数画面で利用するにあたり以下が参考になりました。

http://ti.masuidrive.jp/topic.php?id=116

が、そのままだと表示されませんでした。
createしてもエラーにならないので、複数のMapViewが
addされているのが問題であると結論付けました。

最終的に地図を使っている別画面を表示する前に
元の地図をremoveすることで対処。

リソースも消費しないし、これで満足しておこう。

2011年10月9日日曜日

android、titaniumで開発!?(5) Windows版TitaniumStudioでEmulatorが動いたかもしれない

中の人です。

以下で述べる修正で動くようになりました
無事、ブレイクポイントでも止まりました。

application data\titanium\mobilesdk\win23\1.7.2\android\builder.py
のself.home_dirの定義を変えた。各自の環境に合わせてください。
くれぐれも空白を含んだpathにしないでください。

self.home_dir = 'c:\\titanium\\.titanium'

ここまでの投稿で修正した部分もbuilder.pyに適用してあります。
  • 「'*:d * '」 を「"'*:d'"」 へ修正。*を削り、'で括る。
c:\titanium\.titaniumは単に作るだけでOKかと。
動かなかったらここまでの投稿を参考にしてください。
試していませんが、document and settingsに作成される.titaniumへの
ハードリンクを作成する方が何かと問題がでないかもしれません。

これにより、sdcardのパスが変わりspaceを含まなくなる。
起動パスがこれまでの投稿に書いたような内容に変わるので
無事に起動する。

android、titaniumで開発!?(4) KitchenSinkでError KitchensinkActivityが無いが解決(resolve)

中の人です。

もう、○○が!と叫びたい心境ですが解決。
まだ動かないけどね。 
ここのお陰で動いた(もぎっちゃうぞもぎ私的メモ:茂木健一)。

KitchenSink/platform/android/AndroidManifest.xml


activity android:name=".KitchensinkNookActivity"


before
KitchensinkNookActivity


after


KitchensinkActivity

これ、zipから取得した奴なんだけど、何かがおかしい?

android、titaniumで開発!?(3) KitchenSinkでerror type 3

中の人です。

TitaniumのサンプルKitchenSinkについて。
githubからzipファイルをダウンロードして展開、フォルダを移動して
フォルダ名をkit(※1)にリネーム、import(titanium)。

Debugすると
error type 3 does not exist kitactivity
となる。


ログが続いていて、ファイルが見つからないと出ている。
コンソールで実際にPathを確認すると確かに無い。
よくよくPathを見ると「KitchinShink」となっている。
ビルド情報に書かれているのか!?

どこで定義されているのか分からないので
※1で設定した名称をKitchenShinkに変更した。


Debugを繰り返していると
[INSTALL_FAILED_INSUFFICIENT_STORAGE]
日本アンドロイドの会の掲示板で
アンインストールすればいいとあったのでエミュレータから
以前のものを削除。

その後、emulator側で実行しても
acore has stopped と出て動かない。

何が駄目なんだ・・・。

2011年10月7日金曜日

android、titaniumで開発!?(2) Windows版TitaniumStudioでEmulatorが動かない?

中の人です。

Windows版TitaniumStudioでEmulatorが動かない?です。
最後は新規プロジェクトで動く画面は動きましたが、
KitchenSinkは動かない状態。

(2011/10/9)デバッグもできない・・・。


とりあえず、公式の手順どおりにセットアップ。
Windows7向けだけど、XPでも同じ。もしくはサボれる。
セットアップ完了まで4時間ぐらいかかった・・・。Android SDKの
インストールが非常に時間がかかった。

SDK ManagerでSDKのダウンロード終了後、SDK Managerから
エミュレタータのデバイスを登録(名称はtest_deviceとした)して
新規プロジェクトを作成して
実行するものの、エミュレータがタイムアウトと出て動かない?

とりあえずやったこと
1.Projectのプロパティ、デバイスの所のエミュレータ名を
登録するデバイス名と一緒にする。
test_deviceへ変更。
既存のプロジェクトをインポートした場合、SDK Manager上に
デバイスが作成される。ProjectのPropertiesのデバイス名を合わせる。

2.エミュレータを手動で起動する。
SDK Managerからstart

もしくはコマンドラインから登録してあるデバイスを起動。
emulator -avd test_device

(2011/10/9 追記)
以下のパラメータで起動するようにした。必要に応じて変える。

(2011/10/9 21:27 追記)
デバッガでブレイクポイントを置いても反応する。安心して利用できる。
が、安定しないので(5)の方法で起動するように修正した方がいいね。


emulator.exe -avd titanium_9_HVGA -port 5560 -sdcard C:\titanium\.titanium\titanium_9_HVGA.sdcard -logcat '*:d' -no-boot-anim -partition-size 128
  • titanium_9_HVGAは仮想マシン名
  • sdcardの位置は既存では空白交じりのpathだったのでExploerで移動した。
  • -logcat パラメータはヘルプ(-help-logcat)ではシングルコーテーションで括るので修正。
  • -logcat パラメータは後ろの*は指定方法が良く分からないので削っている。
3.Debug - Android emulator
この時、App Exploerにあるbuild.logを開くと幸せになれる。
画面上でタイムアウトと出ても、ログはずーっと出力されている。
しばらく待つと、Deployが終了したとログに出て、エミュレータに表示された。

公式通りにセットアップしてれば関係ない、もしくは他にやったこと
  • jdkにjavacがない(多分ランタイムを入れた)のでJDKをインストール
  • Pathの再確認(コマンドラインからjavacが反応する状態に。)
  • emulatorをコマンドラインから実行すると「Windowsアプリじゃない」となっていた。
    のでSDKを展開しなおして上書き。(原因不明)
  • workspaceをc:\titaniumへ(多分関係ない)
  • builder.pyの内容を修正(max_wait = 120 max_zero = 30)
  • Gitリポジトリから取得したサンプルProject(KitchenSink)のファイルが
    一部読み取り専用。書き込みできるように変更。
頑張ろう。

というか、エミュレータを手動で実行すればいいよって誰か書けばいいのに!
Android SDKで開発する時はEclipseがエミュレータを起動してくれるからかな。
(まぁ、NULL デバイス?になって使えないとかありますけど)
エラーのタイミングも変だ・・・。
いかにも動きませんよって感じに表示される。まだ裏で動いてるのにね。
ものすごく、ものすごーく、エミュレータにインストールするまでが長い・・・。
5分ぐらいかかってるか、これ・・・。
同じ条件でも失敗することがある。
不安定な環境なのは確かだなぁ・・・・。

android、titaniumで開発!?(1) appcelaratorにログインできない。TitaniumStudioがDownloadできない。

中の人です。だらだら書きます・・・。

android向けアプリをtitaniumで開発しろと、プロジェクトが
立ち上がりました。私もリソースとして追加されました。

http://www.appcelerator.com/products/download/
(※1)

からDownloadしろとの情報があふれているのでDownloadしようと
開きましたがアカウントを登録しろとでます。
これも情報がありますので気にしずに登録。

ログイン画面が出てメールアドレスとPasswordを入力して
「さぁ、Downloadするぞー」と思ったら、パスワードが一致しないと
蹴られる。ログインできない。入れない。当然、Downloadできない。

間違えたかとPasswordをリセットするリンクからメールアドレスを
入力してメールに送られてきたURLでリセット。
アカウントのページが表示された(※2)

TitaniumStudioのLinux版をDownloadしてインストール。
まぁ、展開するだけ。
Javaなんかは入ってるから実行してみる。
ログイン画面がでるからログインしたよ(※3)

が、起動時にエラー。終了するか聞かれる。emulatorも動かない。
Windows版に浮気することに。
Downloadするぞー・・・って、ログインできない。
理由は分からないが、ログインできない状態だったので
調べた。が、該当する質問をしている人がいないorz。
「設定したパスワードが違うって出てるんだから間違えたんじゃない?」と
周りは冷たい反応。※3でログインしてるし!

結果、ヘルプデスクにメールして3日ぐらいかけてアカウントが修復された。

※2の方法でダウンロードする画面は表示できるが
※1のURLとは違うので正規のバージョンとは違うのかと混乱して半日無駄にする。
リセット直後に表示される画面が
「Download画面」(https://my.appcelerator.com/resources)なので、
ログインできない人がいたらそれで乗り切ろう。
ヘルプデスクも英語でメールすれば対応してくれるので
ログインしたいならメールしてもいい。