創造工学設計I 5回目(7/5/2015)

創造工学設計I
電子情報工学科4年(前期)
9回目
(18/6/2015)
担当 古山彰一
([email protected])
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView android:text="ここにメッセージを表示します" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button[1]"
android:id="@+id/button1"
android:layout_below="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button[2]"
android:id="@+id/button2"
android:layout_below="@+id/button1"
android:layout_alignParentLeft="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button[3]"
android:id="@+id/button3"
android:layout_below="@+id/button2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
ボタンを3つにしてみる。
レイアウトエディタを使って、activity_main.xmlが左図のようになるようにする。
package jp.ac.nc_toyama.chap7_3_1;
import
import
import
import
import
import
import
android.support.v7.app.ActionBarActivity;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.TextView;
android.view.Menu;
android.view.MenuItem;
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
onClickButton1();
break;
case R.id.button2:
onClickButton2();
break;
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
case R.id.button3:
onClickButton3();
break;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((Button) findViewById(R.id.button1)).setOnClickListener(this);
((Button) findViewById(R.id.button2)).setOnClickListener(this);
((Button) findViewById(R.id.button3)).setOnClickListener(this);
}
private void onClickButton1() {
((TextView) findViewById(R.id.textView)).setText("Button[1] Pushed.");
}
private void onClickButton2() {
((TextView) findViewById(R.id.textView)).setText("Button[2] Pushed.");
}
private void onClickButton3() {
((TextView) findViewById(R.id.textView)).setText("Button[3] Pushed.");
}
}
}
}
package jp.ac.nc_toyama.chap7_3_2;
import
import
import
import
import
import
import
android.support.v7.app.ActionBarActivity;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.TextView;
android.view.Menu;
android.view.MenuItem;
@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) {
public class MainActivity extends ActionBarActivity {
// 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.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int id = item.getItemId();
//noinspection SimplifiableIfStatement
((Button)findViewById(R.id.button1)).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
((TextView)findViewById(R.id.textView)).setText("Button[1] Pushed.");
}
});
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
((Button)findViewById(R.id.button2)).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
((TextView)findViewById(R.id.textView)).setText("Button[2] Pushed.");
}
});
((Button)findViewById(R.id.button3)).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
((TextView)findViewById(R.id.textView)).setText("Button[3] Pushed.");
}
});
}
}
課題について
• 課題1: Chap7_3_1とChap7_3_2を作成しなさい。この2つのプログラ
ムはボタンを3つ作成してそれらをタップすると何かしらの表示をす
るものであるが、この2つのプログラムの違いは何か説明しなさい。
• 課題2:このプログラムに自分のアイディアを含めて魅力あるものに
してください(ベースはChap7_3_1でも_2でもどちらでも良いです)。ま
たその結果について画面のハードコピーを提示しなさい。
• 課題1~2をpdfファイルにしてメールで提出しなさい。
• 締切 本日中(23:59まで)
• 提出先 [email protected]
• 課題ファイル名 09i4??.pdf (??は二桁の出席番号)