Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

講義資料

925 views

Published on

  • Be the first to comment

  • Be the first to like this

講義資料

  1. 1. インテリジェントシステム 第5回
  2. 2. 課題 <ul><li>部品を3個以上用いて、Androidの画面を作成せよ </li></ul><ul><li>作成された画面のコピーとリソースファイルを添付してレポートを作成せよ </li></ul><ul><ul><li>6月15日まで </li></ul></ul>
  3. 3. 実際のプログラムに触れてみる <ul><li>下記にサンプルプログラムがあります </li></ul><ul><li> (SDKのあるディレクトリ)android-sdk-windows-1.5_r1platformsandroid-1.5samples </li></ul>
  4. 4. サンプルプログラム <ul><li>HelloActivity </li></ul><ul><li>JetBoy </li></ul><ul><li>LunarLander </li></ul><ul><li>NotePad </li></ul><ul><li>Snake </li></ul><ul><li>等 </li></ul>
  5. 5. サンプルプログラムの見方 <ul><li>Eclipseにプロジェクトごと読み込める </li></ul>
  6. 6. ここをクリック ソースプログラムの位置を指定
  7. 7. プログラムを動かしてみよう <ul><li>Snakeの例 </li></ul>
  8. 8. Snakeを構成するプログラム <ul><li>Java </li></ul><ul><ul><li>Snake.java </li></ul></ul><ul><ul><li>SnakeView.java </li></ul></ul><ul><ul><li>TileView.java </li></ul></ul><ul><li>XML </li></ul><ul><ul><li>snake_layout.xml </li></ul></ul>
  9. 9. SnakeView Snake Activityを定義するメインプログラム 大半の機能が集約されたプログラム 600m secごとに動作 TileView 継承 update() RefreshHandler 自分自身にメッセージを送る ハードウェア onKeyDown() 複数の四角領域を表示 setTile()  (タイルの定義) onDraw() ( 本当の表示部分) onCreate() onPause() onSaveInstanceState() Android
  10. 10. まとめると <ul><li>イベントの処理 </li></ul><ul><ul><li>onXXX メソッドによって行われる </li></ul></ul><ul><ul><ul><li>初期化 </li></ul></ul></ul><ul><ul><ul><li>キーボードからの入力 </li></ul></ul></ul><ul><li>メッセージの処理 </li></ul><ul><li>実際の描画 </li></ul><ul><ul><li>Canvas.drawBitmap メソッドによる </li></ul></ul>
  11. 11. Activityに起きるイベント <ul><li>アクティビティの状態変化につれて以下のイベントが順に起きる </li></ul><ul><li>onCreate()   (必須、他は必要に応じて) </li></ul><ul><li>onStart() </li></ul><ul><li>onResume() </li></ul><ul><li>アクティビティの実行が起こる </li></ul><ul><li>onFreeze() </li></ul><ul><li>onPause() </li></ul><ul><li>onStop() </li></ul><ul><li>onDestroy() </li></ul>
  12. 12. Viewに起きる主なイベント <ul><li>onSizeChange() サイズが変わったとき </li></ul><ul><li>onDraw() 描画しなければいけないとき </li></ul><ul><li>onKeyDown() キーが押されたとき </li></ul><ul><li>onKeyUp() キーがはなされたとき </li></ul><ul><li>onTouchEvent() タッチスクリーンが触れられたとき </li></ul><ul><li>onFocusChanged() フォーカスを得たり失ったりしたとき </li></ul>
  13. 13. Message <ul><li>Handler クラスによって Message を割り当てたり、送ったりすることができる </li></ul><ul><ul><li>メッセージキューとスレッドを持つ </li></ul></ul><ul><ul><li>obtainMessage(), sendMessage(), sendMessageDelayed() 等を通して利用 </li></ul></ul><ul><ul><li>handleMessage() によって受け取る </li></ul></ul><ul><li>Message には、データの集まり( Bundle) を添付することができる </li></ul>

×