Activity传递返回参数+生命周期+横竖屏+保持临时数据
来源:互联网 发布:卫生部 疾病数据 编辑:程序博客网 时间:2024/05/04 02:10
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持!
前言
我们要讲如果在关闭了第二个Activiy的时候将参数返回给第一个Activity。以及非常重要的Activity生命周期,还有就是实战中经常遇到的开发问题解决方案。
Activity间传递数据打开一个activity关闭之后,返回数据
Activity1:
- public void open(View v){
- Intent intent = newIntent(this,OtherActivity.class);
- //requestCode :请求码(区分请求的来源)
- startActivityForResult(intent, 100);
- }
- protected void onActivityResult(intrequestCode, int resultCode, Intent data) {
- //TODO Auto-generated method stub
- super.onActivityResult(requestCode,resultCode, data);
- if(requestCode== 100 && resultCode == 200 && data != null){
- String info =data.getStringExtra("info");
- et_info.setText(info);
- }
Activity2:
- public void close(View v){
- String info =et_info.getText().toString();
- Intent data = new Intent();
- data.putExtra("info", info);
- //resultCode 结果码(区分返回的结果)
- setResult(200, data);
- //关闭Activity
- finish();
- }
Activity生命周期
1 完整生命周期
onCreate()
--> onStart()
--> onResume()
可以在手机上看见activity
---> onPause()
--> onStop()
看不见了
---> onDestory()
销毁了
2 前台生命周期
onstart() ---> onStop()之间进行切换
onCreate() --> onStart() --> onResume()
现在有一个activity完全覆盖
onPause() ----> onStop()
如果上面的activity关闭
onRestart() ---> onStart() --> onResume()
3 可视生命周期
onResume() ---> onPause()之间进行切换
onCreate() --> onStart() --> onResume()
现在有一个activity没有完全覆盖
onPause()
如果上面的activity关闭
onResume()
临时数据:应用程序出现异常。我们需要保存的数据。
- //保存临时数据
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- // TODO Auto-generated method stub
- super.onSaveInstanceState(outState);
- outState.putInt("page", 88);
- }
- //用来恢复数据
- @Override
- protected void onRestoreInstanceState(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onRestoreInstanceState(savedInstanceState);
- int page = savedInstanceState.getInt("page");
- Log.i("i","page:"+page);
- }
横竖屏问题
ctrl+ F12 可以让模拟器横竖屏切换
竖屏---》横屏
先杀死一个Activity,再创建一个Activity
横屏---》竖屏
先杀死一个Activity,再创建一个Activity,
再杀死一个Activity,再创建一个Activity
原因:android的键盘导致
如果要变成一样:
- <activity
- android:label="@string/app_name"
- android:name=".MainActivity"
- android:configChanges="keyboardHidden">
此时会创建一个Activity实例
我不想创建。
- <activity
- android:label="@string/app_name"
- android:name=".MainActivity"
- android:configChanges="keyboardHidden|orientation">
此时不会创建实例
我想横屏和竖屏显示不一样。
- //当切屏幕的时候触发
- public voidonConfigurationChanged(Configuration newConfig) {
- // TODO Auto-generated method stub
- super.onConfigurationChanged(newConfig);
- int orientation = newConfig.orientation;
- //竖屏
- if(orientation ==Configuration.ORIENTATION_PORTRAIT){
- setContentView(R.layout.main);// 切换视图
- }else{
- setContentView(R.layout.other);
- }
- }
事件
//触摸事件
onTouchEvent()
//键盘按下
onKeyDown()
//键盘弹起
onKeyUp()
//键盘长按
onKeyLongPresss()
//键盘重复点击
onKeyMultiple()
必须知道的问题~!(面试经常问到)
activity返回时,如何返回数据?
Activity1:
1.startActivityForResult(intent) // 请求
3.onActivityResult() // 回调拿到反馈数据
Activity2:
2.setResult()//反馈
activity生命周期有哪些状态,有哪些方法?
onCreate();
onStart();-------------
onResume();
onPause();
onStop(); ---------onReStart();
onDestroy();
异常情况下保存临时数据的方法?
onSaveInstanceState(); // 保存数据
onRestoreInstanceState(); // 读取数据
常用事件有哪些?
onKeyUp();
onKeyDown();
onKeyLongPress();
onKeyMultiple();
onTouchEvent();
- Activity传递返回参数+生命周期+横竖屏+保持临时数据
- ym——Android从零开始(12)(Activity传递返回参数+生命周期+横竖屏+保持临时数据)(新)
- activity之间参数传递&&获取activity返回值&&activity生命周期
- Activity横竖屏切换生命周期
- Activity横竖屏切换生命周期
- Activity生命周期及数据传递
- 6、Activity生命周期、Activity间数据传递
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 横竖屏切换时候Activity的生命周期
- android 横竖屏切换,activity的生命周期
- 横竖屏切换时候Activity的生命周期
- 题目1133:学分绩点 (C++/Java)
- 使用Catalog命令注册RMAN备份集
- USB/HID设备报告描述符详解
- 图像缩放算法
- CentOS----kdump failed
- Activity传递返回参数+生命周期+横竖屏+保持临时数据
- Delphi开发IE中添加工具栏
- wampserver2.5 发布后不能访问 you don't have permission to access
- 类似百度搜索输入keyword进行找到含keyword相关内容
- MyBatis的Sql执行过程源码解读
- 使用mybatis时可能出现的问题
- linux 文本处理一
- 从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别
- NYOJ 58--最少步数【DFS】