Android四大组件之Activity
来源:互联网 发布:手机破解压缩文件软件 编辑:程序博客网 时间:2024/05/01 19:54
一、Activity的生命周期
1.方法定义
onCreate()方法:Activity第一次被创建时调用,总继之以onStart();
onStart()方法:当Activity正要变得为用户所见时调用,且当Activity重新获得用户焦点时继之以onResume(),而在Activity变为隐藏时继之以onStop();
onRestart()方法:Activity停止后,在再次启动之前被调用,总继之以onStart();
onResume()方法:当Activity获得用户焦点时调用,在失去用户焦点时继之以onPause();
onPause()方法:当Activity失去用户焦点时调用,在重新获得用户焦点时继之以onResume(),而当其变为不可见时继之以onStop();
onStop()方法:当Activity不再为用户所见时调用,在重新获得用户焦点时继以onRestart(),如果使用finish()关闭了当前Activity则继以onDestroy();
onDestroy():使用finish()销毁当前Activity时调用。
2.常见的生命周期切换过程
(1)启动Activity1:
(2)Activity1跳转到Activity2:
(3)销毁Activity2后:
(4)横竖屏的切换:
(5)当设置android:configChanges="orientation|keyboardHidden"时,横竖屏的切换:
但是,当API版本过高时,横竖屏切换并不执行onConfigurationChanged()方法,横竖屏切换如(4)
二、Activity之间的数据传递
1.方法一(putExtra()的使用):
(1)发送数据
<span style="white-space:pre"></span>Intent intent = new Intent(MainActivity.this,<span style="white-space:pre"></span>SkipActivity.class);<span style="white-space:pre"></span>intent.putExtra("txt", "Hello SkipActivity");<span style="white-space:pre"></span>startActivity(intent);
(2)接收数据
String getString = getIntent().getStringExtra("txt");Toast.makeText(SkipActivity.this, getString, Toast.LENGTH_SHORT).show();
2.方法二(putExtras(Bundle bundle)方式):
(1)发送数据
<span style="font-size:18px;"> Intent intent = new Intent(MainActivity.this,SkipActivity.class);Bundle bundle = new Bundle();bundle.putString("txt", "How are you,SkipActivity");intent.putExtras(bundle);startActivity(intent);</span>
(2)接收数据
Bundle bundle = getIntent().getExtras();String getString = bundle.getString("txt");Toast.makeText(SkipActivity.this, getString, Toast.LENGTH_SHORT).show();
3.获取跳转过的Activity返回的数据
(1)发送数据: Intent intent=getIntent();intent.putExtra("result", "Hello MainActivity");setResult(0, intent);finish();
(2)接收数据:
Intent intent = new Intent(MainActivity.this,SkipActivity.class);startActivityForResult(intent, 0);
标志0用来区分不同的Activity返回的数据
此外必须重写onActivityResult(……)方法
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {String result = data.getStringExtra("result");Toast.makeText(this, result, Toast.LENGTH_LONG).show();super.onActivityResult(requestCode, resultCode, data);}
0 0
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之Activity
- android四大组件之 Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android四大组件之Activity
- Android 四大组件之Activity
- android 四大组件之activity
- Android 四大组件之 Activity
- android四大组件之Activity
- java wait()方法notifyAll()方法实现三个线程打印A,B,C字符
- IE6 PNG透明终极解决方案
- ffmpeg解复用视频文件
- C语言可变参数宏定义方法
- 怎么会有种新车报废的感觉 粉红色奥拓报废之旅
- Android四大组件之Activity
- Rotate Image
- 四旋翼飞行器Quadrotor飞控之 PID调节(参考APM程序)
- libusb异步中断传输使用说明
- hdu-oj 1390 Binary Numbers
- CATALINA_HOME和CATALINA_BASE 区别
- 使用AsyncTask任务
- .net 开发微信公众平台(三)-----发送图文消息
- CSS和SVG中的剪切——clip-path属性和<clipPath>元素