活动
###手动创建活动
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>
###添加菜单文件
- 添加菜单XML
1) 在res中创建一个menu的文件夹
2) 在文件夹中创建一个main.xml的类
3) 添加代码
<item android:id=”添加id” android:title=”显示内容”></item>
- 在活动中显示
1) 在活动中重写onCreateOptionsMenu方法
public boolean onCreateOptionsMenu(Menu menu) {
2) // TODO Auto-generated method stub
3) getMenuInflater().inflate(main的位置,menu);
4) return true;
5) }
- 为菜单添加功能
重写public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case 条目ID:
//功能
break;
}
return super.onOptionsItemSelected(item);
}
###在活动之间穿梭
- 显式Intent
1) 创建一个新的活动
2) 确定进入新活动的条件
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);//第一个参数为上下文,第二个参数是新活动的类
startActivity(intent); //启用活动
- 隐式Intent
###在活动之间传递数据
- 向下一个活动传递数据
1) 发送方:
a) 建立显示intent
b) 使用方法putExtra(“键值”,传递的数据);来传递数
c) startActivity(intent); //启用活动
2) 接收方:
a) 创建一个intent对象
b) 使用方法getStringExtra(“键值”);来得到数据-----此方法返回一个String
- 向上一个活动传递数据
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);
}
###琐碎功能
- 销毁活动-------finish()方法