Activity
来源:互联网 发布:宁夏隆盛软件下载 编辑:程序博客网 时间:2024/06/05 14:53
1.什么是Activity?
简单来讲就是一个界面。
比如:我们所看到的手机的桌面,拨号界面,短信界面,这些界面都是Activity。
Activity的特点
我们可以通过后退键来退出Activity,也可以通过HOME键返回到桌面,也可以在一个Activity中启动另一个Activity
2.Activity生命周期
启动应用:执行onCreate,onStart,onResume,
HOME键回到桌面:执行onPause,onStop
多任务键重新导航到这这个应用:执行onRestart,onStart,onResume
返回后退键:执行onPause,onStop,onDestroy
3.Activity数据传递
A.Intent参数传递
如:字符串的传递
①在activity_main.xml的主布局文件中,加入Button控件,并设置id。android:id="@+id/btnStartAty"
②新建Activity Name是BAty的Activity,并设置其中的TextView。android:id="@+id/tv"
③在MainActivity的onCreate方法中加入代码
findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this,BAty.class); i.putExtra("data","Hello Android");//定义参数startActivity(i); }
④在BAty的onCreate方法前面声明TextView。
private TextView tv;
⑤在BAty的onCreate方法中加入代码
Intent i= getIntent();//获取到在MainActivity中定义的参数 tv= (TextView) findViewById(R.id.tv); tv.setText(i.getStringExtra("data"));//获取到定义为“data”的字符串数据,传给tv(TextView)B.Bundle数据包的传递
①在activity_main.xml的主布局文件中,加入Button控件,并设置id。android:id="@+id/btnStartAty"
②新建Activity Name是BAty的Activity,并设置其中的TextView。android:id="@+id/tv"
③在MainActivity的onCreate方法中加入代码
findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this,BAty.class);Bundle b = new Bundle();//定义一个Bundle//用Bundle来存入很多种基本数据,通过这种方式传递给第二个Activity b.putString("name","Java");//在Bundle中参数name b.putInt("age",24);//在Bundle中参数age//等等还有其他的数据类型,也可以嵌套Bundle i.putExtras(b);//传入Bundle//i.putExtra("data",b);//另一种出入Bundle方式startActivity(i); }
④在BAty的onCreate方法前面声明TextView。
private TextView tv;
⑤在BAty的onCreate方法中加入代码
tv= (TextView) findViewById(R.id.tv); Intent i= getIntent();//获取到在MainActivity中定义的参数 Bundle data = i.getExtras();//获取Bundle //Bundle data = i.getBundleExtra();//另一种获取Bundle方式 tv.setText(String.format("name=%s,age=%d",data.getString("name"),data.getInt("age")));//呈现出我们获取到的Bundle中的内容
扩展:在Bundle中,使用putExtras(Bundle extras)方法传对象时,用getExtra()方法来获取传入的值
使用putExtra(String name,Bundle value)方法传对象时,用getBundleExtra(String name)方法来获取传入的值
C.值对象传递
详情见:Activity值对象传递
D.获取返回参数
详情见:Activity获取返回值
4.Activity的启动模式
standard模式:默认启动方式;在同一个任务栈里,创建不同的实例;通过后退键,可以弹出栈顶的实例,然后呈现上一个Activity的实例;通过这种方式,支持后退键的导航
singleTop模式:在同一个栈里,如果此时的Activity处于栈顶,那么只能创建一个实例,否则会创建一个新的实例
singleTask模式:在同一个栈里,singleTask模式启动会启动到第一次singleTask所创建的实例,弹回其他方式启动的实例
singleInstance模式:singleInstance只存在独立的任务栈里,一个任务栈只包括这么一个Activity,也只含有一个实例
详情见:Activity启动模式
- Activity
- Activity
- Activity。。。
- Activity
- Activity
- Activity
- Activity
- Activity
- Activity
- Activity
- activity
- Activity
- Activity
- activity
- Activity
- activity
- activity
- activity
- 关联容器的操作
- 常用技术网站
- css中的长度值设置
- tableView等滚动视图滚动时收缩上下导航栏与标签栏
- nyoj 12 喷水装置(二) 贪心 区间覆盖
- Activity
- js实现简单的图片切换
- 微软网站被黑了吗?
- Prime Ring Problem
- How to Calculate IP Header Checksum (With an Example)
- Andorid存储目录知识总结及文件操作方法封装
- 第八周 项目三 分数类中的运算符重载(1)
- python 各种模块学习
- Jquery-zTree的基本用法