Mais conteúdo relacionado
Semelhante a 【LiT Leaders】Android0309 (20)
【LiT Leaders】Android0309
- 2. 前回のおさらい
→Googleの開発した汎用OS。様々なメーカーから
・Androidとは何か? 様々なバージョンの製品が作られている。高い自由度
が特徴
・Androidアプリ開発 →Java,Android SDK, Eclipseなど様々なソフト
∟開発環境 の複合環境
→プロジェクトの作成、レイアウト構築(XML)
∟開発から実行の流れ とプログラミング(JAVA)、実行とデバッグ
・アプリ開発の流れ
∟企画 →コンセプトを考え、要素を組み立てる
→画面デザインなどUI設計(レイアウトの編集)
∟デザイン デザインソフトによるパーツの作成
イラストレーターの使用方法
∟実装 →・アルゴリズムの理解(ボタンイベント、条件分岐、繰り返し処理など)
・プログラムの文法理解(“=”,if文,purasuメソッドなど)
・プログラム的な落とし込み(アプリ、それを使う人の動作から)
13年3月12日火曜日
- 3. §アプリ開発方法のまとめ
・アプリ作成の流れ
→コンセプト、デザイン、コーディング
・アルゴリズム
→入出力、演算、条件分岐、ループetc
・オブジェクト指向プログラミング
→クラス(フィールド、メソッド)
13年3月12日火曜日
- 4. §構想から製作まで
・アプリ作成の流れ
→コンセプト、デザイン、コーディング
作りたいアプリのアイデアは人に説明出来ますか?
アプリのデザイン、画面遷移は図にできますか?
必要な処理について洗い出しができますか?
コンセプト、デザイン、コーディングは
順番に進めていきましょう
13年3月12日火曜日
- 5. §プログラムの実際の処理内容
・アルゴリズム
→入出力、演算、条件分岐、ループetc
if, switch, for, while文は正しく書けますか?
処理させたい内容をプログラムに落とし込めますか?
具体的な処理の実現方法、それらを組み
合わせて複雑な処理を行わせる方法、両
方とも出来る必要があります
13年3月12日火曜日
- 6. §オブジェクト指向について
・オブジェクト指向プログラミング
→クラス(フィールド、メソッド)
オブジェクト指向とは何か?
オブジェクト、クラス、インスタンスとは何?
インスタンスのメンバへのアクセス方法は?
目標:これまで作ってきたアプリのコー
ドを読める(理解できる)ようにしよう
13年3月12日火曜日
- 8. §本日のおさらい
・Androidコンポーネント →Activity, Service,Broadcast receiver, Content Providerの4つ
が存在。一つの画面に対して一つのActivityが対応
・Acticityのライフサイクル →Activityが生成されてから、消滅するまでには一定の流れが
存在。その中で、onCreate(), onPause()などはライフサイク
ルの中で自動的に呼び出されるメソッド
・画面遷移とIntent →IntentはAndroidにおける連絡役。画面遷移やデータの受け渡
しなどに使用する。アプリ間での使用も可能
・Android Manifest →プロジェクトの情報を管理している。画面を増や
したらManifestへも記載する
・イベント処理について →代表例:ボタンのクリックについても複数
の処理が存在。
→R.javaが存在しない時はXMLファイルのエラー。
・エラーの対処方法
13年3月12日火曜日
- 10. オブジェクト指向とは?? 分かりやすさ重視で正確な定義などから
は外れています。ご留意下さい
◆抽象的な概念 ◆具体的な形式 プログラムに落としこむと…
オブジェクト… データ と 処理方法 をまとめた集合 クラス… フィールド と メソッド を指定する
メッセージ…オブジェクト同士が受け渡す情報 オブジェクトの定義(みたいなもの)
インスタンス…クラスを基に生成される具体的
→オブジェクトという、相互に連絡しあう構成単位 なデータの集合( データ と 処理方法 を持っ
でプログラムを組み立てる設計思想の事 ているので、オブジェクトとなる)
オブジェクト
メ
ッ
フィールド セ
ー
ジ
の
や オブジェクト
り
オブジェクト 取
メソッド り
フィールド
フィールド ◆メッセージの内容
値の読み取り、書き込み
メソッド
メソッドの実行命令
メソッド
etc
オブジェクト
フィールド
メソッド
13年3月12日火曜日
- 11. クラス:フィールドとメソッド
◆クラス
クラスはオブジェクトの設計図として考えることができます。大きく分けてフィールド
(メンバ変数)とメソッドから成り立ちます。
実際にオブジェクトを使用する時はクラス(設計図)から、インスタンス(実物)を作成
して、使用します
具体例
TextViewクラス メソッドの形式 Javaの場合
(アクセス修飾子) (戻り値の型) メソッド名 (引数の型 引数名){
フィールド メソッドの内容
}
android:text
コードを理解するために(メソッド内の変数)
メソッドの中で宣言された変数などは、メソッド内のみ有効
メソッド →クラスの変数(フィールド)とは区別されるので注意
public final void setText
(CharSequence text) フィールドの形式 Javaの場合
・・・ (アクセス修飾子) (型) フィールド名;
13年3月12日火曜日
- 12. インスタンスの作成、関連付け
TextViewクラス クラス名 インスタンス名;
と書くことでインスタンスを
フィールド 作成する
android:text
private TextView mTextNumber;
private TextView mTextAho;
メソッド
public final void setText
private TextView mTextRatio;
(CharSequence text) コードを理解するために(基本型と参照型)
変数には基本型(int doubleなど)と参照型という物が存在する。
・・・ 基本型は 値 のみ!
参照型はクラスから作られるインスタンスなので、 値 と メソッド を
持っている。どちらもクラスのフィールドとして使用可能
コードを理解するために(インスタンスとXMLオブジェクトの関連付け)
Javaのフィールド XMLのオブジェクト
mTextNumber = (TextView)findViewById(R.id.textView_number);
mTextAho = (TextView) findViewById(R.id.textView_aho);
mTextRatio = (TextView) findViewById(R.id.textView_ratio);
キャスト メソッド名 int型
int型からTextView型へ
13年3月12日火曜日
- 13. フィールド、メソッドへのアクセス
◆インスタンスのフィールド、メソッドの使用方法
インスタンスはクラス(設計図)が持つフィールド、
メソッドを使用することができます。
Carクラス(設計図)
フィールドの形式
int number Car1.number = 20130212;
String setText()
このコードが書かれているオブジェクトから
Car1オブジェクト(インスタンス)に値書き込みのメッセージが渡っている
メソッドの形式
Car1(インスタンス)
TextView text1;
int number
text1.setText( Car1.setText() );
String setText()
13年3月12日火曜日
- 14. クラスの継承
◆super, Extends, Implementsとは??
クラスは親子関係をもたせる事が可能です。
子供に親の持つ機能を使わせる事ができるようになります
Javaの全ての親クラス
Java.lang.Object
コードを理解するために(アクセス修飾子)
コードを理解するために(オーバーライド)
public, private, protectedなどはアクセス
親クラス(スーパークラス)から継承したメ
修飾子という物です。そのデータに対して、
のアクセス(読み込み書き込みなど)の制限
親クラス ソッドの内容を、変更して、新しいメソッド
内容を作成すること。
を行なっている
MethodA()
子クラスA 親クラスは一つしか持つこ
とができない。それゆえ、 子クラスB
クラスは全て樹形図の様に
MethodA() @override
繋がっている
親メソッドの使用 MethodA(int number)
MethodB() オーバーライド
メソッドの新規作成
13年3月12日火曜日
- 15. コードを実際に読んでみよう(ex:カウントアプリ)
import:使用するクラスがSDKの中のどこにあるのかを指定
クラス class クラス名 extends 親クラス:Activityクラスを基に
カウントアプリで表示されるActivityを作成する
Activityクラスのフィールドを指定:他のクラス(TextView)からインスタンス
フィールド を作成して、このクラスの変数としている。
onCreate():このActivityのインスタンスが作られ
た時(=アプリ起動時)に呼ばれるメソッド
findViewById():Activityの変数とXMLを関連付け
メソッド purasu():このクラスが持つメソッド。ボタンからのイベントが引数
(この場合は実行条件の意味合い)となり、void型なので、戻り値を出
さない。
setText():Text1はこのクラスの変数と同時に、TextViewクラスのインスタンスな
ので、そのメソッドを呼び出している。表示内容はStringクラスの静的メソッド
format()によって、int型のnumberから変換した文字列
13年3月12日火曜日
- 16. 参考:Objective-cでの表現
クラスの宣言 @interface クラス名:スーパークラス{
メンバ変数
hファイル }
メソッド宣言
@end
クラスの実装 #import hoge.h
@implementation
mファイル 各種実装
@end
13年3月12日火曜日
- 17. 文字列 @ 文字列
cf) オブジェクト名.メソッド名()
メッセージ式 [オブジェクト名 メソッド名]
オブジェクト間でメッセージを送っている事を表現している
([メッセージの宛先 内容])
メソッド
-(戻り値の型) メソッド名 : (引数の型) 引数名 ラベル名 : (引数の型) 引数名
13年3月12日火曜日