×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

开发APP关于Activity数据的保存和恢复方法详解

文章编辑:网站建设 文章来源:APP开发 浏览量:

开发APP关于Activity数据的保存和恢复方法详解:
临时保存数据和恢复数据
  在以下场景需要临时保存当前Activity使用的一些数据。手机横竖屏模式切换时。用户点击“hom”键,把当前界面切换到后台时。手机锁屏时。从当前Activity跳到另一个Activity,但不销毁之前的Activity时。Activity类提供了onSaveInstanceState(BundleoutState)方法保存数据,onRestoreInstanceState(BundlesavedInstanceState)方法恢复数据。在使用onSaveInstanceState方法时需要注意:当用户点击“返回”按钮、“返回”键或者调用了finish()方法退出Activity时,不会调用该方法。该方法一定是在onStop方法之前调用,但是不确定是在onPause方法之前还是之后调用。对于定义了id的视图控件,系统在调用onSaveInstance方法的时候,会自动保存视图控件的状态。在Android源码中,有相关说明,如图12-1所示。
 
onRestoreInstanceState方法在onStart方法之后、onResume方法之前被调用。
持久保存数据和恢复
  数据用户点击屏幕左上角的“返回”按钮或点击“返回”键退出Activity的时候,有时需要持久保存数据。为了改善用户体验,最好先显示提示框,提醒用户是否要保存当前界面数据,用户选择是,再执行保存数据的代码。点击“返回”按钮时,代码如下:@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){  finalintid=item.getItemId();  if(android.R.id.home==id){    isSaveData();    returntrue;   }   returnsuper.onOptionsItemSelected(item);}点击“返回”按键时,代码如下:
 
@OverridepublicvoidonBackPressed(){  isSaveData();}onPause()和onResume()两个方法在Activity的生命周期中一定会调用到的,所以无论是临时保存数据还是持久保存数据,在onPause()方法中保存数据、在onResume()方法中恢复数据是最保险的做法。好了,APP开发公司本文关于“Activity数据的保存和恢复方法详解”知识就分享到这里,谢谢关注,博纳网络编辑整理。
 
 

当前文章链接:/construction/appkaifa/2421.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。