libro
www.tuyano.com
App InventorによるAndroid開発入門

Twitter投稿アプリを作ろう! (3/5)

作成:2010-11-11 15:03
更新:2010-11-11 15:38

■起動時の処理とボタンの処理

では、ブロック・エディタで処理を作成していきましょう。今回は「起動時(Screen1.Initialize)とそのコールバック、Button1/Button2のClickについて作成をします。(これで完成ではありません。まだ続きがありますよ!)

まず、Screen1.Initializeでは、Twitter1の「Authorize」という処理を呼び出しています。これは、Twitterのオーソライズをするもので、まぁ平たくいえば「ログインしてTwitterのアカウントを利用できるようにする」というものです。

このAuthorizeを実行すると、まだログインしていない場合にはTwitterのログイン画面を呼び出しログインを行ないます。そして問題なくログインされると、Twitter1にある「IsAuthorized」という処理が呼び出され実行されます。このように、「何か時間のかかる処理を実行させ、その処理が完了したら自動的に指定の処理を呼び出す」という仕組みを「コールバック」と呼びます。Authorizeを実行すると、ログイン完了後にIsAuthorizedというコールバック処理が実行される、というわけです。

このIsAuthorizedで行っているのは、Twitter1の「RequestFriendTimeline」という処理を呼び出すことです。これは、Twitterのサーバーにアクセスし、タイムラインのデータを取得するものです。といっても、これを実行したらタイムラインデータが返ってくるわけではありません。

これも、コールバックを持っているのです。つまり、RequestFriendTimelineを実行し、サーバーからデータが無事に得られたら、「FriendTimelineReceived」というコールバックが呼び出される仕組みになっています。このコールバックで、実際に得られたデータの処理をすればよいわけです。

続いてボタン関係です。Button1は、TextBox1に書かれたテキストをツィートするものです。ツィート(つぶやくこと)は、Twitter1の「SetStatus」という処理を呼び出して行ないます。これは、設定されたテキストをTwitterでつぶやく働きをします。右側につないだテキストが、つぶやきとして投稿されます。ここでは、投稿後、TextBox1のテキストをカラにし、RequestFriendTimelineを呼び出してタイムラインを更新しています。

またButton2は、単にRequestFriendTimelineを呼び出して更新しているだけです。

――以上で、Twitterを呼び出す処理はだいたいできました。が、一つ残っているものがあります。RequestFriendTimelineで得られたデータを処理する「コールバック」です。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※[Screen1.Initialize]の処理
[Twitter1.Authorize]

※[Twitter1.Authorized]の処理
[Twitter1.RequestFriendTimeline]

※[Buton1.Click]の処理
[Twitter1.SetStatus][TextBox1.Text]
[TextBox1.Text][からのテキスト]
[Twitter1.RequestFriendTimeline]

※[Button2.Click]の処理
[Twitter.RequestFriendTimeline]

※関連コンテンツ

「App InventorによるAndroid開発入門」に戻る