Android四大组件之Activity
详细介绍如何创建Activity、生命周期、内存管理、启动模式。
创建Activity
一.定义Activity
1. 定义Activity 定义类继承Activity
2.在AndroidManifest.xml的节点中声明<activity>
显式意图创建Activity三种方式方式
//第一种方式:构造函数,代码少
Intent intent1 =new Intent(this,NewActivity.class);
startActivity(intent1);
//第二种方式:类名形式,灵活,可扩展性强
Intent intent2 =new Intent();
intent2.setClassName(this,"cn.test.activity.NewActivity");
startActivity(intent2);
//第三种方式 :包名类名形式,可启动其他程序中的Activity
Intent intent3 =new Intent();
intent3.setClassName("cn.test.taskdownloader","cn.test.taskdownloader.MainActivity");
startActivity(intent3);
二.创建Activity并传递数据
1.在意图对象中封装了一个Bundle对象,可以用来携带数据
2.在新Activity中可以获得意图对象以获取其中Bundle保存的数据
//传递数据方式一
Intent intent1 =new Intent(this,NewActivity.class);
Bundle bundle=new Bundle();
bundle.putString("data","Test");
intent1.putExtras(bundle);
startActivity(intent1);
//获取意图方式一
Bundle bundle2 =getIntent().getExtras();
Toast.makeText(this,bundle2.getString("data"),0).show();
//传递数据方式二
Intent intent2 =new Intent(this,NewActivity.class);
intent2.putExtra("data","Test2");
startActivity(intent2);
//获取意图方式二
Toast.makeText(this,getIntent().getStringExtra("data"),0).show();
三.创建Activity获取返回数据
1. 使用startActivityForResult(Intent intent, int requestCode) 方法打开Activity
2. 重写onActivityResult(int requestCode, int resultCode, Intent data) 方法
3 .新Activity中调用setResult(int resultCode, Intent data) 设置返回数据之后,关闭Activity就会调用onActivityResult方法
请求的activity:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
/**
* 创建Activity获取返回数据
* @param view
*/
public void createNew(View view){
Intent intent1 =new Intent(this,NewActivity.class);
intent1.putExtra("data","请求数据");
//打开Activity等待返回
startActivityForResult(intent1,100);
}
/**
* 重写onActivityResult,关闭Activity就会调用此方法
&nbs
相关新闻>>
- 发表评论
-
- 最新评论 更多>>