例題 3-2 ボタンをクリックしたらタイトルバーにテキストを表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="

Size: px
Start display at page:

Download "例題 3-2 ボタンをクリックしたらタイトルバーにテキストを表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height=""

Transcription

1 3-2 ボタン (Button) とクリック リスナー ボタンにクリック リスナーを付け ボタンのクリック ( タップ ) で何かの処理を行う 方法を説明します 1. OnClickListener リスナーのインプリメント Button bt=(button)findviewbyid(r.id.button); で取得したボタン bt がクリックされたときの処理を行うクリック リスナーを付けるにはまず implements OnClickListener で OnClickListener インターフェースを Activity クラスに追加します public class Widget1 extends Activity implements OnClickListener{ こうしておいてから bt.setonclicklistener(this); でボタン bt にクリック リスナー を設定します 2. インターフェース C++ では複数のクラスを継承する多重継承を認めていますが Java はこれを認めていません その代わりにインターフェースという概念により追加機能をクラスに実装できるようにしました インターフェースはクラスと同じようなものですが データ部やコンストラクタのない特別な小規模なクラスと考えることができます インターフェースは implements によりクラスに追加します 複数のインターフェースを追加したい場合はコンマで区切ります 3. onclick メソッド OnClickListener を追加した場合 そのクラス内に onclick メソッドが必要となります そしてこの onclick メソッド内にクリックが生じたときの処理内容を記述します onclick メソッドの引数 view にはクリックしたウイジェットの View クラスのオブジェクトが渡されます public void onclick(view view) { クリックが生じたときの処理 4. タイトルバーへのテキストの表示 タイトルバーにテキストを表示するには settitle メソッドを使って以下のようにします settitle(" テキスト ");

2 例題 3-2 ボタンをクリックしたらタイトルバーにテキストを表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:layout_height="wrap_content" android:text=" クリックしてね " /> </LinearLayout> MainActivity.java package com.example.button1; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt=(button)findviewbyid(r.id.button); bt.setonclicklistener(this); public void onclick(view view) { settitle(" クリックしました!");

3 5. 複数のボタンの判定 複数のボタンに同じクリック リスナーを設定した場合は onclick メソッドの view 引 数を使って view.getid() でクリックされたボタンの ID を判定します public void onclick(view view) { if (view.getid()==r.id.button1) // ボタン 1 の処理 else if (view.getid()==r.id.button2) // ボタン 2 の処理 練習問題 3-2 ボタンを 2 つ配置し クリックされたボタンをタイトルバーに表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_height="wrap_content" android:text=" ボタン1" /> <Button android:id="@+id/button2" android:layout_height="wrap_content" android:text=" ボタン2" />

4 </LinearLayout> MainActivity.java package com.example.button2; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1); bt1.setonclicklistener(this); Button bt2=(button)findviewbyid(r.id.button2); bt2.setonclicklistener(this); public void onclick(view view) { if ( 1 ) settitle(" ボタン1をクリック "); else if ( 2 ) settitle(" ボタン2をクリック ");

5 3-3 テキストビュー (TextView) TextView はテキスト表示用のウィジェットで <TextView> タグで定義します テキストビューにテキストを表示するには settext メソッドを使います TextView text1=(textview)findviewbyid(r.id.text1); text1.settext(" クリックしました "); テキストの表示色は settextcolor で設定できます text1.settextcolor(color.green); 例題 3-3 ボタンをクリックしたら TextView にテキストを表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_height="wrap_content" /> <Button android:layout_height="wrap_content" android:text=" クリックしてね " /> </LinearLayout> MainActivity.java package com.example.textview1; import android.app.activity;

6 import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt=(button)findviewbyid(r.id.button1); bt.setonclicklistener(this); public void onclick(view view) { TextView text1=(textview)findviewbyid(r.id.text1); text1.settext(" クリックしました "); 練習問題 3-3 ボタン 1 をクリックしたら緑で ボタン 2 をクリックしたら赤で TextView にテキストを表示しなさい activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <TextView

7 android:layout_height="wrap_content" /> <Button android:layout_height="wrap_content" android:text=" ボタン1" /> <Button android:layout_height="wrap_content" android:text=" ボタン2" /> </LinearLayout> MainActivity.java package com.example.textview2; import android.app.activity; import android.graphics.color; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1); bt1.setonclicklistener(this); Button bt2=(button)findviewbyid(r.id.button2);

8 bt2.setonclicklistener(this); public void onclick(view view) { TextView text1=(textview)findviewbyid(r.id.text1); if (view.getid()==r.id.button1){ text1.settextcolor( 1 ); text1.settext(" ボタン1をクリック "); else if (view.getid()==r.id.button2){ text1.settextcolor( 2 ); text1.settext(" ボタン2をクリック ");

9 3-5 チェックボックス (CheckBox) CheckBox は項目のクリックのたびにチェック状態 (ON) と非チェック状態 (OFF) を交互に繰り返すウイジェットで <CheckBox > タグで定義します チェックボックスは個々に次のように取得します CheckBox cb=(checkbox)findviewbyid(r.id.check1); この cb を用いて cb.ischecked() が true ならチェック状態 false なら非チェック状 態と判定できます チェックボックスの項目のテキストは cb.gettext() で取得できます 例題 3-5 ボタンのクリックでりんご みかん いちごのチェックされている項目をタイトルバーに表示します チェックボックスが 3 個あるので CheckBox cb[]=new CheckBox[3]; のような CheckBox 型配列を用意し cb[0],cb[1],cb[2] で 3 個のチェックボックスを管理します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <CheckBox android:id="@+id/check1" android:layout_height="wrap_content" android:text=" りんご " /> <CheckBox android:id="@+id/check2" android:layout_height="wrap_content" android:text=" みかん " /> <CheckBox android:id="@+id/check3"

10 android:layout_height="wrap_content" android:text=" いちご " /> <Button android:layout_height="wrap_content" android:text=" クリックしてね " /> </LinearLayout> MainActivity.java package com.example.checkbox1; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1); bt1.setonclicklistener(this); public void onclick(view view) { CheckBox cb[]=new CheckBox[3]; cb[0]=(checkbox)findviewbyid(r.id.check1); cb[1]=(checkbox)findviewbyid(r.id.check2); cb[2]=(checkbox)findviewbyid(r.id.check3); String msg=""; for (int i=0;i<3;i++){ if (cb[i].ischecked())

11 msg+=cb[i].gettext()+":"; settitle(msg); 練習問題 3-5 CheckBox のチェックの判定に配列を使わずに個々に判定しなさい activity_main.xml 例題 3-5 と同じ MainActivity.java package com.example.checkbox2; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate);

12 setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1); bt1.setonclicklistener(this); public void onclick(view view) { String msg=""; CheckBox cb; cb=(checkbox)findviewbyid(r.id.check1); if (cb.ischecked()) msg+=cb.gettext()+":"; cb=(checkbox)findviewbyid( 1 ); if (cb.ischecked()) msg+=cb.gettext()+":"; cb=(checkbox)findviewbyid( 2 ); if (cb.ischecked()) msg+=cb.gettext()+":"; settitle(msg);

13 3-6 ラジオボタン (RadioGroup と RadioButton) RadioButton は RadioGroup でグループ化された各項目の中で クリックされた 1 つをチェック状態 (ON) に 他を非チェック状態 (OFF) にするウイジェットです グループ単位で動作するため < RadioGroup > タグの中にそのグループに属するラジオボタンを <RadioButton> タグで定義します 初期設定でチェック状態にしておきたいラジオボタンに android:checked="true" を指定します この指定がいずれかのラジオボタンになければ 初期状態はどのラジオボタンもチェック状態にありません <RadioGroup > グループの定義 <RadioButton /> グループ内の個々のラジオボタン <RadioButton /> </RadioGroup> グループ内でチェックされている項目は 1 つです この項目を取得するには次のように します rg.getcheckedradiobuttonid() でグループ内でチェックされているラジオボタン の ID を取得できます RadioGroup rg=(radiogroup)findviewbyid(r.id.radiogroup); RadioButton rb=(radiobutton)findviewbyid(rg.getcheckedradiobuttonid()); rb.gettext(); 例題 3-6 ボタンのクリックで ON になっているラジオボタンの内容をタイトルバーに 表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <RadioGroup android:id="@+id/radiogroup" android:layout_height="wrap_content" > <RadioButton

14 android:layout_height="wrap_content" android:checked="true" android:text=" 男 " /> <RadioButton android:layout_height="wrap_content" android:text=" 女 " /> </RadioGroup> <Button android:layout_height="wrap_content" android:text=" クリックしてね " /> </LinearLayout> MainActivity.java package com.example.radiobutton1; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1);

15 bt1.setonclicklistener(this); public void onclick(view view) { RadioGroup rg=(radiogroup)findviewbyid(r.id.radiogroup); RadioButton rb=(radiobutton)findviewbyid(rg.getcheckedradiobuttonid()); settitle(rb.gettext()); 練習問題 3-6 Android ios Windows という 3 項目のラジオボタンを作り チェック されているものをタイトルバーに表示しなさい activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <RadioGroup android:id="@+id/radiogroup" android:layout_height="wrap_content" > <RadioButton android:id="@+id/radio1"

16 android:layout_height="wrap_content" android:checked="true" android:text= 1 /> <RadioButton android:id="@+id/radio2" android:layout_height="wrap_content" android:text= 2 /> <RadioButton android:id="@+id/radio3" android:layout_height="wrap_content" android:text= 3 /> </RadioGroup> <Button android:id="@+id/button1" android:layout_height="wrap_content" android:text=" クリックしてね " /> </LinearLayout> MainActivity.java package com.example.radiobutton2; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements

17 public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1); bt1.setonclicklistener(this); public void onclick(view view) { RadioGroup rg=(radiogroup)findviewbyid(r.id.radiogroup); RadioButton rb=(radiobutton)findviewbyid(rg.getcheckedradiobuttonid()); settitle(rb.gettext());

18 3-7 スピナー (Spinner) Spiner はスピナーの ボタンのクリックでスピナーに登録されている項目をポップアップ画面に表示し その項目の中から1つを選択するウイジェットで <Spiner> タグで定義します 表示される各項目はラジオボタンと同様な動作をします スピナーに登録する項目は android:entries 属性に指定します <Spinner は res/values フォルダの string.xml に次のように定義した内容を指します <resources> <string-array name="items"> <item> 学生 </item> <item> 会社員 </item> <item> 主婦 </item> </string-array> </resource> スピナーの選択されている項目の内容は以下のようにして取得できます Spinner sp=(spinner)findviewbyid(r.id.spinner); sp.getselecteditem(); 取得したデータは Object 型なので 項目の内容を取得するには (String) sp.getselecteditem() または sp.getselecteditem().tostring() とします 選択されている項目の番号 (0 スタート ) は sp.getselecteditemposition() で取得で きます

19 例題 3-7 スピナーの ボタンのクリックでスピナーに登録されている項目の中から 1 つ を選択します ボタンのクリックで スピナーで選択されている項目の番号と内容をタイ トルバーに表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <Spinner android:id="@+id/spinner" android:layout_height="wrap_content" android:entries="@array/items" /> <Button android:id="@+id/button1" android:layout_height="wrap_content" android:text=" 選択した後でクリックしてね " /> </LinearLayout> res/values/string.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">spinner1</string> <string name="hello_world">hello world!</string> <string name="menu_settings">settings</string> <string-array name="items"> <item> 学生 </item> <item> 会社員 </item> <item> 主婦 </item> </string-array> </resources>

20 MainActivity.java package com.example.spinner1; import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; public class MainActivity extends Activity implements public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button bt1=(button)findviewbyid(r.id.button1); bt1.setonclicklistener(this); public void onclick(view view) { Spinner sp=(spinner)findviewbyid(r.id.spinner); settitle(sp.getselecteditemposition()+":"+(string)sp.getselecteditem());

21 注 Android 4.0 以後は Spinner はデフォルトでドロップダウン形式 android:spinnermode="dropdown" となります ダイアログ形式にするには android:spinnermode="dialog" とします 練習問題 3-7 スピナーの項目を Android ios Windows Linux の 4 項目にしなさい activity_main.xml,spinner2.java 例題 3-7 と同じ res/values/strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">spinner2</string> <string name="hello_world">hello world!</string> <string name="menu_settings">settings</string> <string-array name="items"> </string-array> </resources>

22

23 3-8 リストビュー (ListView) ListView は項目の一覧をリスト形式で表示するウイジェットで <ListView> タグで定義 します リスト項目の登録の仕方はスピナーの場合と同じです <ListView /> 1. OnItemClickListener リストビューでは通常 リスト項目の選択というイベントで処理を行います そこでリ ストビューには次のようにして OnItemClickListener を設定します ListView lv=(listview)findviewbyid(r.id.listview); lv.setonitemclicklistener(new ItemClick()); class ItemClick implements OnItemClickListener { public void onitemclick(adapterview<?> parent, View view,int position, long id) { リスト項目が選択されたときの処理 選択された項目は onitemclick メソッドの parent と position 引数を使って次のように取 得します String item=(string)((listview)parent).getitematposition(position); 注 ラジオボタン チェックボックス スピナーはクリックしたときの選択状態を保持しているので これらのウイジェットの直接のクリックイベントでなく ボタンのクリックイベントで これらのウイジェットの選択状態を取得できました ところがリストビューは項目をクリックしたとき 選択状態などを保持できません そのためリストビュー自体にイベントリスナーを設定します

24 2. ジェネリッククラスクラス名の右に <T> という 型パラメーター を指定したクラスをジェネリッククラスと呼びます たとえば List クラスは Integer String などのデータ要素をリストとして扱うことができるジェネリッククラスです 使用する場合は <> 内にデータ型を指定します List<String> list = new ArrayList<String>(); list.add(new String("Ann")); String x =list.get(0); ListView Spinner は AdapterView のサブクラスです このため onitemclick メソッドの第 1 引数は AdapterView<?> parent です (ListView) parent のように実際のクラスにキャストしてから使います さてここで AdapterView はジェネリッククラスですが 型パラメータは <?> となっています <?> はワイルドカードで無名のオブジェクト型を示します コンパイル時には型を特定せず 実行時に渡された型を適用することを意味します 例題 3-8 リストビューで選択された項目の内容をタイトルバーに表示します activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/listview" android:layout_height="wrap_content" android:entries="@array/items" /> </LinearLayout> strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">listview1</string> <string name="hello_world">hello world!</string> <string name="menu_settings">settings</string>

25 <string-array name="items"> <item> 学生 </item> <item> 会社員 </item> <item> 主婦 </item> </string-array> </resources> MainActivity.java package com.example.listview1; import android.app.activity; import android.os.bundle; import android.widget.*; import android.widget.adapterview.onitemclicklistener; import android.view.view; public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); ListView lv=(listview)findviewbyid(r.id.listview); lv.setonitemclicklistener(new ItemClick()); class ItemClick implements OnItemClickListener { public void onitemclick(adapterview<?> parent, View view,int position, long id) { String item =(String) ((ListView) parent).getitematposition(position); settitle(item);

26 練習問題 3-8 学生 会社員 主婦 の次に 男 女 のリストビューを追加しなさい 各リストビューの選択項目は TextView に表示しなさい activity_main.xml <LinearLayout xmlns:android=" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_height="wrap_content" /> <ListView android:layout_height="wrap_content" /> <TextView android:layout_height="wrap_content" />

27 <ListView android:layout_height="wrap_content" android:entries= 1 /> </LinearLayout> strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">listview2</string> <string name="hello_world">hello world!</string> <string name="menu_settings">settings</string> <string-array name="items1"> <item> 学生 </item> <item> 会社員 </item> <item> 主婦 </item> </string-array> <string-array 2 > <item> 男 </item> <item> 女 </item> </string-array> </resources>v MainActivity.java package com.example.listview2; import android.app.activity; import android.os.bundle; import android.widget.*; import android.widget.adapterview.onitemclicklistener; import android.view.view; public class MainActivity extends Activity

28 public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); ListView lv1=(listview)findviewbyid(r.id.listview1); lv1.setonitemclicklistener(new ItemClick1()); ListView lv2=(listview)findviewbyid(r.id.listview2); lv2.setonitemclicklistener(new ItemClick2()); class ItemClick1 implements OnItemClickListener { public void onitemclick(adapterview<?> parent, View view,int position, long id) { String item =(String) ((ListView) parent).getitematposition(position); TextView text1=(textview)findviewbyid(r.id.text1); text1.settext(item); class ItemClick2 implements OnItemClickListener { public void onitemclick(adapterview<?> parent, View view,int position, long id) { String item =(String) ((ListView) parent).getitematposition(position); TextView text2=(textview)findviewbyid(r.id.text2); text2.settext(item);

29

30 6-2 ビュー画面への描画 1. invalidate メソッドタッチイベントの発生で呼び出されるメソッド内では直接ビュー画面への描画を行うことができません このため GView クラスの gv をメンバ変数として宣言しておき gv.invalidate メソッドを使って ondraw メソッドを呼び出すことでビュー画面への描画を行います 2. ビュー画面のトップ位置 Android の通常の画面構成は画面上端からステータスバー タイトルバーがあり その下にビュー画面があります タッチイベントの event.gety(); で取得した y 座標の原点は画面の上端を原点にした値ですので この値を元にビュー画面に表示する場合は補正が必要になります この補正をする値はステータスバーとタイトルバーの高さの合計です これらの高さを求める方法はいくつかありますが ステータスバーとタイトルバーの高さを個々に求める代わりに画面上端からビュー画面のトップ位置までの距離は以下で得られます なお この値は oncreate メソッド内や Gview コンストラクタ内では画面構成が完成していないため 0 となってしまいますので ondraw メソッド内で取得しています float top=getwindow().findviewbyid(window.id_android_content).gettop(); したがってタッチイベントで得らられる event.gety(); からこの top を引いた値をビュ ー画面の y 座標として使えばよいことになります なお ステータスバー タイトルバー を消してフルスクリーンモードにすればこのような補正は必要ありません 例題 6-2 ビュー画面の左上隅からタッチムーブ位置に直線を描きます (px,py) がタッチ 位置です MainActivity.java package com.example.touch3; import android.app.activity; import android.content.context; import android.graphics.*; import android.os.bundle; import android.view.*;

31 public class MainActivity extends Activity { private float px=0,py=0; private GView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); private class GView extends View { private Paint paint; public GView(Context context) { super(context); paint=new Paint(); protected void ondraw(canvas canvas) { float top=getwindow().findviewbyid(window.id_android_content).gettop(); paint.setcolor(color.blue); canvas.drawline(0,0,px,py-top,paint); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_move){ px=event.getx(); // タッチ位置をメンバ変数に格納 py=event.gety(); gv.invalidate(); // 再描画 return super.ontouchevent(event);

32 練習問題 6-2 タッチムーブ位置にイメージを追従して移動しなさい MainActivity.java package com.example.touch4; import android.app.activity; import android.content.context; import android.graphics.*; import android.os.bundle; import android.view.*; public class MainActivity extends Activity { private float px=0,py=0; private GView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); private class GView extends View { private 1 public GView(Context context) { super(context); img=bitmapfactory.decoderesource(getresources(),r.drawable.sai); protected void ondraw(canvas canvas) { float

33 top=getwindow().findviewbyid(window.id_android_content).gettop(); canvas.drawbitmap( 2,null); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_move){ px=event.getx(); py=event.gety(); gv.invalidate(); return super.ontouchevent(event);

34 6-3 画面サイズ 画面の幅と高さは ondraw メソッドの canvas 引数を使って canvas.getwidth() と canvas.getheight() で取得できます 得られる高さにはステータスバーとタイトルバーの高さの合計が含まれていますので 描画できる画面の高さは以下のように top を引いた値となります top=getwindow().findviewbyid(window.id_android_content).gettop(); h=canvas.getheight()-top; 例題 6-3 画面中央に羅針盤を置き タッチ位置から北東 南東 南西 北西の 4 方向を 判定します MainActivity.java package com.example.touch5; import android.app.activity; import android.content.context; import android.graphics.*; import android.os.bundle; import android.view.*; public class MainActivity extends Activity { private float w,h,top; private GView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); private class GView extends View { private Bitmap img; public GView(Context context) { super(context); img=bitmapfactory.decoderesource(getresources(),r.drawable.compass);

35 protected void ondraw(canvas canvas) { top=getwindow().findviewbyid(window.id_android_content).gettop(); w=canvas.getwidth(); h=canvas.getheight()-top; canvas.drawbitmap(img,w/2-img.getwidth()/2,h/2-img.getheight()/2,null); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_move){ float px=event.getx(); float py=event.gety()-top; if (px>w/2 && py<h/2) settitle(" 北東 "); else if (px>w/2 && py>h/2) settitle(" 南東 "); else if (px<w/2 && py>h/2) settitle(" 南西 "); else if (px<w/2 && py<h/2) settitle(" 北西 "); return super.ontouchevent(event); 注 画面の幅と高さは View クラスの getwidth メソッド getheight メソッドで取得できます これらのメソッドは Gview コンストラクタ内では幅と高さが確定していないので値を取得できません ondraw メソッド内で取得します int w=getwidth(); int h=getheight(); Canvas クラスの getwidth メソッド getheight メソッドを使って次のように取得することもできます ただしこの場合 幅は View クラスの getwidth メソッドと同じですが 高さはステータスバーとタイトルバーの高さも含んでいます int w=canvas.getwidth(); int h=canvas.getheight();

36 画面サイズを別の方法で求めるには 11 章 ブラウザ (WebView) の 注 Display クラスの getwidth() と getheight() を参照 練習問題 6-3 1~8 のイメージを画面中央を中心とする半径 160 の円周上に配置します タッチ位置を元にタッチしたイメージを判定しなさい MainActivity.java package com.example.touch6; import android.app.activity; import android.content.context; import android.graphics.*; import android.os.bundle; import android.view.*;

37 public class MainActivity extends Activity { private int[] imageid={ R.drawable.num1,R.drawable.num2,R.drawable.num3,R.drawable.num4, R.drawable.num5,R.drawable.num6,R.drawable.num7,R.drawable.num8 ; private float public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(new GView(this)); private class GView extends View { public GView(Context context) { super(context); protected void ondraw(canvas canvas) { top=getwindow().findviewbyid(window.id_android_content).gettop(); w=canvas.getwidth(); h=canvas.getheight()-top; for (int i=0;i<8;i++){ Bitmap img=bitmapfactory.decoderesource(getresources(),imageid[i]); float x=(float)(160*math.cos(45*i*math.pi/180)); float y=(float)(160*math.sin(45*i*math.pi/180)); iw=img.getwidth(); ih=img.getheight(); canvas.drawbitmap(img, 1,h/2-y-ih/2,null); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_down){ float px=event.getx(); float py=event.gety()-top; for (int i=0;i<8;i++){ float x=(float)(160*math.cos(45*i*math.pi/180));

38 float y=(float)(160*math.sin(45*i*math.pi/180)); if ( 2 && px<w/2-x+iw/2 && h/2-y-ih/2<py && py<h/2-y+ih/2) settitle("no"+(i+1)); return super.ontouchevent(event); 注 Bitmap img=bitmapfactory.decoderesource(getresources(),imageid[i]); は ondraw メソッド内に置いているので 2-1 の 注 Android Lint Checks と 2-4 の 注 Android Lint Checks で示した理由により警告エラーとなります ondraw メソッド外でリソースを作成すればよいのですが 煩雑になるため ここでは ondraw 内に置きました

39 応用サンプル羅針盤の針を回す タッチムーブ位置の方向を指すように針を回転させます 羅針盤 compass と針 needle を画面中央に描画します 画面の中央位置を (w,h) に取得し canvas.translate(w,h); で画面中央に座標移動します 針の角度 angle はタッチ位置 (x,y) からアークタンジェントを使って Math.atan(y/x)*180/Math.PI で求め canvas.rotate(angle); で座標回転します MainActivity.java package com.example.compass; import android.app.activity; import android.os.bundle; import android.content.context; import android.graphics.*; import android.view.*; public class MainActivity extends Activity { private GView gv; private int w,h; private float public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); private class GView extends View { private Bitmap needle,compass; public GView(Context context) { super(context); needle=bitmapfactory.decoderesource(getresources(),r.drawable.needle); compass= BitmapFactory.decodeResource(getResources(),R.drawable.compass);

40 protected void ondraw(canvas canvas) { top=getwindow().findviewbyid(window.id_android_content).gettop(); w=getwidth()/2; h=getheight()/2; canvas.drawcolor(color.white); canvas.translate(w,h); canvas.drawbitmap(compass,-compass.getwidth()/2, -compass.getheight()/2, null); canvas.rotate(angle); canvas.drawbitmap(needle,-needle.getwidth()/2, -needle.getheight()/2, null); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_move){ float x=event.getx()-w; float y=event.gety()-top-h; angle=(float)(math.atan(y/x)*180/math.pi); if (x<0) angle+=180; gv.invalidate(); return super.ontouchevent(event);

41

42 7-2 アラート ダイアログ AlertDialog はユーザに何らかの処理に対する問い合わせ (OK や CANCEL など ) を行 うダイアログクラスです 1. AlertDialog.Builder AlertDialg のコンストラクタには直接アクセスできませんので 以下のように AlertDialog.Builder クラスのオブジェクト builder を使ってアラート ダイアログの内容を設定します AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.settitle(" 確認 "); builder.setmessage(" 処理してよいですか "); 2. ボタンのリスナーの設定 AlertDialog の OK ボタンをクリックしたときのリスナーは setpositivebutton メソッドを使って以下のように設定します 同様に CANCEL ボタンのリスナーは setnegativebutton メソッドを使って設定します builder.setpositivebutton("ok",new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { OK ボタンがクリックされたときの処理 ); 3. ダイアログの表示 上の 1 2 で設定したアラートダイアログ ビルダーの builder を使って AlertDialg ク ラスのオブジェクト dialog を生成し show メソッドで表示します AlertDialog dialog=builder.create(); dialog.show(); 4. アイコン builder.seticon(r.drawable.tab1); でアイコンを指定できます サイズは mdpi で とします

43 5. Neutral ボタン ボタンは NegativeButton,NeutralButton,PositiveButton の順に並びます builder.setneutralbutton("neutral",new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { settitle("neutral"); ); 注 Android 2.x ではボタンは PositiveButton NeutralButton NegativeButton の順 に並びます 例題 7-2 画面のタッチでアラート ダイアログを表示します OK CANCEL ボタンの クリックでどちらのボタンがクリックされたのかのメッセージをタイトルバーに表示しま す MainActivity.java package com.example.alert1; import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.os.bundle; import android.view.motionevent; public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_down){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.settitle(" 確認 "); builder.setmessage(" 処理してよいですか ");

44 builder.setpositivebutton("ok",new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { settitle("ok"); ); builder.setnegativebutton("cancel", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { settitle("cancel"); ); AlertDialog dialog=builder.create(); dialog.show(); return super.ontouchevent(event);

45 練習問題 7-2 例題 7-2 にアイコンと Neutral ボタンを追加しなさい MainActivity.java package com.example.alert2; import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.os.bundle; import android.view.motionevent; public class MainActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_down){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.settitle(" 確認 "); builder.setmessage(" 処理してよいですか "); builder.seticon( 1 ); builder.setpositivebutton("ok",new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { settitle("ok"); ); builder.setnegativebutton("cancel", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { settitle("cancel"); );

46 builder. 2 ("Neutral",new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { settitle("neutral"); ); AlertDialog dialog=builder.create(); dialog.show(); return super.ontouchevent(event);

47 応用サンプル食文化判定 質問項目を示す 2 分木の項目ノードが node[ ] に 左 右へのポインタが left[ ],right[ ] に格納されています ノード位置を p で示し ルートノード (p=0) から初めて left[p] または right[p] が -1 になるまで木を進みます 質問項目はアラート ダイアログで表示し Yes ボタンで左の木へ進み No ボタンで右の木へ進みます MainActivity.java package com.example.tree1; import android.app.activity; import android.app.alertdialog; import android.content.dialoginterface; import android.os.bundle; import android.view.motionevent; public class MainActivity extends Activity { private String node[]={ " お米が好きですか ", " 味噌汁が好きですか ", " パスタが好きですか ", " あなたは和食派です ", " あなたは中華派です ", " あなたはイタリアンです ",

48 " あなたはフレンチです "; private int left[]={1,3,5,-1,-1,-1,-1; private int right[]={2,4,6,-1,-1,-1,-1; private static int public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_down){ final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.settitle(" 食文化判定 "); builder.setpositivebutton("yes",new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { p=left[p]; if (p==-1){ p=0; else { builder.setmessage(node[p]); builder.create().show(); ); builder.setnegativebutton("no", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { p=right[p]; if (p==-1){ p=0; else { builder.setmessage(node[p]); builder.create().show();

49 ); builder.setmessage(node[p]); builder.create().show(); return super.ontouchevent(event);

50 10-3 イメージを画面上で移動する 一定時間ごとの処理の具体例として イメージを画面上で移動します 1. ボールの移動ボールのイメージファイルは ball.png サイズは ピクセル 1 回にボールが進む距離は 10 ピクセルとします ボールの位置 ( 左上隅 ) を x,y 移動量を dx,dy とすると ボールを左右に移動するには x+=dx ボールを上下に移動するには y+=dy とします 斜めに移動する場合は x+=dx と y+=dy の両方を行います 2. 壁にボールがあたったときの判定 ボールが左右壁にあたったときに dx の値の符号を反転するには次のようにします w は 画面の幅です 10 はボールのサイズです if (x<=0 w-10<=x) dx=-dx; ボールが上下壁にあたったときに dy の値の符号を反転するには次のようにします h は 画面の高さです if (y<=0 h-10<=y) dy=-dy; 例題 10-3 ボールを 100 ミリ秒単位で横方向に移動し 左右壁でボールを跳ね返します MainActivity.java package com.example.handler5; import android.app.activity; import android.content.context; import android.os.bundle; import android.os.handler; import android.view.*; import android.graphics.*; public class MainActivity extends Activity implements Runnable{

51 private int x=60,dx=10,w; private Handler hd=new Handler(); private GView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); hd.post(this); public void run() { x+=dx; if (x<=0 w-10<=x) dx=-dx; gv.invalidate(); hd.postdelayed(this,100); class GView extends View { private Bitmap ball; public GView(Context context) { super(context); ball=bitmapfactory.decoderesource(getresources(),r.drawable.ball); public void ondraw(canvas canvas){ w=getwidth(); canvas.drawcolor(color.white); canvas.drawbitmap(ball,x,60,null);

52 練習問題 10-3 ボールを 100 ミリ秒単位で斜めに移動し 上下壁 左右壁でボールを跳 ね返しなさい MainActivity.java package com.example.handler6; import android.app.activity; import android.content.context; import android.os.bundle; import android.os.handler; import android.view.*; import android.graphics.*; public class MainActivity extends Activity implements Runnable{ private int x=60,y=60,dx=10,dy=10,w,h; private Handler hd=new Handler(); private GView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); hd.post(this); public void run() { x+=dx;y+=dy; if (x<=0 w-10<=x)

53 dx=-dx; if ( 1 ) dy=-dy; gv.invalidate(); hd.postdelayed(this,100); class GView extends View { private Bitmap ball; public GView(Context context) { super(context); ball=bitmapfactory.decoderesource(getresources(),r.drawable.ball); public void ondraw(canvas canvas){ w=getwidth(); h= 2 canvas.drawcolor(color.white); canvas.drawbitmap(ball,x,y,null);

54 応用サンプルラケットゲーム 1 タッチムーブイベントでラケットを移動し ボールを跳ね返します 練習問題 10-3 を元にラケットの移動処理とボールをラケットで跳ね返す処理を追加します ボールがラケットに当たったを判定するのに y 座標に関する等価比較を行うため ラケットの y 座標はボールの移動量の 10 の倍数とします 画面の高さを元に以下で計算します ry=(getheight()/10)*10-100; ボールとラケットのイメージのサイズは以下で計算します ボールの高さと幅は同じと仮定しています ballw=ball.getwidth(); barw=bar.getwidth(); MainActivity.java package com.example.racket1; import android.app.activity; import android.content.context; import android.os.bundle; import android.os.handler; import android.view.*; import android.graphics.*; public class MainActivity extends Activity implements Runnable{ private int x=100,y=100,dx=10,dy=10,rx=100,ry,w,ballw,barw; private GView gv; private Handler hd=new public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); gv=new GView(this); setcontentview(gv); hd.post(this); public void run() { x+=dx;y+=dy;

55 if (x<=0 w-ballw<=x) dx=-dx; if (y<=0) dy=-dy; if (rx-ballw<=x && x<=rx+barw && y+ballw==ry) // ラケットで跳ね返す dy=-dy; gv.invalidate(); hd.postdelayed(this,100); class GView extends View { private Bitmap ball,bar; public GView(Context context) { super(context); ball=bitmapfactory.decoderesource(getresources(),r.drawable.ball); bar=bitmapfactory.decoderesource(getresources(),r.drawable.bar); ballw=ball.getwidth(); barw=bar.getwidth(); public void ondraw(canvas canvas){ w=getwidth(); ry=(getheight()/10)*10-100; canvas.drawcolor(color.white); canvas.drawbitmap(ball,x,y,null); canvas.drawbitmap(bar,rx,ry,null); public boolean ontouchevent(motionevent event) { // ラケットの移動 if (event.getaction()==motionevent.action_move){ rx=(int)event.getx()-barw/2; if (rx<barw/2) rx=0; if (rx>w-barw) rx=w-barw; gv.invalidate(); return super.ontouchevent(event);

56

57 17-2 複数のテキストを読み上げる txt[ ] 配列の読み上げテキストが行単位で格納されているとき 行間に 1 秒のサイレントを入れるには以下のようにします なお 複数のテキストを連続して読み上げる場合は QUEUE_ADD モードにします QUEUE_FLUSH モードだと最後のテキストしか読み上げられません for (int i=0;i<n;i++){ ts.speak(txt[i],texttospeech.queue_add,null); ts.playsilence(1000,texttospeech.queue_add,null); 例題 17-2 複数のテキストを 行間に 1 秒のサイレントを入れて読み上げます MainActivity.java package com.example.speech2; import java.util.locale; import android.app.activity; import android.os.bundle; import android.speech.tts.texttospeech; import android.speech.tts.texttospeech.oninitlistener; import android.view.motionevent; import android.widget.*; public class MainActivity extends Activity implements OnInitListener{ private TextToSpeech public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); ts=new TextToSpeech(this,this); public boolean ontouchevent(motionevent event) { if (event.getaction()==motionevent.action_down){ String txt[]={"good morning","hello","good night";

58 if (ts.isspeaking()) ts.stop(); ts.setspeechrate(1.0f); for (int i=0;i<txt.length;i++){ ts.speak(txt[i],texttospeech.queue_add,null); ts.playsilence(1000,texttospeech.queue_add,null); return super.ontouchevent(event); public void oninit(int status) { if (status==texttospeech.success){ Locale locale=locale.english; if (ts.islanguageavailable(locale)>=texttospeech.lang_available) ts.setlanguage(locale); else Toast.makeText(this," この言語は未サポートです ",Toast.LENGTH_LONG).show(); else Toast.makeText(this," 音声合成できません ",Toast.LENGTH_LONG).show(); protected void ondestroy(){ super.ondestroy(); if (ts!=null) ts.shutdown();

59 17-3 通訳アプリ 音声合成機能を使って簡単な通訳アプリを作ることができます 例題 17-3 ListView に登録した日本語に対応する英語を読み上げます activity_main.xml <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_height="fill_parent" > <ListView android:layout_height="wrap_content" /> </LinearLayout> MainActivity.java package com.example.speech3; import java.util.locale; import android.app.activity; import android.os.bundle; import android.speech.tts.texttospeech; import android.speech.tts.texttospeech.oninitlistener; import android.view.*; import android.widget.*; public class MainActivity extends Activity implements OnInitListener{ private TextToSpeech ts; private String[] Japanese={ " おはよう "," こんにちは "," おやすみ "," ありがとう ", " お名前は "," お値段は "," すみません "," 美味しいです ", " 何時ですか "," 友達になってください "," 何をお求めですか ",

60 " 病院はどこですか "," お茶を飲みましょう "," もう一度言って下さい "; private String[] English={ "Good morning","hello","good night","thank you", "What is the name?","how much is a price?","i'm sorry","i am delicious", "What time is it?","please make friends","what is it a request in?", "Where is the hospital?","let's drink tea","please say once public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.r.layout.simple_list_item_1); for (int i=0;i<japanese.length;i++) adapter.add(japanese[i]); ListView lv=(listview)findviewbyid(r.id.listview); lv.setadapter(adapter); lv.setonitemclicklistener(new AdapterView.OnItemClickListener() { public void onitemclick(adapterview<?> parent, View view,int position, long id) { if (ts.isspeaking()) ts.stop(); ts.setspeechrate(1.0f); ts.speak(english[position],texttospeech.queue_flush,null); ); ts=new TextToSpeech(this,this); public void oninit(int status) { if (status==texttospeech.success){ Locale locale=locale.english; if (ts.islanguageavailable(locale)>=texttospeech.lang_available) ts.setlanguage(locale); else Toast.makeText(this," この言語は未サポートです ", Toast.LENGTH_LONG).show();

61 else Toast.makeText(this," 音声合成できません ", Toast.LENGTH_LONG).show(); protected void ondestroy(){ super.ondestroy(); if (ts!=null) ts.shutdown();

62

2-2. TableLayout TableLayout は任意のビューを表形式で配置したい場合に利用する (HTML の Table に近いイメー ジ ) 2-3. FrameLayout ビューを重ねて表示するためのレイアウト 後から配置した部品が前面に来る仕様となっている 3. まとめ レイア

2-2. TableLayout TableLayout は任意のビューを表形式で配置したい場合に利用する (HTML の Table に近いイメー ジ ) 2-3. FrameLayout ビューを重ねて表示するためのレイアウト 後から配置した部品が前面に来る仕様となっている 3. まとめ レイア 1. レイアウトの基本 Android でレイアウトを作成する方法には XML で定義する方法 と プログラム上から作成する方法 の 2 つがある XML で定義する方が読みやすく変更も容易なので 基本的には XML でレイアウトを作成し 動的にレイアウトを変更したい場合にプログラムで記述するのが一般的である 2. レイアウトの種類 ビューを配置するベースとなるレイアウトについて説明する ここで紹介するレイアウト以外にも

More information

2 // TODO Auto-generated method stub float x = event.getx(); float y = event.gety(); String action = ""; switch(event.getaction()) { case MotionEvent.

2 // TODO Auto-generated method stub float x = event.getx(); float y = event.gety(); String action = ; switch(event.getaction()) { case MotionEvent. 1 タッチイベントを取得する タッチパネルを操作すると, タッチイベントが ACTION_DOWN ACTION_MOVE( 繰返し ) ACTION_UP の順に発生する. このタッチイベントを取得するには, ontouchevent メソッドをオーバーライドする. また, dispatchtouchevent メソッドをオーバーライドしても, 同様の情報を取得することができる. dispatchtouchevent

More information

Taro-twokansu3.jtd

Taro-twokansu3.jtd //------------------------------------------------ // // 2 次関数のグラフの広がり // y=ax^2 のグラフ // Ver3 // Copyright(C) K.Niwa 2014.08.09 // //------------------------------------------------ NO.33 エミュレータ画面例 [ アプリの概要

More information

Taro-korattsu.jtd

Taro-korattsu.jtd ------------------------------------------------------------------------ No29 数字 ( テキスト ) を入力して計算方法 3x+1の問題 ( コラッツの問題 ) Ver2 Copyright( C) K.Niwa 2014.08.10 ------------------------------------------------------------------------

More information

MasterDetailFlow SettingsActivity 2. Android Lint Checks 以前のバージョンよりコンパイルのチェックが厳しくなりました このような厳しいチェックを Android Lint Checks と言います Abdroid プログラミング Bible で

MasterDetailFlow SettingsActivity 2. Android Lint Checks 以前のバージョンよりコンパイルのチェックが厳しくなりました このような厳しいチェックを Android Lint Checks と言います Abdroid プログラミング Bible で Android 4.2 の注意事項 この記事を書く上で Android プログラムをチェックしている開発環境は以下です Android SDK android-sdk_r21.0.1-windows Eclipse Eclipse 4.2 Juno( 英語版 ) 1. プロジェクト作成時にアクティビティの種類を選べるようになりました Android 4.2 では以下の 5 種類のアクティビティを選択できるようになりました

More information

android2.indd

android2.indd Chapter 10 第 10 章サンプルコード集 この章ではプログラミングの参考となるサンプルコードを掲載しています コード記載のない部分についてはプロジェクトのデフォルトです アクティビティ間のデータ受け渡しサンプル アプリケーション名 : ActivityResultTest プロジェクト名 : ActivityResultTest パッケージ名 : com.example.activitytest

More information

Microsoft Word - Android_DI講座_画面800×1280

Microsoft Word - Android_DI講座_画面800×1280 Page 12 4 ボタンが押されたらイベントを取り扱う ボタンの押下時に 入力された内容を確認するダイアログを表示するようにします 4.1 リソースを追記する 網掛け部分を追加してください ファイル名 : res/values/strings.xml < 省略 >

More information

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集 BMI 計算アプリ身長と体重をユーザが入力し, その値を計算して,BMI 値を表示するアプリケーションを作る. 1. プロジェクトを作る新規 Android アプリケーション プロジェクトを作る.HelloWorld アプリケーションをつくるときと同じで良いが, アプリケーション名, プロジェクト名, パッケージ名は以下のように設定する. 図 1 新規アプリケーションの設定をする 2. レイアウトを設定する

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 5 5 アクティビティ ( 一覧 ) を作成する ファイル名 : src/jp/edu/mie/view010.java ( 新規作成 ) /* * View010 */ import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view;

More information

補足資料 インテントによるアプリケーションとアクティビティの呼出し Android アプリのキモとなるインテントとは何? インテント ( 呼び出し要求 ) とは Android 独自の機能です 簡単にいえばアプリケーションや他のアクティビティを呼び出す機能ですが 他のアプリケーションを機能や扱えるデ

補足資料 インテントによるアプリケーションとアクティビティの呼出し Android アプリのキモとなるインテントとは何? インテント ( 呼び出し要求 ) とは Android 独自の機能です 簡単にいえばアプリケーションや他のアクティビティを呼び出す機能ですが 他のアプリケーションを機能や扱えるデ 補足資料 インテントによるアプリケーションとアクティビティの呼出し Android アプリのキモとなるインテントとは何? インテント ( 呼び出し要求 ) とは Android 独自の機能です 簡単にいえばアプリケーションや他のアクティビティを呼び出す機能ですが 他のアプリケーションを機能や扱えるデータ型式で 検索 して呼び出すことができるものです たとえば ウェブブラウザを呼び出したい場合 View

More information

Microsoft Word - A05_AndroidプログラミングJUMP_画面800×1280

Microsoft Word - A05_AndroidプログラミングJUMP_画面800×1280 Ⅴ Android プログラミング JUMP/Page 1 Ⅴ Android プログラミング JUMP 1 Jump の標準授業時数時間 ( 月中旬まで ) 2 実習用サーバーの R:\ その他 \Java\JumpPro_init フォルダを z:\workspace へインポートしてください その方法は次のとおりです (1)Eclipse を起動して ファイル - インポート を選択してください

More information

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) です Android は 2007 年に Google を中心にした規格団体 Open Handset Alliance から発表され 2008 年から Android

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) です Android は 2007 年に Google を中心にした規格団体 Open Handset Alliance から発表され 2008 年から Android はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) です Android は 2007 年に Google を中心にした規格団体 Open Handset Alliance から発表され 2008 年から Android 対応のスマートフォンが多数販売されるようになりました また アプリケーションマーケットである Google

More information

Hello, Android

Hello, Android HELLO, ANDROID Android ハンズオンセミナー Eclipse で作成するプロジェクトのひな型が Hello, Android のプロジェクトになっ ています 新しいプロジェクトを作成しながら 内部の構造を確認していきましょう 木南英夫 2009/08/06 HELLO, ANDROID Android ハンズオンセミナー ECLIPSE で新規のプロジェクトを作成する 新規のプロジェクトを作成します

More information

Prog2_9th

Prog2_9th 2017 年 11 月 30 日 ( 木 ) 実施 Canvas による描画 Canvas とは Canvas は, 描画コールを保持するためのクラスである 描画には, 次の 4 つの要素が必要である (1) ビットマップピクセル ( 画素 ) を保持 (2) キャンバス描画コール ( ビットマップへの書き出し要請 ) に対応 (3) 描画プリミティブ描画領域, パス, テキスト, ビットマップ等

More information

Android PC OS Linux Android AndroidJava XML Android ipone ipad ipone VS Android ipone OS ios Objective-C Android Java Objective-C Java Java Android An

Android PC OS Linux Android AndroidJava XML Android ipone ipad ipone VS Android ipone OS ios Objective-C Android Java Objective-C Java Java Android An Android 2.x / 4.x A n d r o i d B i b l e 1,000 Android PC OS Linux Android AndroidJava XML Android ipone ipad ipone VS Android ipone OS ios Objective-C Android Java Objective-C Java Java Android Android

More information

Prog2_2nd

Prog2_2nd 2017 年 10 月 5 日 ( 木 ) 実施 アクティビティアクティビティとは Android アプリのユーザインターフェイスの中で, 画面と関連付けられている最も基本的なのものがアクティビティ (Activity) である 複数の画面を利用するアプリには, それぞれの画面に対応したアクティビティが必要となる アクティビティは oncreateメソッドによって生成され, ondestroyメソッドによって消滅する

More information

Prog2_2nd

Prog2_2nd 2016 年 10 月 6 日 ( 木 ) 実施 アクティビティアクティビティとは Android アプリのユーザインターフェイスの中で, 画面と関連付けられている最も基本的なのものがアクティビティ (Activity) である 複数の画面を利用するアプリには, それぞれの画面に対応したアクティビティが必要となる アクティビティは oncreateメソッドによって生成され, ondestroyメソッドによって消滅する

More information

「Android Studioではじめる 簡単Androidアプリ開発」正誤表

「Android Studioではじめる 簡単Androidアプリ開発」正誤表 Android Studio Android 2016/04/19 Android Studio Android *1 Android Studio Android Studio Android Studio Android Studio Android PDF : Android Studio Android Android Studio Android *2 c R TM *1 Android

More information

1: Android 2 Android 2.1 Android 4 Activity Android Service ContentProvider BroadcastReceiver Activity ( ): Android 1 Android Service ( ): ContentProv

1: Android 2 Android 2.1 Android 4 Activity Android Service ContentProvider BroadcastReceiver Activity ( ): Android 1 Android Service ( ): ContentProv II Java/Android 1 Android 1.1 Google 2003 Android 2005 Google Android 2007 11 Google T- (T-Mobile International) Open Handset Alliance OHA Android 1.2 OS Android 7.0 API (Application Program Interface)

More information

Microsoft Word - Android_DI講座_画面800×1280

Microsoft Word - Android_DI講座_画面800×1280 Page 21 5 複数の画面を使う ( インテント Intent) インテントは アクティビティ間やアプリケーション間でやり取りするメッセージの役割を果たすものです インテントを送る事で アプリケーション内の画面遷移や他アプリケーションの呼び出しを行います 主にアクティビティを起動する際のパラメータに使われます intent: 意思 付加情報 ( 配列 文字列 整数型など ) を別アプリケーションに通知でき

More information

玉転がしタブレット端末の特徴の一つとして, センサを使った動作や, 指による画面操作がある. それらを活用して, 図形を動かすアプリの例を示す. 1. プロジェクトを作る Tama アプリケーションを作る,Tama プロジェクトを作る. 図 1 プロジェクト作成 プロジェクトの構成を設定する. 図

玉転がしタブレット端末の特徴の一つとして, センサを使った動作や, 指による画面操作がある. それらを活用して, 図形を動かすアプリの例を示す. 1. プロジェクトを作る Tama アプリケーションを作る,Tama プロジェクトを作る. 図 1 プロジェクト作成 プロジェクトの構成を設定する. 図 玉転がしタブレット端末の特徴の一つとして, センサを使った動作や, 指による画面操作がある. それらを活用して, 図形を動かすアプリの例を示す. 1. プロジェクトを作る Tama アプリケーションを作る,Tama プロジェクトを作る. 図 1 プロジェクト作成 プロジェクトの構成を設定する. 図 2 プロジェクトの構成 ランチャー アイコンを設定する. 図 3 ランチャー アイコンを設定する BlankActivity

More information

補足資料 キーイベント処理サンプル package jp.co.keyevent; import android.app.activity; import android.os.bundle; import android.view.keyevent; import android.widget.t

補足資料 キーイベント処理サンプル package jp.co.keyevent; import android.app.activity; import android.os.bundle; import android.view.keyevent; import android.widget.t 補足資料 キーイベント処理サンプル package jp.co.keyevent; import android.app.activity; import android.os.bundle; import android.view.keyevent; import android.widget.toast; public class KeyEventSampleActivity extends Activity

More information

Prog2_10th

Prog2_10th 2017 年 12 月 7 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウィジェット からボタンのアイコンをドラッグして, ワークスペースにドロップする. 図 1 ボタンの追加

More information

日 力力 生 行行 入 入 力力 生 用 方

日 力力 生 行行 入 入 力力 生 用 方 日 力力 生 行行 入 入 力力 生 用 方 力力 生 行行 自 行行 生 力力 生 一 二 力力 生 力力 力力 方 ファイル書き込み Androidプロジェクトの 生成 新規Androidプロジェクトを下記の設定値で作成 項 目名 設定値 プロジェクト名 Sample9 ビルドターゲット Android 2.2にチェックを付 ける アプリケーション名 Sample9 パッケージ名 jp.ac.uot

More information

Prog2_6th

Prog2_6th 2015 年 10 月 29 日 ( 木 ) 実施 レイアウトレイアウトの位置付け Android アプリで用いられる様々なレイアウト (Layout) は, それぞれ ViewGroup クラスを継承するクラスとして定義されているものであり,ViewGroup クラスは Viewクラスを継承するクラスである Viewクラスはユーザインタフェイスを構成する基本要素を表す ビュー (View) は画面上に長方形の領域を占め,

More information

Prog2_10th

Prog2_10th 2016 年 12 月 8 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

そして 取得した OutputStream インスタンスを使い 文字コードは UTF-8 として PrintWriter インスタンスを生成して あとは PrintWriter.append() で書き込みたい文字 列を渡して close() で保存する というだけです ファイルの読込み方法 それで

そして 取得した OutputStream インスタンスを使い 文字コードは UTF-8 として PrintWriter インスタンスを生成して あとは PrintWriter.append() で書き込みたい文字 列を渡して close() で保存する というだけです ファイルの読込み方法 それで Android: データを保存する方法 Android のアプリケーションで データを保存する方法を説明します 保存する方法としては以下のものがあります ファイルとして保存 Preference データベース (SQLite) ファイルへ書き込む Android のファイルへの書き出しはアクセス権限の設定部分があるので読み込みの openfileinput メソッドより 引数が増えています public

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

Prog2_5th

Prog2_5th 2014 年 10 月 23 日 ( 木 ) 実施 サービスサービスとは Android アプリの動作環境は, スマートフォンの様に電話が掛かってきた場合の対応等も考慮しなければならないが, アクティビティはこの様な場合には, 処理を中断してしまう こういう場合にもバックグラウンドで動作し続けるのがサービスである サービスはインテントで起動することも可能であるが, バインドという仕組みを用いてサービスが提供するインターフェイスとアクティビティとを結び付けて起動しないと,

More information

用 日 力力 生 大 用 生 目 大 用 行行

More information

mazec テクニカルガイド第5版(Android版)

mazec テクニカルガイド第5版(Android版) 法人向け mazec テクニカルガイド 外部アプリケーション連携 ( Android 版 ) 第 6 版 Android は Google Inc. の登録商標です その他記載された会社名 製品名等は 各社の登録商標もしくは商標 または弊社の商標です 本書は株式会社 MetaMoJi が作成したものであり マニュアルの著作権は 株式会社 MetaMoJi に帰属します 本書の内容は予告なく変更することがあります

More information

非推奨メソッド等の掲載について

非推奨メソッド等の掲載について 非推奨メソッド等の掲載について スマートにプログラミング Android 入門編第 2 版 SDK 4/2.3 対応 (2012 年 6 月 11 日発行第 2 版第 1 刷 ) において 一部現在では非推奨となったレイアウト及びメソッドの利用が掲載されておりました お詫びと共に補足 訂正させて頂きます 下記にその対応について示します 株式会社リックテレコム書籍出版部 ( 情報更新日 :2012.8.14)

More information

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー Sqlite 関連コマンド紹介 adb shell コマンド 現在 どのディレクトリに居るかは pwd コマンドでわかります pwd 次に今いるディレクトリ上にどんなファイル ディレクトリ一覧があるかを知るために ls コマンドを実行します ls ディレクトリへの移動は cd コマンドを実行します cd フォルダ ( ディレクトリ ) 名 tmp ディレクトリを作ってみます ディレクトリ作成は mkdir

More information

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u i アプリ簡易リファレンス ver0.1.5.1 1.i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.util.random; int ; Random =new Random(); =Math.abs(.nextInt()% ); 0~ まで乱数を発生させます (3) 機種ごとの縦横幅を調べる

More information

Prog2_6th

Prog2_6th 2017 年 11 月 2 日 ( 木 ) 実施 インテントインテントとは Android アプリは複数のアクティビティを持つことが出来, また, アクティビティ以外の要素も持つので, 複数のアクティビティ間, アクティビティとアクティビティ以外の要素との間といったオブジェクト間を結び付ける仕組みが必要となる その役割を担うのがインテントで, 複数のアプリ間やアプリとシステムとの間もインテントで結び付けることが出来る

More information

Prog2_6th

Prog2_6th 2016 年 11 月 10 日 ( 木 ) 実施 インテントインテントとは Android アプリは複数のアクティビティを持つことが出来, また, アクティビティ以外の要素も持つので, 複数のアクティビティ間, アクティビティとアクティビティ以外の要素との間といったオブジェクト間を結び付ける仕組みが必要となる その役割を担うのがインテントで, 複数のアプリ間やアプリとシステムとの間もインテントで結び付けることが出来る

More information

Prog2_5th

Prog2_5th 2017 年 10 月 26 日 ( 木 ) 実施 レイアウトレイアウトの位置付け Android アプリで用いられる様々なレイアウト (Layout) は, それぞれ ViewGroup クラスを継承するクラスとして定義されているものであり,ViewGroup クラスは Viewクラスを継承するクラスである Viewクラスはユーザインタフェイスを構成する基本要素を表す ビュー (View) は画面上に長方形の領域を占め,

More information

1 JAVA APPLET 実習 1. はじめに Java フォルダに applet フォルダを作成する 2. 実習問題の作成 J01.java public class J01 extends Applet{ public void paint(graphics kaku){ kaku.drawstring("hello World from Java!",60,70); j01.html

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None クイック検索検索 目次 Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 None 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

Microsoft Word - _Intent.doc

Microsoft Word - _Intent.doc public class Intent extends Object implements Parcelable Cloneable 英和 : 意図, 目的 intent が 意図 目的 を意味するように Android ではアプリ ( アクティビティ ) が何をしたいかという 意図 目的 のリクエスト メッセージをシステムに送ると, システムがそれを解釈 判断し, 適切なアクティビティへ渡す仕組みが備わっている

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,

More information

プロジェクト毎に名前を指定する ( ここでは AndroidTest) 動作可能な最低バージョン メインターゲットのバージョン すべて設定してクリック チェックを外す クリック

プロジェクト毎に名前を指定する ( ここでは AndroidTest) 動作可能な最低バージョン メインターゲットのバージョン すべて設定してクリック チェックを外す クリック 1. とにかく Android アプリを作ってみよう 1.1 Eclipse の起動 Android アプリの開発言語は Java です.Java プログラムの開発では統合開発環境 Eclipse が最も良く用いられており, この実習でも Eclipse を使います. この実習で用いる Eclipse は Android アプリの開発用の設定を終えたバージョンです. デスクトップ上の以下のアイコンをクリックして

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

日 用 用 面 示 用 用 方

日 用 用 面 示 用 用 方 日 用 用 面 示 用 用 方 用 用 用 用 用 用 用 面 用

More information

Android @vvakame @vvakame GoogleAppEngine Android APT 2.3 http://developer.android.com/resources/dashboard/platform-versions.html 2011 2.3.4 http://plusd.itmedia.co.jp/mobile/articles/1202/17/news097.html

More information

Android でサービスしよう! 日本 Android の会 2 月 21 日大阪セミナ- 有山圭二 ( 有限会社シーリス )

Android でサービスしよう! 日本 Android の会 2 月 21 日大阪セミナ- 有山圭二 ( 有限会社シーリス ) Android でサービスしよう! 日本 Android の会 2 月 21 日大阪セミナ- 有山圭二 ( 有限会社シーリス ) 目次 サービスって何? サービスで何が出来るの? ハンズオン Service を開始する Service と Activity の違い? AIDL によるインターフェースの定義と実装 Activity からの操作 まとめ 発展 参考 2009/02/21 JAC 大阪セミナー

More information

Another Activity オブジェクトは生成されてもいないのである これは 後述の onpause メソッ ドの説明からも明らかである 翻訳 : A の onpause から返ってこない限り B は create されない ため ここで長い処理は行ってはならない 実際にトレースをおこなってみ

Another Activity オブジェクトは生成されてもいないのである これは 後述の onpause メソッ ドの説明からも明らかである 翻訳 : A の onpause から返ってこない限り B は create されない ため ここで長い処理は行ってはならない 実際にトレースをおこなってみ Activity のライフサイクルに関する間違い onpause の前の Another Activity comes in front of the activity という部分は間違い あるいは間違いで無いとしても非常に紛らわしい onpause が呼び出される以前には 1 Another Activity オブジェクトは生成されてもいないのである これは 後述の onpause メソッ ドの説明からも明らかである

More information

スライド 1

スライド 1 Android の UI いろいろ 2009/09/12(Sat) 日本 Android の会 重村浩二 この資料内容の一部は Google が作成 提供しているコンテンツを複製したものでクリエイティブコモンズの表示 2.5 ライセンスに記載の条件に従って使用しています 今回の勉強会のターゲット領域は ココ です アジェンダ Android の Basic Design Icon Design が

More information

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ 教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログラムを記述することはあり得ません 本節では 新規プロジェクトを続けて作る際の注意事項と 簡単な Java

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

android2.indd

android2.indd CHAPTER 3 第 3 章プログラミング Chapter 3 第 3 章プログラミング プログラミングの最初は Eclipse の使い方を覚えることです アプリケーション開発のプラットフォームである Eclipse は非常に高機能であり プログラミングのかなりの部分をアシストしてくれる機能が備わっています Eclipse のワークスペース Eclipse のワークスペースは パースペクティブ と呼ばれ

More information

Microsoft Word - Android_DI講座_画面800×1280

Microsoft Word - Android_DI講座_画面800×1280 Page 4 3 画面にウィジェットを表示する Android のアプリ開発では通常 XML ファイルと Java ファイルの両方を作ります 画面内の GUI 部品などの配置 ( レイアウト ) は XML ファイルを記述し これらの部品を用いるロジックを Java ソースで書きます この単元では この方法で説明していきます なお ゲームアプリではレイアウトもロジックも Java ソースで書く場合がありますが

More information

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料 10/28 Java AWT の基本構造 (Frame クラスの継承 ) 演習課題資料以下のプログラムを完成せよ 共通課題 1.Frame を生成するプログラム // Frame クラスを継承して 終了ボタンのみを定義した クラスの定義 class WhiteWindow 1 { // Frame クラスの継承をする (Frame クラスの拡張 ) WhiteWindow (String title){

More information

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなどを設定できます ソースファイル名 :Sample8_1.java // HP よりインポート文をここへ貼り付けてください

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

1: Preference Display 1 package sample. pref ; 2 3 import android. app. Activity ; 4 import android. content. Intent ; 5 import android. content. Shar

1: Preference Display 1 package sample. pref ; 2 3 import android. app. Activity ; 4 import android. content. Intent ; 5 import android. content. Shar Android 2 1 (Activity) (layout strings.xml) XML Activity (Intent manifest) Android Eclipse XML Preference, DataBase, File 3 2 Preference Preference Preference URL:[http://www.aichi-pu.ac.jp/ist/lab/yamamoto/android/android-tutorial/tutorial02/tutorial02.pdf]

More information

Microsoft Word - A04_AndroidプログラミングSTEP_画面800×1280

Microsoft Word - A04_AndroidプログラミングSTEP_画面800×1280 Ⅳ Android プログラミング Step/Page 1 Android プログラミング STEP 1 実習方法 Step の標準授業時数 20 時間 (10 月中旬まで ) 2 実習用サーバーの R:\ その他 \Java\StepPro_init フォルダを z:\workspace へインポートしてください (1)Eclipse を起動して ファイル - インポート を選択してください (2)

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289 HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 9 章アプレット 学習内容とねらい 本章では Java 言語で作ったプログラムを Web ブラウザ上で動作させる方法を学習します Java 言語には これまで作成してきた Windows アプリケーションの他に Web ブラウザ上で動作させる事のできるアプレットという形態があります このアプレットを利用すれば Web 上で Java プログラムを公開することもできます アプレットは Java 言語の普及当初は

More information

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリ

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリ Android プログラミング Bible 上級各種処理 要約 Sample 河西朝雄著 本書の一部または全部を著作権法の定める範囲を超え 無断で複写 複製 転載 あるいはファイルに落とすことを禁じます 本書に記載された内容は 情報の提供のみを目的としています したがって 本書を用いた運用は 必ずお客様自身の責任と判断によって行ってください これらの情報の運用の結果について 著者はいかなる責任も負いません

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラマー勉強会 1 回 basic.h 補足 [ 修飾子 ] const 付けた変数は初期化以外で値を設定することができなくなる 定数宣言に使う unsigned 付けた変数は符号がなくなり 正の値しか設定できない [ 条件コンパイル ] #ifdef M ここ以前に M がマクロとして定義されていれば ここ以下をコンパイルする #ifndef M ここ以前に M というマクロが定義されていなければ

More information

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリ

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリ はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリケーションを開発するための言語は Java と XML です Android や ipone などのスマートフォンや

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン 保存 データを保存する方法として, 主に,3 種類ある. [1] SharedPreference [2] ファイル [3] データベース これらのうち, よく使いそうな,[1] と [2] の方法を説明する. (1) SharedPreference SharedPreference は, 変数名とその値のペアをアプリごとに記憶しておくことができ る機能である. たとえば, アプリを起動した回数を記憶しておいたり,

More information

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 3 回 ) 工学部情報工学科 木村昌臣 今日のテーマ GUI プログラミング入門 AWT Java で GUI を作る方法 (API) AWT Abstract Window Toolkit GUIをつくるクラス群を提供 ( 基本!) OSによらない外観 Swing 逆にいえば OS ネイティブな look and feel ではない AWT をもとに JavaFX JDK1.8

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - lec06 [互換モード]

Microsoft PowerPoint - lec06 [互換モード] 内 容 Ⅶ. クラスの定義 クラス定義の基本 フィールドの定義 メソッド定義 例題 : 円クラスのフィールドとメソッドの定義 コンストラクタ 例題 :Circle2を使ったアプレット 1 2 クラス定義の基本 オブジェクト指向のプログラム プログラム実行時に登場するオブジェクトの性質や挙動を記述する オブジェクトの性質や挙動を記述したものが クラス である Java プログラムを書くとはクラスを定義すること

More information

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリ

はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリ はじめに Android は スマートフォンやタブレット PC などの携帯情報端末を主なターゲットとしたプラットフォーム (OS) で Linux カーネル層 ライブラリ層 Android ランタイム層 アプリケーションフレームワーク層 アプリケーション層などで構成されます Android のアプリケーションを開発するための言語は Java と XML です Android や iphone などのスマートフォンや

More information

Android revision revision03 Copyright c Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution

Android revision revision03 Copyright c Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution Android revision03 Android revision03 2010 1 29 2010 7 20 revision03 Copyright c 2008 2010 Daikoku Manabu This tutorial is licensed under a Creative Commons Attribution 2.1 Japan License. 3 1 Android 9

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

IT プロジェクト

IT プロジェクト オブジェクト指向設計による卓球 ゲームの試作 (2) 劉少英 情報科学部コンピュータ科学科 Email:sliu@hosei.ac.jp ホームページ : http://cis.k.hosei.ac.jp/~sliu/ 講義内容 1. 卓球ボールをテーブルの上に移動させる 2. 関連しているクラスにメソッドを加える 3. プログラムの文書化技術 1. 卓球ボールをテーブルの上に 移動させる 8 9

More information

Microsoft PowerPoint - prog12.ppt

Microsoft PowerPoint - prog12.ppt プログラミング言語 3 第 12 回 (2007 年 12 月 17 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 17 日分と書いてある部分が 本日の教材です

More information

マルチ OS エンジンを使用した固定記憶域の操作 (テクノロジー・プレビュー) - パート 1

マルチ OS エンジンを使用した固定記憶域の操作 (テクノロジー・プレビュー) - パート 1 マルチ OS エンジンを使用した固定記憶域の操作 ( テクノロジー プレビュー ) - パート 1 この記事は インテル デベロッパー ゾーンに公開されている Working with persistent storage using Multi-OS Engine (Technology Preview)- Part 1 の日本語参考訳です このチュートリアルは 2 つのパートで構成されており インテルのマルチ

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

intra-mart Accel Platform

intra-mart Accel Platform intra-mart Accel Platform IM- 共通マスタスマートフォン拡張プログラミングガイド 2012/10/01 初版 変更年月日 2012/10/01 初版 > 変更内容 目次 > 1 IM- 共通マスタの拡張について...2 1.1 前提となる知識...2 1.1.1 Plugin Manager...2 1.2 表記について...2 2 汎用検索画面の拡張...3

More information

Microsoft PowerPoint - diip ppt

Microsoft PowerPoint - diip ppt 2006 年度デザイン情報学科情報処理 III 第 12 回マウスによる制御 ブロック崩し の部品 ボール直径 10pixel の円ラケット横 60pixel 縦 10pixel, マウスにより左右に移動ブロック横 50pixel 縦 20pixel,28 個 (7 個 4 段 ) 壁 ( フィールド ) 横 400pixel 縦 600pixel 2006 年度デザイン情報学科情報処理 III 2

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

JavaScript プログラミング 4.Web ブラウザのオブジェクト 4-4 window オブジェクト 4-5 location オブジェクトと history オブジェクト 4-6 link オブジェクト 08T4082A 野太樹

JavaScript プログラミング 4.Web ブラウザのオブジェクト 4-4 window オブジェクト 4-5 location オブジェクトと history オブジェクト 4-6 link オブジェクト 08T4082A 野太樹 JavaScript プログラミング 4.Web ブラウザのオブジェクト 4-4 window オブジェクト 4-5 location オブジェクトと history オブジェクト 4-6 link オブジェクト 08T4082A 野太樹 4-4 window オブジェクト window オブジェクト Webブラウザのウィンドウを管理するオブジェクト Webブラウザで開いた段階で 動的に 成 新規のwindowオブジェクトを作成することができる

More information

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 泡立ち法とその実装 計算機アルゴリズム特論 :2017 年度只木進一 目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 Comparable インターフェイ ス クラスインスタンスが比較可能であることを示す Int compareto() メソッドを実装 Integer Double String などには実装済み public

More information

android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:text="go" android:id="@+id/b

android:orientation=horizontal android:layout_width=fill_parent android:layout_height=wrap_content> <Button android:text=go android:id=@+id/b その 他 のウェジット WebView クラス WebView クラスは 簡 易 的 なブラウザ 機 能 を 提 供 してくれるクラスです ここでは WebView ク ラスの 使 い 方 について 確 認 していきます WebView クラスの 定 義 を 確 認 します クラス 継 承 は 次 のようになっています java.lang.object android.view.view android.view.viewgroup

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

2.0.1 6 2.0 5 1.6 4 Donut 1.5 3 Cupcake 1.1 2 非 公 開 1.0 1 非 公 開 2. Android4.0 の 留 意 事 項 2-1 Menu キーの 扱 い 端 末 下 部 の Menu Home Back の 各 ハードキーが ディスプレー 上

2.0.1 6 2.0 5 1.6 4 Donut 1.5 3 Cupcake 1.1 2 非 公 開 1.0 1 非 公 開 2. Android4.0 の 留 意 事 項 2-1 Menu キーの 扱 い 端 末 下 部 の Menu Home Back の 各 ハードキーが ディスプレー 上 付 録 Android,Android SDK,Eclipse のバージョン Android プログラミング Bible( 初 級 基 礎 編 中 級 Android 的 プログラミング 法 上 級 各 種 処 理 )は Eclipse 3.6 Helios Android 2.2(API 8) で 開 発 し 実 機 は SAMSUNG GALAXY S で 確 認 しました さらに 本 書 のプログラムは

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information