onCreate方法参数Bundle savedInstanceState的作用
来源:互联网 发布:如何修改ssh的端口号 编辑:程序博客网 时间:2024/05/21 08:43
写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数savedInstanceState。因为在一般的程序开发中,很少用到这个参数。
onCreate方法的完整定义如下:
public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);}
public void onSaveInstanceState(BundlesavedInstanceState){super.onSaveInstanceState(savedInsanceState);}
简单的事例api中snake游戏 在SnakeView类中
private int[] coordArrayListToArray(ArrayListcvec) { int count =cvec.size(); int[] rawArray= new int[count * 2]; for (int index= 0; index < count; index++) { Coordinate c =cvec.get(index); rawArray[2 *index] = c.x; rawArray[2 *index + 1] = c.y; } returnrawArray; } publicBundle saveState() { Bundle map =new Bundle(); map.putIntArray("mAppleList",coordArrayListToArray(mAppleList)); map.putInt("mDirection", Integer.valueOf(mDirection)); map.putInt("mNextDirection",Integer.valueOf(mNextDirection)); map.putLong("mMoveDelay", Long.valueOf(mMoveDelay)); map.putLong("mScore", Long.valueOf(mScore)); map.putIntArray("mSnakeTrail",coordArrayListToArray(mSnakeTrail)); returnmap; }
在snakeActivity中实现
@Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.snake_layout); mSnakeView =(SnakeView) findViewById(R.id.snake); mSnakeView.setTextView((TextView) findViewById(R.id.text)); if(savedInstanceState == null) { // We were justlaunched -- set up a new game mSnakeView.setMode(SnakeView.READY); } else { // We are beingrestored Bundle map =savedInstanceState.getBundle(ICICLE_KEY); if (map !=null) { mSnakeView.restoreState(map); } else { mSnakeView.setMode(SnakeView.PAUSE); } } }
并重写onSavedInstanceState(),此方法会在activity结束时,调用.
@Override publicvoid onSaveInstanceState(Bundle outState) { //Store thegame state outState.putBundle(ICICLE_KEY, mSnakeView.saveState()); }
0 0
- onCreate方法参数Bundle savedInstanceState的作用
- 关于onCreate方法的参数 Bundle savedInstanceState的作用
- android onCreate(Bundle savedInstanceState)中参数的含义作用
- onCreate()方法中的参数Bundle savedInstanceState 的意义用法
- onCreate()方法中的参数Bundle savedInstanceState 的意义用法
- onCreate() 方法中的参数 Bundle savedInstanceState 的意义和用法
- onCreate()方法中的参数Bundle savedInstanceState 的意义用法
- onCreate()方法中的参数Bundle savedInstanceState 的意义用法
- onCreate()方法中参数Bundle savedInstanceState 的意义
- onCreate()中的Bundle savedInstanceState参数
- onCreate()中的Bundle savedInstanceState参数
- oncreate中参数savedInstanceState的作用
- onCreate()方法中的参数Bundle savedInstanceState详解
- onCreate(Bundle savedInstanceState)参数Bundle
- Android oncreate(Bundle savedInstanceState, PersistableBundle persistentState)作用
- Bundle savedInstanceState的作用
- Bundle savedInstanceState的作用
- Bundle savedInstanceState的作用
- CSU 1660: K-Cycle
- Linux信号概述
- arraylist和linkedlist的区别
- ZeroMq LRU算法中间件
- Java规范
- onCreate方法参数Bundle savedInstanceState的作用
- Java中String和CharSequence的关系
- asp.net WebForm中的一般处理程序、aspx页面深入学习
- Docker 命令行汇总
- 博客迁移通知
- 算法之绝对众数
- VC++基于微软语音引擎开发语音识别总结
- leetcode 20. Valid Parentheses
- J2EE整合UCenter 首次注册同步登录与自动激活