2013ちとから☆あんどろいど実験室AndroidアプリからHTML5/CSS3/JavaScript。その他技術的な事について書いてます。対応させたかったんですよ。対応出来ていない理由が、permission絡みで、カメラ関係とLandscape関係だったってのは大体想像ついたんですけど、結局対応させるのに2ヶ月以上かかりました。この状態のmanifesto.xmlはuses-featureは使えるんですが、android:requiredが使えないので、特定のハードウェア要件によるフィルタリング阻止が出来なかったんですね。この中で色々検討してたんです。プロジェクトをもう一つ高レベルのAPI用に作ってリリースするとか、なんとか抜け道はないかとか。インストール出来るようになりました!この後問題が出ないとは限りませんけどね。そのときはきっとプロジェクトを分けて対応するしかないかも知れないです。前回の2.4.5はリリースに失敗しておりました。いうわけで前回の修正点を含めた以下が更新されています。・メールを全員に返信時、自分を受信者に含めない状態だと送信者以外のアドレスがコピーされなくなっていた不具合を修正。・送信後のメッセージをクリックが必要なオーケーダイアログから不要なトーストメッセージに変更。・送信先のサジェストリストで、「.」を入力した時やリストを最後までスクロールさせたさいに発生していたエラーを修正。・機種ごとに動作が不安定だった、カメラ起動時のフラッシュライト機能を削除した。extensionを作ってみました。忘れないように備忘録的に書いておこうかと。Worldは他に譲ります。概念的な部分をもしかしたら厳密には違うかもしれませんが、書き記しておきます。manifest.json。バージョン2について忘れちゃいけないことを列挙します。"manifest_version":2がバージョン2であることの宣言permissionで、tabsなどは不要インラインで書かれたjsやcssは動かないので、使う時はmanifestの中で、それぞれのスコープ宣言部でインクルードする通信permissionやmatchesは"http://*/*"のような書き方が出来るここからが大事。extensionの世界観extensionはブラウザを改造するものです。ブラウザはURLからHTML等を取得し、ドキュメントを描画するものです。extensionはブラウザの動作に働きかけるために以下の3つのスコープを持っています。アイコン表示とクリック時に表示されるポップアップなどのUIプロセスextensionが有効化されている間、常駐しているバックグラウンドプロセスコンテンツとともに動作するコンテントスクリプトプロセスextensionはユーザーに有効化されると、ブラウザとは別のプロセスとして動作します。この基本がバックグラウンドプロセスであり、全ての中心であると考えるとデザインしやすいと思います。このプロセスはユーザーとのやり取りもコンテンツとのやり取りも行いませんが、extensionが有効である限り常にロードされており、変数などが保持されます。ページ毎のコンテントスクリプトプロセスやイベントドリブンなUIプロセスはバックグラウンドプロセスとchrome.extension.getBackgroundPage();で直接スコープを読みだしたり、メッセージを使ってより対話的な情報交換を行うことで、ブラウジングとUIを結びつける高度なアプリケーションを作成できるようになります。reC});});});バックグラウンドプロセスは省略可能で、例えばアイコンクリックでどこからか、何らかの情報を取得し、ポップアップに何かを表示するだけのextensionであればバックグラウンドプロセスを宣言する必要はないかもしれません。2つめは今出ましたアイコンとポップアップなどのインタラクティブUI部分です。具体的には以下の3種類があります。"options_page"という名前で宣言し、関連するファイルを結びつけます。UI系のプロセスはスコープがmanifest内で宣言したファイルまでで、それを越えることができません。タブに表示されている通常のコンテンツの情報を取得するには上で紹介した方法を用いてバックグラウンドプロセスを介して情報を取得する必要があります。直接コンテントスクリプトとやり取りすることは恐らく難しいか出来ないと思われます。動作するタイミングの関係でバックグラウンドプロセス(もしくはローカルストレージ)を介するほうが無難だと思います。最後はコンテントスクリプトプロセスです。ブラウズするドキュメントに対し、manifest.json内run_atのタイミングで関連付けされたjsファイルを読み込みます。このスコープはダウンロードされたコンテンツですので、documentオブジェクトは実際ダウンロードされたコンテンツを参照します。このプロセスの中でコンテンツ内の必要な情報をバックグラウンドプロセス(もしくはローカルストレージ)に渡すというのがコンテンツ解析系のextensionでは基本的な動きになるのではないでしょうか?以上。リリース今回の修正は以下です。・送信後のメッセージをクリックが必要なオーケーダイアログから不要なトーストメッセージに変更。・送信先のサジェストリストで、「.」を入力した時やリストを最後までスクロールさせたさいに発生していたエラーを修正。・機種ごとに動作が不安定だった、カメラ起動時のフラッシュライト機能を削除した。うー、なんだかんだ次のアプリの設計に入れてないなぁ。playにお問い合わせして交換ということになりました。loaderから初期化を試したか?とかは聞かれたけど、自作アプリをPCら放り込んだことは特に言及されなかった)、交換の手続き説明。7が梱包材と一緒に届くので、その梱包材で壊れた端末を印刷した証書と一緒に、これまた同梱されている着払い配達伝票で送る最初に送られてきたメールにある送りましたよ登録をするのような手順だったと思います。ぶっちゃけ年末のガン飲み週間の前だったので記憶が。2台持ちになりました~。~そして、次に作るアプリも決定しましたよ!「戦略じゃんけんゲーム」ああ~アイディアパクられる!(ないです)今回はUI設計からちゃんと考えようと思います。人気の投稿さくらレンタルサーバーにnode.jsをインストールしてみたスタンダードさくらインターネットレンタルサーバーにnode.jsをインストールしました。こだわりゆえに死ぬほど大変でしたが、まとめておきます。・メール送信中、プログレスが出ている間に「バックキー」を押すと意図的にエラーを発生させ、処理を強制終了するようにした。・メールボックスを開いたときに現在ボックスにあるメール数を表示するようにした。・未送信のメールがメールボックスにあるときに送信...EmobileのGS01※この機種のレビューですが、SoftBankの101DLとほとんど同じなのでレビューは割愛します。仕事ってなんだろうねーシンプルに考えると社会貢献が基本。社会っつーのは自然の脅威から人間が生き残るための要塞で、寄り集まったわがままな人間ができるだけ快適に過ごすためにルール・法律が生まれた。入力イベントを拾いたい最近少々苦労したのでまとめておきます。何がしたかったかというと、候補の表示。入力しながら候補を絞ってリストを表示し、クリックできるようにするあれ。リリースしました今回はバグの改修が1件です。1件ですが、この条件に当てはまると非常に不便なので早いうちにリリースしました。プロセス管理ってどうなっているのかという話。UI描画の処理と自分の書い...さっきの続き。やった事を詳しく書きますもう夜も遅いですが、何を変更したのか公開しておきます。絵文字対応(出来る限り頑張りました!多分全部やった。メールを削除した際に、添付ファイル等がゴミとして残っていた問題を解決。二つですが苦労してます。ついて解った事を書いておきます。機能をつけたくなったのでもう少し遅くします。マイナーバージョンアップという事になる予定です。投稿Atom投稿すべてのコメントAtomすべてのコメント自己紹介のり1978年生まれ。仕事に没頭したITエンジニア時代を経て、もっと包括的に自分が何をすべきか、したいのかを考えて独立したフリーのエンジニア。