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.

0720 abc seminar

645 views

Published on

ABC2015 Summerの講演資料です。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

0720 abc seminar

  1. 1. 講義用資料 ABC2015 Summer いまからはじめるAndroidアプリのつくりかた 有限会社ローグ・インターナショナル 羽山 博
  2. 2. 予定・内容  時間:14:00〜14:45  内容:Androidアプリのつくりかた  簡単なおみくじプログラムを例として  しくみの理解を中心に:×なんとなくできた→○わかっ た!
  3. 3. アプリのつくりかた、ここがわからん!  全体像が見えない!  どこまでがあらかじめ作られているもの?  あらかじめ作られているものはどう動くの?  デザインした画面とコードの関係が謎  おまじないの意味を知りたい!  参照を取得するってどういうこと?  イベントリスナーの()や{}が複雑すぎて……  finalって何? ……などなど。それらの意味やしくみを解きほぐしていきま しょう!
  4. 4. ともあれ、アプリを作ってみましょう!  ステップ1:Android Studioの起動から、新規アプリ の作成まで  手順はデモンストレーションします  はじめてアプリを作る人がつまづく謎の箇所について、詳 しく説明します  分からないところは気にせずにどんどんやればいい ……とよく言われますが、やっぱり気になりますよね
  5. 5. 謎その1:プロジェクト作成時の謎  Company Domainって何?  Package nameって何?
  6. 6. 謎解きその1  Company Domain  アプリを一意に識別するための名前  ドメイン名を使うのがならわし  Package name  Javaのプログラム (クラス)を まとめておくために 使う  関連のあるクラスを ひとまとめにして おくと便利 (ですよね)
  7. 7. 謎その2:アクティビティ作成時の謎  Activity Nameって何?  Layout Nameって何?
  8. 8. 謎解きその2  これです!
  9. 9. 次は、画面のデザインですね  ステップ2:画面のデザインに進みましょう  同様に、手順はデモンストレーション  謎解きをしながら……  ウィジェットの配置やプロパティの設定については、それほど謎 はないですね
  10. 10.  ウィジェットはどのようにして識別するの?  画面のデザインがXMLで記録されているのは分かる  idを付けて区別するのは分かる  でも、なんだかモヤモヤする…… 謎その3:デザイン時の謎
  11. 11.  実は、整数値が(自動的に)割り当てられています!  R.idクラスで定義されています  この整数値を使って、ウィジェットを識別します(詳細はま た後述)  ちなみに……画像リソースはR.drawableクラスで整数値が割 り当てられています 謎解きその3
  12. 12. 謎その4:コードの謎(アクティビティ)  Androidアプリってどこから実行されるの  再び、アクティビティって何?  インスタンスを作らなくてもいいの?
  13. 13.  アクティビティ(MainActivityクラス)は、ActionBarActivityなど のクラスを継承したクラス  親クラスはアプリの画面の基本的な機能を持ったクラス  それに自分で機能を追加していけばよい  アプリの実行時に、自動的にインスタンスが作られます  配置したレイアウトや ウィジェットも setContentViewメソッド により、インスタンス化 されます  ちなみに、 ActionBarActivityは 古くなったので、今は AppCompatActivityの 使用が推奨されています 謎解きその4
  14. 14. 謎その5:コードの謎(参照)  参照がよく分からん!  例えば、乱数を使うときのおまじない Random r = new Random(); の意味って?
  15. 15.  変数には値型の変数と参照型の変数がある  値型の変数には値そのものが入れられます(値型はプリミ ティブ型とも呼ばれます)  これは分かる。int i;とかでしょ  参照型の変数にはオブジェクトの参照が入れられます。  だから、参照って何! →参照とは、オブジェクトがどこにあるかという情報だと考える とよい ※ここでは「オブジェクト」と「インスタンス」をほぼ同じ意味で使って います  コードを2つに分けて見てみましょう。 Random r; …… ① 参照型の変数rを宣言(Randomクラスのオブ ジェクトを参照する) r = new Random(); …… ② Randomクラスのオブジェクトを新 しく作り、その参照をrに代入する (次のスライドに続く) 謎解きその5
  16. 16. ①のコード Random r; r りもこん、 つくった Randomクラスのオブジェクトを参照 するための変数
  17. 17. ②のコードの右辺 new Random(); r オブジェクト nextIntメソッド ほんたい、 つくった Randomクラスで定義されたデー タや機能を実体化したもの
  18. 18. ②のコード全体 r = new Random(); r オブジェクト nextIntメソッド ほんたいを、りもこん に、 むすびつけた • new演算子は、作成したオブジェクトの参照を返す • それをrに代入する(データの流れは青い矢印) • rを使ってオブジェクトが操作できるようになる(参 照の方向は赤い矢印:通常はこの矢印だけを示す)
  19. 19. 謎その6:コードの謎(イベントリスナー)  イベントリスナーってなんであんなに複雑? Button b = (Button)this.findViewById(R.id.buttonShow); final ImageView img = (ImageView)this.findViewById(R.id.imageDroid); final TextView t = (TextView)this.findViewById(R.id.textFortune); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int fortune; Random r = new Random(); fortune = r.nextInt(2); if (fortune == 0) { img.setImageResource(R.drawable.good); t.setText("大吉"); } else { img.setImageResource(R.drawable.bad); t.setText("凶"); } } });
  20. 20.  何段階かのコードを1つにまとめてしまったた め!  じゃあ、段階を追って見ていけば納得できる? − できま す!  setOnClickListenerメソッドには、クリックされたときの処理 を実行するオブジェクトを指定する  だから、基本は b.setOnClickListener(obj); という1行だけ!  では、objをどうやって作るか? − こうします! (次のスライドに続く) 謎解きその6
  21. 21. OnClickListenerを実装したクラスを作る protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b = (Button)this.findViewById(R.id.buttonShow); final ImageView img = (ImageView)this.findViewById(R.id.imageDroid); final TextView t = (TextView)this.findViewById(R.id.textFortune); listener obj = new listener(); …… listenerクラスのオブジェクトを作る b.setOnClickListener(obj); …… この2行をまとめる(次のスライド) } public class listener implements View.OnClickListener { …… OnClickListenerを実装 @Override public void onClick(View v) { …… クリックされたときに実行されるメソッド int fortune; Random r = new Random(); fortune = r.nextInt(2); if (fortune == 0) { img.setImageResource(R.drawable.good); t.setText("大吉"); } else { img.setImageResource(R.drawable.bad); t.setText("凶"); } } }
  22. 22. OnClickListenerを実装したクラスを作る protected void onCreate(Bundle savedInstanceState) { : b.setOnClickListener(new listener()); …… objという変数が不要になった } public class listener implements View.OnClickListener { …… listenerの部分に埋め込む(次のスライ ド) @Override public void onClick(View v) { int fortune; Random r = new Random(); fortune = r.nextInt(2); if (fortune == 0) { img.setImageResource(R.drawable.good); t.setText("大吉"); } else { img.setImageResource(R.drawable.bad); t.setText("凶"); } } }
  23. 23. 匿名クラス(無名クラスにする)  実際に埋め込むと…… b.setOnClickListener(new View.OnClickListener() { …… listenerというクラス名も不要に なった @Override public void onClick(View v) { int fortune; Random r = new Random(); fortune = r.nextInt(2); if (fortune == 0) { img.setImageResource(R.drawable.good); t.setText("大吉"); } else { img.setImageResource(R.drawable.bad); t.setText("凶"); } } });
  24. 24. 謎ファイナル:コードの謎(final)  finalって何? Button b = (Button)this.findViewById(R.id.buttonShow); final ImageView img = (ImageView)this.findViewById(R.id.imageDroid); final TextView t = (TextView)this.findViewById(R.id.textFortune); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int fortune; Random r = new Random(); fortune = r.nextInt(2); if (fortune == 0) { img.setImageResource(R.drawable.good); t.setText("大吉"); } else { img.setImageResource(R.drawable.bad); t.setText("凶"); } } });
  25. 25. 謎解きファイナル  finalとは  値が変更できないようにする、ということ  イベントリスナーの中で利用している→ほかの箇所で変 数の値が変更されたり、破棄されたりするのを防ぐ  imgやtは参照型の変数 →参照を変更できない、ということ 参照先の画像やテキストはもちろん変更できる
  26. 26. まだまだ謎は尽きませんが…… 続きはいずれまたの機会に! お疲れさまでした ……

×