InventorでTwitterクライアントアプリを作ってみましたT-PRO-FILEビジネスモードでの日々の体験や体感、発見をつづります。Androidスマートフォンがとても便利だといっても、細かいアクションを繰り返し、毎回行なうには専用のアプリがあったほうがとても効率的です。プライベートでのロックバンドの活動でリハーサルの様子などをTwitterで配信することがあるのですが、バンド用のハッシュタグを加えるのが面倒だったり、タイムラインを追いかけるのにリストや検索を使うのも、他の設定に混じってしまっているのでもっと簡単にすぐに使えないか、と思っていました。プログラマであれば、専門でなくても少しドキュメントやチュートリアルを通過すると専用アプリを作ることができそうですが、そのレベルに達するにはかなり時間がかかります。Inventor」のことを思い出しました。したら、私レベルでも単機能ならこれで作れるかもしれない。調べてみると、Google本家での開発/メンテナンスが終了し、MITのラボに移管されていることが分かりました。http://www.appinventor.mit.edu/Googleアカウントでログインし、所定のアプリケーションをローカル環境に設定しておくと使えるとのこと。Editorと呼ばれるアプリの動作や処理を設計し、画面とつなぐツールをパソコン(私はMac環境)にインストールし、Googleアカウントでログインをするとプロジェクトを作成することができます。私が作ろうとしたアプリの機能は次の通り。自分のTwitterアカウントでログインできる。Tweetをポストするときに、バンド用のハッシュタグを自動で追加する。バンド用のハッシュタグで絞り込んだタイムラインを表示する。Inventorの手軽さとマッチしていると思っています。大まかな作成手順は下記のようになります。Inventorにログインし、プロジェクトを作成する。動作に必要なコンポーネントを追加する。(Twitter機能や通知ウィンドウ機能など)ボタンやラベルなど、画面表示されるパーツを作る。ボタンタップ時の動作内容を設定する。エミュレータやAndroid端末でテストする。アプリケーションファイルとして保存する。Android端末にインストールする。2、3、4以外は、画面操作をしていると自ずと理解できるところなので、このエントリーではその部分を実際どうやったのかをご紹介します。Inventorにログインし、プロジェクトを作るとまっさらな画面が表示されますので、アプリとして表示したい文字、画像、ボタン、入力フィールドを配置します。マウスドラッグ&ドロップやキーボードでの文字入力だけで簡単に操作できます。レイアウトの基本は、上から行単位でパーツを置いていきます。Arrangement」にある横レイアウトパーツを使います。Inventorレイアウトの挙動がわかります。壊れたりしないので、あちこち覗いて触ってみるとよいと思います。Tag...」はリスト選択です。それぞれのパーツに名前を付けたり、表示文や選択肢を画面右側のプロパティでそれぞれ設定します。components」は、画面レイアウトには出て来ないけれどアプリに追加できる機能です。Twitterの認証や投稿機能は、左メニュー「Social」の中にあるTwitterをレイアウト画面にドラッグ&ドロップすると、このように追加されます。Editorというアプリケーションを呼び出して設定します。Inventorのもっとも画期的な部分かもしれません。Editor」ボタンでできます。Editorでは、画面パーツに紐づいた機能やデータをどのように利用し、処理するのかをグラフィカルに設定することができます。アプリを立ち上げたときの処理はScreen.Initializeというブロックで設定できます。左側のブロックはアプリの中で使いたいTweetStrという変数を定義しています。このアプリでは、投稿ボックスの値と選択しておいたハッシュタグをつないだものを次のようにして変数TweetStrに代入します。Twitterへの投稿は「TweetBtn」というボタンをタップしたときに動き出します。IF文による条件分岐で本文が未入力のときに誤って投稿されないように制御したり、文字数が多すぎるときにエラーを返したり、といった処理も可能です。肝心のTweetの投稿は、SetStatusというメソッドを呼び出すだけで実装できます。エミュレータやUSB接続してあるAndroid端末でテストする前に、実際にどういうデータが流れているかなどを確認するデバッグ用の機能もあります。私が一番ハマったのは、ハッシュタグ検索結果データを分解し、タイムラインとして表示するところでした。取得したテキストデータを「foreach」で1レコードずつ取り出し、さらに最初のスペースで2つのデータに分け、改行でつなぎ直して最後にハイフンで作った区切り線を加えることで、取得データのアカウント名と本文を見やすく表示させています。エミュレータやUSBケーブルでつないだAndroid端末上でテストができない動作の一つは別ウィンドウの表示でした。理由はわからないのですが、別ウィンドウ表示を設定したボタンをタップすると「テストできないからアプリインストールしてから確認してね」という主旨のメッセージが出ます。別ウィンドウ設定は下記のようにして正しく動作しました。一つの制約は、画面サイズが固定されており、最近のAndroid端末の解像度だと余ってしまうところです。ダウンロードしたアプリパッケージファイルの中の定義を直接編集すればフレキシブルにできるようですが、自分用のアプリとしては余白があってもいいか、と思っています。単純な機能(Twitter認証、Tweet投稿)だけのアプリ設定は、ゼロからスタートしておよび30分程度でできるようになりました。Inventorの画面を見ながら、ネット上で情報を探しながら作っていくことができると思います。Inventorのインターフェースは英語のみですが、そこだけ毛嫌いせず、じっくりやれば大丈夫でしょう。コンポーネントがそろっている機能を使ったアプリであれば、自分しか使わないけれどとっても便利、というツールに向いていると思います。アプリ開発のためのモックとして、プログラマ以外の人がさっと用意できるものとして利用できそうです。NXとの接続がうまくできず、USB接続するだけでは画像ファイルの取り込みがうまくできません。試した結果、現時点で比較的簡単に取り込める2つの方法をご紹介します。米国の調査会社ガートナー社のリリースで、2015年のモバイルOSのシェア予測が公開されています。以前から、多くのAndroidユーザたちが、今か今かとリリースされるのを待っていたようです。NXをMacにつないだままだとiPhotoがうまく起動しません。USBケーブルを外すとすんなり立ち上がるようになります。記事を読むiPhone、Android、Blackberryユーザがお互いをどう見ているか楽しいコミック画像を見かけました。Programの登録料を別アカウントで支払った顛末Android開発者登録をするときに、開発者としてのアカウントと登録費の支払い用アカウントを別々にしたけれど、最終的には無事登録が完了しました。その背景と手順を記録しておきます。OSバージョンアップをしました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。マーチングやミュージカルの話題を掲載しています。インターネット上での気づきや引用をストックしています。T-PRO-FILE。