Android

Androidブラウザにphpからファイルを送る方法について

いわゆるダウンローダの挙動について。有用なサンプルやQAはWeb上にたくさん落ちているので、あえて詳細は列挙しない。 個人的に心の支えになったのはこちらのサイト(英語)。で、自分の場合は、ユーザー認証をセッション使ってやっていて、そのユーザー…

youtube(google)での認証手順メモ

youtubeV3 https://developers.google.com/youtube/v3/OAuth2.0 https://code.google.com/p/google-api-java-client/wiki/OAuth2#AndroidTasks class http://samples.google-api-java-client.googlecode.com/hg/tasks-android-sample/instructions.htmlOpenS…

Android SDK Manager が起動しない時の対策

#検索サイトなどから来た方向け過去に書いた本文とは別のアプローチをコメントに頂いてます。 環境変数をセットすることで意図した動きに制御することができますので、そちらがよりベターな解決策となると思います(情報いただき感謝です!)。 Javaまわり…

アプリからUstreamを開く

アプリの中のボタンなどから直接Ustreamアプリで番組を再生する方向で調べていたんだけど、結局、チャンネルのページを標準ブラウザで開くのが一番簡単でわかりやすい(そしてUstreamアプリ未インストールユーザーにも優しい)ということがわかった。http://…

Ustreamアプリの直接呼び出し

通常、UstreamのチャンネルURLのリンクを呼んだだけでは、AndroidもiPhoneもUstreamアプリは反応せず、普通にブラウザでUstreamのチャンネルページが開く。アプリ内からUstreamの生放送の再生画面へ直接移行するための調査をしていたところ、下記のURLをブラ…

java.lang.ArrayIndexOutOfBoundsException

とあるお客様のアプリデータの更新作業中、一定数以上のTableViewで画面遷移時にアプリがクラッシュするという現象が発生。 ランタイムがコケていて、エラーログからでは原因が細かく追えず、とりあえず運用で回避しておいた。その後公式の掲示板を丁寧に漁…

C2DMの起動直後のreceiveに失敗する件

Titanium C2DM モジュールを手に入れてテスト中。 https://github.com/IGx89/titanium-c2dmアプリ起動後のC2DM配信には正常に応答するが、端末再起動後などにC2DM配信を受けると反応してくれない。動作ログを見たところ、C2DM受信には反応し上記Moduleは動作…

アプリへのプッシュ通知機能の下調べ中

iOSにはAppleのAPNs(Apple Push Notification Service)、AndroidにはgoogleのC2DM(Android Cloud to Device Messaging)という機能がそれぞれ準備されている。名前や実装、手続きは異なるものの、概念的には全く同じといっていい仕組みになっている。要は、 …

Windowの遷移

Titaniumのアプリの画面遷移を変更する必要があったんだけど、期待通りの動作が記述できずに半日悩んだ。結局setTimeoutを使うという荒業で対応。win1 win2 win3 と順に遷移する画面があったとして、win2からwin3を表示したあと、戻るキーで戻るときはwin2で…

Titaniumのモジュール組み込みは丁寧に

アプリ内項目モジュールを作って組み込み中、AndroidとiPhoneの両方でビルドしていたら見慣れないエラーが発生。 調べてみたら、tiapp.xmlへのモジュール記述に問題があったみたい。まさにこちらと同じ状況だった。 Titanium mobile へのモジュールの読み込…

外部アプリへファイルを渡す

Titaniumアプリで作成した画像を一旦Filesystem上に保存し、それをインテントで外部アプリへ引き渡す場合、applicationDataDirectory や tempDirectory が使えない。これらの領域はTitaniumアプリからの読み書きはできるが、引き渡した先の外部アプリがアク…

Androidエミュレータ(AVD)のhostsファイル変更

やり方自体はちょっと検索すれば直ぐに出てきた。 基本は、adb経由で現在のhostsファイル(/system/etc/hosts)をpullしてローカルPC上で修正し、それをpushして上書きするというもの。 実際にやってみて、ちゃんと反映されていることは確認できた。が。 一旦…

Androidアプリの署名

協力会社が作成したapkを受け取ったが、debug署名されていてMarketにアップロード出来ない。 試しに手元の環境でjarsignerを走らせてみたが、既にdebug署名されているせいか invalid entry compressed size というエラーが発生して署名できず。やっぱりビル…

TitaniumのRunConfigurationsでProjectが選べない

Browseボタンを押しても何も反応がない。 1.7.3を導入してからのような気もするが、正確なタイミングは把握していない。少なくとも1.7.2でモリモリ作業してた時点では特に問題が起きた記憶はない。コーディングは行えるけど、新規プロジェクトのデバッガが設…

Titaniumでのリソース配置についてのメモ

TitaniumでiPhone版アプリを作る場合、retina用に倍の解像度の画像を準備して使用する。hiresフラグを立てておけば、retina機で高解像度で表示(非retina機では半分の解像度に縮小表示)される。Androidの場合、複数の解像度(ldpi/mdpi/hdpi)毎の画像を準…

画面Viewのスクショを画像として取得する

