2015年08月09日

ブロックを組立てていくビジュアル・プログラミング言語「App Inventor 2」を使ってみる(5)


今回はチェックボックスを扱います。チェックボックスはアンケートなどのフォームで良く使われる形式ですが、アンケートでファイル(またはデータベース)に蓄積する部分は別途投稿します。テストアプリではチェックしている数を表示します。



ユーザインターフェースはこちら



アプリの動作はこちらの動画を確認してください。




「Blocks」はこちらです。


1つのカウンターとチェックボックスの数だけのフラッグを使います。何れも初期処理で 0 又は"False"にします。表示の合計数(Label3)はスクリーンを開く初期処理で 0 にします。


チェックボックスの数が多いのでブロック要素が多くなっていますが、各々のチェックボックスにおける処理はほぼ同じです。チェックボックスにチェックを入れたり消したりする訳ですが、どちらかの操作をした時に変更したイヴェントを取り込みます(こちらを参照)。



イヴェントを取り込むと、それまでのフラッグが「False」であればチェックが入っていない状態から変わった(チェックが入った)事になるので、カウンターを1加算してフラッグを「True」にします。それまでのフラッグが「True」であればチェックが外れた事になるので、カウンターを1減算しフラッグを「「False」にします(こちらを参照)。



そしてその時点での合計数(Label3)を変更します。


 

2015年08月08日

ブロックを組立てていくビジュアル・プログラミング言語「App Inventor 2」を使ってみる(4)


今回はスクリーンの移動とWebサイトへのアクセスがテーマです。その他に並べる表示指定をしたり、ボタンの属性(画像の利用、サイズ調整など)を設定しています。



2つのスクリーン(Screen1、Screen2)を使います。メインとなるScreen1のユーザインターフェースがこちらです。


「インターネット・サイト・ビュー」では対応のサイトにアクセスします。「星座ビュー」はサムネイルに対応する画像を開きます。サムネイルを2×2で並べるのに、「Layout」にある「TableArragement」を使っています。


主にScreen1のクリックボタンに対応した内容表示に使うScreen2はこちらです。


Screen2にはWebViewerを指定しておきます。この時点では表示するエリアだけ確保している状態です。



実際の動作はこちらの動画を参照してください。




Screen1の「Blocks」はこちらです。




ボタン毎にクリックしたらScreen2を指定してスクリーンを開きます(こちらを参照)。


ここではScreen2に渡す情報として「startValue」も指定しています。



Screen2での「Blocks」はこちらです。




Screen2の起動イヴェントは、スクリーンが開かれた事による初期化処理です(こちらを参照)。



初期化処理の中でScreen1から渡された情報を判別します(こちらを参照)。



渡された情報は「get start value」で受け取ります(こちらを参照)。




Webサイトへのアクセスには「GoToUrl」を使います(こちらを参照)。




Screen2での「Blocks」では、イヴェントとしての「戻る」ボタンでScreen1に移動する処理もあります。


 

2015年08月07日

ブロックを組立てていくビジュアル・プログラミング言語「App Inventor 2」を使ってみる(3)


今回はテキストの読み上げに関連するアプリです。ユーザ・インターフェースはこちらです。

スクリーンに背景画像を設定し、ボタンのデザインもデフォルトから変更しています。また、「Designer」で「Media」にある「TextToSpeech」を組み込んでおきます。サムネイル画面上には表示されませんが、「Components」に登録されます(こちら)。




このアプリでは、「お試し発声」をクリックすると「I love you」と話し、テキストを入力して「入力テキスト発声」をクリックするとその通りに発音します。更に「Your name?」に応えて名前を入力すると、「hanako」とした場合と他で「ご挨拶の発声」をクリックした答え方を変えています。実際こちらの動画を参照。



「Blocks」はこちらの様になっています。




各ボタンをクリックしたら動作する様になっています。発声の処理は「Speak」ブロック要素を組み込んで、発生するテキストを指定します(こちら)。ボタン1では直接テキストを指定し、ボタン2ではテキストボックス1で入力されたテキストになります。



ボタン3をクリックした場合の流れでは、「Control」にある比較判定を使います(こちら)。



また「Text」にある文字列の結合を使っています(こちら)。



 

2015年08月06日

ブロックを組立てていくビジュアル・プログラミング言語「App Inventor 2」を使ってみる(2)【改訂】


使い方を理解する所から始めているので、暫くは基本的な内容を確認していきます。

前回の「Hello World」と同様ですが、画像を組み込む事とボタンをクリックすると(それまでの表示を残して)指定の位置にメッセージを表示します(こちらこちら)。


組込む画像ファイルは「Properties」で指定します。但し、日本語のファイル名は使えません。



「Blocks」のブロックを組立てた様子がプログラム・ソースになります。

イヴェント・ドリブンな構築方法になりますので、「Button1」をクリックし、対応の制御をするブロック要素を選択します(こちら)。


「Label1」に値を設定する様にします(こちら)。


「Label1」に「ようこそ!」を設定するのがこちら


数値を設定する時は「Math」から、論理値は「Logic」から選択します。



【改訂】 2015年08月07日 00:30 画像ファイル名の記述追加


 

2015年08月05日

ブロックを組立てていくビジュアル・プログラミング言語「App Inventor 2」を使ってみる(1)


こちらの記事に引かれて(・・・?!)、「App Inventor 2」(以下、AI2)というAndroidアプリが作れるクラウドベースの開発環境を使ってみる事にしました。テキストベースのプログラミング手法ではなく、ブロックを組立てていくビジュアル・プログラミング言語です。




こちらの記事に従って先ず、AI2開発環境をインストールします。システム環境としてはWindows 7+Chromeブラウザとしました。Windows 8.1で試みましたが、実行環境の方が動作しません(但し、本記事を作成するに当たっては、我家のPC環境から開発環境はWindows 8.1を使い、実行はWindows 7のエミュレータ環境とします)。

記事の通りの作業で容易にできますが、インストール直後に『3.PCのAppInventor2で、「Connect」-「Emulator」を選択」』からエミュレータで作ったアプリを起動する所が上手くいきませんでした。記事にもある通り、エミュレータを終了し、再立上げし直して接続すると上手く起動できました。



最初のアプリは、プログラミング環境の確認をする為に良く使われる「Hello World」です。画面上の「OK」ボタンを押すと「Hello World」というメッセージを表示します。こちらこちら


作成要領は上掲のこちらに書かれています。



今後サンプルアプリを作りながらどの程度のアプリができるのかを見ていきたいと思います。