Download presentation
Presentation is loading. Please wait.
1
創造工学設計I 電子情報工学科4年(前期) 8回目 (04/6/2015) 担当 古山彰一 (shoichi@nc-toyama. ac
創造工学設計I 電子情報工学科4年(前期) 8回目 (04/6/2015) 担当 古山彰一
2
レイアウトの基本 Android アプリの主要ファイル レイアウトを行う方法 ビュー:ユーザインタフェースを構成する要素のこと
MainActivity.java アクティビティを制御するソースコード activity_main.xml アクティビティのレイアウトを設定するXMLファイル レイアウトを行う方法 activity_main.xmlを記述 IDEのレイアウト専用画面を使う MainActivity.javaに記述 ビュー:ユーザインタフェースを構成する要素のこと APIは、android.view パッケージにまとめられている。 android.widgetにまとめられているものはウィジェットと呼ばれる レイアウトビュー リニアレイアウト・・・内部のビューを直線状に配置する。 相対レイアウト・・・相対的な位置で配置する。 テーブルレイアウト・・・内部のビューを格子状に配置 グリッドレイアウト・・・内部のビューを格子状に配置。
3
Androidアプリの開発過程 レイアウトの作成 ・・・ activity_main.xml
MainActivity.java でソースコードを記述 アクティビティが表示されるときの処理を記述 ・・・ MainActivity.java Android APIには android.app.Activity が用意されており、すべてのAndroidアプリはActivityクラスを継承したサブクラスを使ってアクティビ ティを作成。 ActionBarActivityクラスを継承したサブクラス「MainActivity」 Public class MainActivity extends ActionBarActivity{ …………………………………………………………. } Activityを起動する直前の処理・・・onCreate()メソッドをオーバーライドしてアクティビティをどんな状態で表示するかといった処理を記述。 @Override\\ public void onCreate(Bundle savedInstanceState){ … } onCreate()メソッドはActivityクラスで定義されているのでこれをオーバーライドして使う onCreate()メソッドのパラメータは、Android.osパッケージのBundleクラス型のパラメータが設定。onCreate()が呼ばれるときは、アクティビティが前回起動したときに情 報を格納したBundleクラスのインスタンスが引数として渡される。 Super.onCreate(savedInstanceState); 最初の処理としてスーパークラスのonCreate()メソッドを呼び出す。 savedInstanceStateを引数として渡して、スーパークラス側のメソッドで定義されている処理を行う。 setContentView(R.layout.activity_main); activity_main.xmlで配置するように指定してあるビューをアクティビティに貼り付けるためのメソッド。 R.layout.activity_main には、R.javaファイル内に自動生成されたサブクラスlayoutで定義されているactivity_main.xmlを参照するためのint型の値を取得する機能があ る。 ビューに関する処理を記述 ・・・ MainActivity.java 配置されたビューに対して、ビューを操作したときの処理をJavaコードで記述。 例)ボタンがクリックされたときにダイアログボックスを表示する、テキストボックスに入力された文字列を専用のビューに表示する、など。
4
ボタンをタップしたときにメッセージを表示したい!
プロジェクト名は、 Chap7_2 @string/hello_worldの文字を削除して、「ここにメッセージを表示します」に置き換える。
5
idの欄に「@+id/textView1」と代入
PaletteのWidgetsカテゴリにあるButtonをクリックして、テキストビューの下にドラグする
6
Textタブをクリックすると、xmlファイルを見ることができる。課題1) ここで見えるタグについて一通り確認、調べる。
RelativeLayout xmlns:android xmlns:tools android:layout_width android:layout_height tools:context TextView android:text android:id Button android:layout_below
7
プログラムの要所 final TextView textView = (TextView) findViewById(R.id.textView1); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ textView.setText("Button Pushed."); テキストビューのインスタンスをゲット ボタンのインスタンスをゲット ボタンのインスタンスにイベントリスナーを登録
8
package jp. ac. nc_toyama. chap7_2; import android. support. v7. app
package jp.ac.nc_toyama.chap7_2; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView textView = (TextView) findViewById(R.id.textView1); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ textView.setText("Button Pushed."); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
9
NEW BUTTON を押すとテキストビューにメッセージが表示される。
課題2: ここの表示を自分で変更して、遊んでみよう!
10
課題について 課題1~2をpdfファイルにしてメールで提出しなさい。 締切 本日中(23:59まで)
締切 本日中(23:59まで) 課題ファイル名 08i4??.pdf (??は二桁の出席番号)
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.