Titaniumは画像を直接加工するAPIが無い代わりに、各主要な画面パーツにtoImage()という、見たままを画像に取り込む機能がある。 実際にどういう風になるか確認してみた。viewに背景画像を指定し、その上に文字をlabelで配置。 iPhoneの場合は、viewを生成し…

スマホアプリとメニューボタン

アプリの画面や動きを考えていたが、iPhoneとAndroidではそもそものベースが異なるので、全く同じ画面で制作するのは辞めておいたほうがいい気がしてきた。iPhoneはハードキーがホームボタンしか用意されておらず(ボリュームやスリープボタンはアプリ操作で…

my b-mobile のIDを統合したい

先週末に、通称イオンSIMと呼ばれる月額980円のb-mobileSIMを購入してきたんだけど、その申し込み手続きのメールアドレスを何も考えずにデフォのアドレスにしていた。 が、いざ色々管理してみると、もともと持っていたb-mobileFairのSIMとID(メールアドレス…

IS03のmpeg4動画再生機能に泣く

動画をストリーミング再生(単にプレイヤーにURLを引き渡すだけだが)を行うテストをしていたところ、Xperiaなどでは大抵の形式で再生出来ることは確認できたのだが、手元にある試験可能な実機のうちIS03のみ、動画の「好き嫌い」を連発することが発覚。いろ…

Titanium on Android で動画のストリーミング再生

タイトルのとおり、Titanium Mobile Android の環境で動画のストリーミングを行う必要があった。 Titanium自体にはvideoPlayerは内蔵されているが、各種イベントやエラー処理を実装しなければ実用のプレイヤーとしては使えないため、もともとAndroidが持って…

Marketへのアプリ公開備忘録

・公開してからすぐは、「http://market.android.com/search?q=pname:ほにゃらら」で直接参照できるけど検索に出てこない。公開対象の国が多いと遅くなる?2〜3日程度は見ておいたほうがいいっぽい。 ・apkファイルの差し替えを伴わない、画像や説明文だけ…

理屈が分からないと不安

昨日からごそごそしているモジュール絡みの調査、いろんなサンプル見ながらなんとかしてContextを取得しようと試行錯誤していたら、なんか動くようになったっぽい。ぽい、んだけど何がダメで何をしたから解決したのか、オプションを{}で渡すようにしたらなの…

Titaniumでインストールされているアプリのチェックをしたい

Titaniumからは、直接Android機にインストールされているアプリのリストを見に行けないっぽい。 つか、それが出来るならこんな苦労してない。ネイティブのコードでアプリのリストを取得しているサンプルはたくさん見かけるので、それを元に(Titaniumモジュ…

いつの間にかSkypeが消えていた

ドコモXperia初代(SO-01B)にSkypeを入れて便利に使ってたんだけど、ふと気づいたらSkypeがアンインストールされていた。 慌ててマーケットを見に行ったら非対応機種的な扱いになってる。ぬー。Skype公式の対応機種要件は2.1だし、オリジナルのXperiaでも使え…

画面の縦方向固定にバグ・・・?

昨日うまくいっていた縦方向への画面固定だが、SDK1.7.2でコンパイル&実機転送して確認してたら回転固定が正常に機能していないことに気づいた。 コードは変更していないので不審に思い、一旦プロジェクトをクリーニングして再度フルビルドしてみるも、やは…

androidの画面方向固定で苦労してるなう

androidにおいて、画面を縦方向(portrit)に固定し実機をどういう方向に回転させてもホームボタンが下の状態で固定したかったので、幾つかのサイトを見て回って設定。 こことか。結果として設定方法は正解だったんだけど、そのコードをコンパイルすると画面…

Ti.Yahoo.yql のデバッグができない?

Ti.Yahoo.yql を使用しているプログラムをデバッグしようと、Debug モードでAndroidのエミュレータを呼び出したところ、該当処理の箇所で TypeError: Cannot find function yql in object [Ti.Yahoo]. というエラーが発生した。 要は Ti.Yahoo に yql なんて…

JSONの文字コード

iPhoneではjson文字列をeval関数に突っ込むだけでデータを取り出すことが出来、特に文字コードへの配慮はいらなかったのだが、android版への改造を進める中で、同じコードを通すと日本語が化けるという現象に突き当たった。単にhttpClientで取得したデータを…

Androidエミュレータを呼べない

WindowsでTitaniumからエミュレータを呼ぼうとしたら、 [DEBUG] AVD Skin: WVGA854 [DEBUG] SDK: C:\Android\android-sdk [DEBUG] C:\Android\android-sdk\platform-tools\adb.exe start-server [DEBUG] C:\Android\android-sdk\tools\emulator.exe -avd tit…

Android1.6向けの開発ができない?

Titanium Studio で色々アップデートがかかったので更新。 AndroidSDKも一応最新版を導入。で、ひと通りチェックのためにKitchenSinkや作成中のソースをコンパイルするテストを実施。結果。 TitaniumSDK 1.7.0 AndroidSDK1.6 InstallでINSTALL_FAILED_OLDER_…