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

WebコンポーネントとGAEで本格データベース・アプリ (5/7)

作成:2013-07-20 10:50
更新:2013-07-20 10:50

■メッセージの送信処理

では、ブロックエディタでブロックを組み立てていきましょう。まず、メッセージを送信する処理から作っていきます。

この処理は、「SendButtonClickイベント」と、「WebSendGotTextイベント」の2つのイベントで構成されます。SendButtonをクリックしたら、メッセージをサーバーに送信します。そしてサーバーからの反応が返ってきたら、そのあとの処理をGotTextで行います。といっても、実はGotTextで行っているのは、サーバーから返送されたデータのIDを表示するというだけのものなので、なくてもかまいません(一応、ちゃんと保存されたのか確認できるようにしたかった、というだけなので)。

・SendButton.Clickイベントの処理

[WebSend.PostText]
My Blocks」の「WebSend」内に用意されています。Webに設定したアドレスにPOSTでテキストを送信します。送信するテキストは、その後の[make text]で作成しています。

[make text]
Build-in」の「Text」の中に用意されている部品です。送信テキストを作成するものです。この[make text]は、複数のテキストを1つにつなげるものです。

ここでは、同じく「Build-in」の「Text」に用意されている[Text]と、「My Blocks」の「TextBox1」と「Clock1」にあるブロックを組み合わせています。作成しているテキストを整理すると以下のようになります。
msg=[TextBox1.Text]&y=[Clock1.Year]&m=[Clock1.Month]&d=[Clock1.Day]
これは、一般にクエリーテキストと呼ばれるものです。よく、Webサイトにアクセスしたとき、アドレスの末尾に「○○=☓☓&△△=□□」みたいなものが延々と付け足されているのを見たことがあるでしょう。あれです。HTTPでさまざまなデータを送信するときには、このクエリーテキストとして値を用意し送信するのですね。

・WebSend.GotTextイベントの処理

[Label1.Text]
ここでは、「My Blocks」の「My Definitions」内にある[responseContent]Label1Textに設定しています。このresponseContentは、GotTextイベントで渡されるコンテンツテキストが収められている変数ですね。こうして、サーバーから送られてきた結果をLabel1に表示しています。

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

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

●プログラム・リスト●

※下図は、ブロックエディタのSendButton.ClickとWebSend.GotText

※関連コンテンツ

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