2012年01月26日

アクティビティ


アプリケーションの基礎「アクティビティ」
AndroidのアプリケーションはJavaというプログラム言語で記述します
その表示内容はアクティビティ(Activity)と呼ばれるもので構成します

このアクティビティはAndroid上では1つの画面に相当し
表示されるボタンや入力欄などを管理します
ただしアクティビティ自体は画面そのものではないので
この中にどのような画面を表示させるのかは(どこにボタンを置いたりだとか)
は自分で設定しなくてはなりません

Android内では、ユーザーがアプリケーション画面からアイコンをタップしてアプリケーションを起動すると
アクティビティオブジェクトが作られます
その後アクティビティクラスで定義されているメソッドが呼び出されます

メソッド・・・方法・方式。わかりやすく言うと目次w
メソッド(目次)
 {内容}
といった感じ

このメソッドは、アプリケーション起動や終了、あるいは画面の回転などに応じて、指定されたものが順番に呼び出されます
このメソッドには、以下のようなものがあります
onCreate:アクティビティが最初に起動されるときに呼ばれる
onStart:アクティビティが表示される直前に呼ばれる
onResume:アクティビティがユーザーとやり取りする直前に呼ばれる
onPause:アクティビティがバックグランドに隠れる直前に呼ばれる
onStop:アクティビティが不要になったときに呼ばれる
onDestory:終了状態だったアクティビティが再び表示されるときに呼ばれる
onRestart:アクティビティが破棄される直前に呼ばれる

device53.png
Androidのアプリケーションとしてはこのようにメソッドが順に呼び出されますが
必ずしもすべてのメソッドを用意する必要はありません
例えばTestActivityを作成してjavaの中身を確認してみましょう
プロジェクト新規作成
場所は作成したプロジェクト内のsrcフォルダに○○Activity.java
とあると思います
その中に
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
とあります
このように通常は、onCreateで画面表示を設定し
onStart・onResumeなどは定義せず無視しています
ちなみにonCreateを呼び出しその次に
setContentViewというメソッドを実行しています
これはR.layout.mainを呼び出して表示しますよ〜というものです
このR.layout.mainの内容を変更したりonCreateの中身を変更することで
様々な動作を設定していきます

スポンサードリンク

posted by kenken at 13:32 | Comment(0) | TrackBack(0) | 開発補助 基本編 | このブログの読者になる | 更新情報をチェックする
2012年01月24日

チェックボックスの状態を取得する


チェックボックスの状態を取得する 前回チェックボックスの状態を設定するで設定した
チェックボックスの状態を
ボタンを押したときに状態を取得したいと思います
まず前回のres/layout/main.xmlにボタンを追加します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >

    <CheckBox
    	android:id="@+id/checkBox_test"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="CheckBox" />

    <Button
    	android:id="@+id/button_test"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="Button" />

</LinearLayout>

buttonのidにはbutton_testを割り当てています
次にmainActivityです
package blog.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;

public class TestActivity extends Activity {


	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //chek_testにid checkBox_testを割り当てている
        final CheckBox chek_test = (CheckBox)findViewById(R.id.checkBox_test);
        chek_test.setChecked(true);//初期状態をチェックされた状態に設定
        
        //ボタンの設定
        Button b=(Button)findViewById(R.id.button_test);
        b.setOnClickListener(new View.OnClickListener() {
            //ボタンを押したとき
        	public void onClick(View v) {
            if(chek_test.isChecked() == true) {
            	// チェックされた状態だった
            	showMessage("チェックされています");
            	}
            else {// チェックされていない状態だった
                showMessage("チェックされていません");
            	}
            }
        });
        
    }
    
    
    /**トースト設定**/
    protected void showMessage(String msg){
        Toast.makeText(
            this,
            msg, Toast.LENGTH_LONG).show();
    }
    

}

ボタンを押したときにisCheckedメソッドでチェック状態を取得しています
device7.jpgdevice8.jpg
スポンサードリンク

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。