Android

Android インテント 【講座体験レポート 第5回】

Posted 7月 10 2012 by NABE  , , with 2 コメント

Android インテント 【講座体験レポート 第5回】

こんにちは、Kです。

前回の記事(第4回)でも書きましたが、ここ最近は梅雨のせいで蒸し暑いですね。
この時期はビールがうまい!ヤバイ!間違いない!
(我が母校が違う意味で有名になったキャッチ…。)
なんていう方も多いのではないでしょうか?

私はビールをあまり飲めませんが、重度のモヒート(キューバ発祥のカクテル)好きです。
冷蔵庫の中にはビンのモヒートがいっぱいです。
(※もちろんリキュール類からライム・ミントまで常備しています。)

モヒートは節電の影響で去年くらいから急に有名になりましたが、私は7年くらい前から愛飲し続けています。
だから流行にのってモヒートを飲んでいるわけではありません!(ここ重要です。笑)
もしあなたがバーに行く機会があれば、是非とも「ライム多め」で頼んでみてください。

今回はAndroid Basic第5回の講座です。

講座内容はインテントです。

今回学んだ内容

暗黙的なインテント

インテントはAndroidアプリケーションの各コンポーネント間を紐付けるための仕組みでした。
例えば、アプリの一覧表示(画面1)からメニューAを選択するとメニューAの詳細画面(画面2)に移動するとします。
その際に、画面1でタップしたメニューAのAという要素を、インテントが画面2に渡し画面2を表示します。

今までの講座内容を絡めて考えると

「アクティビティ」

「インテント」

「アクティビティ」

ということですね。

私はインテントはアクティビティ同士の「伝書鳩」というイメージかと思い、
講師に確認したところ、当たらすしも遠からずということでした。
中々思うように理解できませんね…
(※正式にはインテントは「Avtivity」「Broadcast Receiver」「Service」の起動時・受渡時に使用されるものだそうです。)

作成したアプリ

今回は私も理解が不十分ですが、私なりに理解した内容でまとめてみます。
実際に作成したアプリを見ながら確認していきましょう。

このアプリは身長と体重を入力すると、BMIを計算して表示するアプリです。また、このアプリの画面配置を図にしてみました。
(※BMIは別の画面で表示させます。)

アプリの表示画面について

アプリの画面の構造を簡単に説明します。
テキストビュー(TextView)で項目と計算結果を表示しています。(身長、体重、BMI、BMI計算結果)
エディットテキスト(EditText)に値を入力させます。(身長、体重)
ボタン(Button)を押すと、入力値を基にBMIを計算し、次画面のテキストビューに表示します。
「idあり」と書きましたがこのidは要素であり、この要素の橋渡しとなるのがインテントです。

アプリのエラー処理

アプリにエラー処理を追加しました。
プログラムなので当然ですが、エラー処理を記述しないと「未入力」や「負の値を入力」の場合は強制終了していまいます。
また「小数点以下」の数値を入力した場合は小数点が切り捨てになってしまいます。
そこでこのようにエラー処理を付け加えてみました。
(この処理の記述は私のオリジナルです。うまくいかない部分を須藤講師にアドバイスをもらいながら修正しました。)

if文を使って処理を分けたり、小数点を表示させるためにint型からdouble型に変更したり…
画面(アクティビティ)が2つあるので、片方を修正した場合はもう片方もそれに合わせて修正します。
普通に考えればわかることですが・・・意外と忘れます。
そして久しぶりにJavaの演習を思い出しました。
懐かしささえ覚えますね。笑

そして今回も毎度お馴染みのToastを、エラーの内容を表示するために使用しました。
本当によく使用しますし、何よりユーザーにとって分かり易いですね。

こちらが修正完了後です。
各誤操作や小数点の値が入力された場合は、このような結果を表示させます。

以上が本日の講座内容でした。

それにしても段々難しくなってきました。
ついていけてない気がします。苦笑
まだまだ努力が必要ですね。。

ところで、数字を入力させる、計算させる、結果を別の画面に表示させる、エラーの場合はポップアップ表示...
本格的にアプリを作成しているという実感が湧いてきます。
ここで入力した値をデータベースに登録して、入力画面の下方に配置したボタンからデータベース一覧の画面に移動して、
データ一覧から選択したものが自動的に先ほどの入力画面に入力されて・・・。
という処理まで付け加えたら更におもしろそうです。

あ、いや、決して次の講座でやってみたいという訳ではありませんよ。笑
あくまでも個人でやってみたいということです。笑

ではまた次回もよろしくお願いします!


Android 講座



  未経験OKの仕事 |  上場企業の仕事 |  高待遇の仕事 |  外資系の仕事 |  社内SEで検索 |  自社サービスで検索





メールアドレス
ご質問・問い合わせ等、ご自由にお書きください。