活动

###手动创建活动

1. 创建布局文件

1) 在layout中创建一个布局类XML

2. 创建一个活动类

1) 在src中创建一个包,再创建一个活动类继承Activity,重写onCreate类

2) 加载布局文件

方法:setContentView(布局位置);

3. 注册活动------AndroidManifest

1) 在application中添加一下代码

<activity

            android:name="活动类的详细位置 "

            android:label="活动类显示的名称" >

       <intent-filter>

//将此活动设置为主活动

                <action android:name="android.intent.action.MAIN" />

                <category

android:name="android.intent.category.LAUNCHER" />

           </intent-filter>

</activity>

###添加菜单文件

  1. 添加菜单XML

1) 在res中创建一个menu的文件夹

2) 在文件夹中创建一个main.xml的类

3) 添加代码

<item android:id=”添加id” android:title=”显示内容”></item>

  1. 在活动中显示

1)     在活动中重写onCreateOptionsMenu方法

public boolean onCreateOptionsMenu(Menu menu) {

2)       // TODO Auto-generated method stub

3)       getMenuInflater().inflate(main的位置,menu);

4)       return true;

5)     }

  1. 为菜单添加功能

重写public boolean onOptionsItemSelected(MenuItem item) {

       // TODO Auto-generated method stub

       switch(item.getItemId()){

       case   条目ID:

           //功能

           break;

       }

       return super.onOptionsItemSelected(item);

}

###在活动之间穿梭

  1. 显式Intent

1) 创建一个新的活动

2) 确定进入新活动的条件

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);//第一个参数为上下文,第二个参数是新活动的类

startActivity(intent); //启用活动

  1. 隐式Intent

###在活动之间传递数据

  1. 向下一个活动传递数据

1) 发送方:

a)      建立显示intent

b)      使用方法putExtra(“键值”,传递的数据);来传递数

c)      startActivity(intent); //启用活动

2) 接收方:

a)      创建一个intent对象

b)      使用方法getStringExtra(“键值”);来得到数据-----此方法返回一个String

  1. 向上一个活动传递数据

1) 发送方

a)      创建一个intent对象

c)      使用方法intent的方法putExtra(“键值”,传递的数据);来传递数

b)      setResut(数据处理结果,intent);//数据处理结果通常是RESULT_OK和RESULT_CANCELED

c)      销毁活动

注意:可以自定义一个按钮在销毁活动的同时传递数据,也可以重写onBackPressed()方法

该方法表示:当用户按下BACK按键时所进行的动作

2) 接收方

a)      建立显示Intent

b)      startActivityForResult(intent, 数据请求值);//数据请求值是一个int

c)      重写方法

//用来处理回传值的

//第一个int是接收的所有的请求值

//第二个int是接收是返回数据的处理结果

//第三个参数是接收的数据

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

       // TODO Auto-generated method stub

       switch (requestCode) {

       case 1:

           if (resultCode == RESULT_OK) {

              String returnData = data.getStringExtra("return_data");

              Toast.makeText(FirstActivity.this, returnData, Toast.LENGTH_LONG).show();

              Log.i("回传数据",returnData);

           }

           break;

       default:

       }

       super.onActivityResult(requestCode, resultCode, data);

}

###琐碎功能

  1. 销毁活动-------finish()方法