`
notfatboy
  • 浏览: 237562 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个保存Activity State的例子

阅读更多
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
  // Save UI state changes to the savedInstanceState.
  // This bundle will be passed to onCreate if the process is
  // killed and restarted.
  savedInstanceState.putBoolean("MyBoolean", true);
  savedInstanceState.putDouble("myDouble", 1.9);
  savedInstanceState.putInt("MyInt", 1);
  savedInstanceState.putString("MyString", "Welcome back to Android");
  // etc.
  super.onSaveInstanceState(savedInstanceState);
}
The Bundle is essentially a way of storing a NVP map, and it will get passed in to onCreate and also onRestoreInstanceState where you'd extract the values like this:

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
  super.onRestoreInstanceState(savedInstanceState);
  // Restore UI state from the savedInstanceState.
  // This bundle has also been passed to onCreate.
  boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
  double myDouble = savedInstanceState.getDouble("myDouble");
  int myInt = savedInstanceState.getInt("MyInt");
  String myString = savedInstanceState.getString("MyString");
}
You'd usually use this technique to store instance values for your application (selections, unsaved text, etc.).
当一个Activity被kill之前,它可以调用onSaveInstanceState()来保存当前activity的状态信息。用来保存状态信息的Bundle会同时传给两个method,即onRestoreInstanceState() and onCreate().
分享到:
评论

相关推荐

    分享 ! UML设计例子实例

    在WebPublish项目中,可以绘制一个活动图来展示用户发布新网页的完整流程,包括填写信息、验证、保存到数据库等步骤。 6. **用例图(Use Case Diagram)** 用例图描述了系统的主要参与者和他们与系统之间的交互。在...

    workflow简单例子

    1. **活动(Activity)**:WF中的基本构建块,代表一个可执行的操作,如发送电子邮件、等待用户输入等。 2. **工作流设计器(Workflow Designer)**:Visual Studio内置的工具,用于拖放式设计工作流逻辑,使开发者...

    wf状态机

    在描述中提到的"从网上down的例子",意味着这是一个从网络上下载的示例代码,可能是为了教学、学习或参考目的。这个名为"SinglePageFlowSolution"的压缩包可能包含了一个简单的单页流程示例,展示了如何在WF中创建一...

    WF 4.0 之持久化操作

    综上所述,持久化机制是WF 4.0中的一个重要组成部分,通过BookMark、InstanceStore以及PersistenceParticipant等关键概念和技术,可以实现复杂工作流的持久化操作,从而提高应用程序的可靠性和灵活性。

    android通话时间统计器[实例,源代码].zip

    2. **Activity**:通话时间统计器的核心功能很可能由一个或多个Activity实现,它们是用户界面的主要载体。开发者可能创建了一个主活动来展示通话时间的总览,以及一个设置活动来允许用户配置应用的偏好。 3. **...

    Workflow程序代码(HelloWorld).rar

    学习和理解这个“HelloWorld”例子,对于初学者来说是一个很好的起点,可以让他们快速掌握Workflow的基础概念和操作方式。随着对Workflow的深入理解,开发者能够构建更复杂的工作流,用于模拟各种业务逻辑,比如审批...

    无Java开发Android应用

    3. `<activity>`标签指定了使用`android.app.NativeActivity`作为主活动,这是一个内置的框架类,用于处理与NDK(Native Development Kit)代码的集成。 4. `<meta-data>`标签提供了要加载的共享库名(.so文件),在...

    android应用-电话拦截实例

    SQLite提供了一个SQL接口,允许开发者创建、查询和修改数据。你需要理解如何创建表,插入、更新和删除数据,以及编写复杂的SQL查询来实现特定的功能,如查找特定号码是否在拦截列表中。 **2. 广播接收器** 广播接收...

    android demo api

    - **主要内容**:介绍如何创建一个基本的Android项目,并使用API Demo来演示各种功能。 - **关键点**: - 使用Android Studio或Eclipse等IDE进行项目搭建。 - 添加必要的依赖库和权限设置。 - 编写代码实现不同的...

    Android编程中避免内存泄露的方法总结

    如果在Activity中保存了一个静态变量,例如一个大位图,那么这个静态变量就会引用旧的Activity实例,阻止其被垃圾回收。如下所示: ```java private static Drawable sBackground; @Override protected void ...

    Android RecyclerView的初步使用

    在这个例子中,假设我们有一个`MyViewHolder`类,用于持有每个列表项的视图,以及一个包含数据的列表`List<MyData>`。 ```java public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { private ...

    Android开发技巧总汇(3)

    可以创建一个自定义的`LinearLayout`或`RelativeLayout`作为TitleBar,并添加所需的元素,如图标、标题文本等。 ```xml android:id="@+id/title_bar" android:layout_width="match_parent" android:layout_...

    AndroidParcebleWithRecyclerView:此示例应用程序通过复选框演示了recyclerview。 如果方向发生变化,则用户应保持复选框状态

    在这个例子中,每个视图可能包含一个复选框,用于用户选择。当屏幕方向改变时,Android系统会重新创建Activity和Fragment,这可能导致之前的状态丢失。为了解决这个问题,开发者需要将用户界面的状态保存起来,以便...

    android 百度地图api 经纬度

    在Android开发中,百度地图API是一个非常常用的工具,它提供了丰富的功能,包括地图展示、定位、路线规划等。本文将详细讲解如何利用百度地图API在Android应用中获取经纬度坐标,以及解决GPS定位为null的问题。 ...

    Android滑动动态分页实现方法

    在这个例子中,我们定义了一个变量`lastItemIndex`来保存当前显示的最后一个项目的索引。`lastItemIndex`等于`firstVisibleItem + visibleItemCount - 1`。 2. **onScrollStateChanged()** 方法: 这个方法在滚动...

    android viewpager

    在Android开发中,ViewPager是一个非常重要的组件,它用于展示可滑动的页面集合。这个组件在许多应用中广泛使用,例如在应用的引导页、设置菜单或者内容切换时。`ViewPager`结合`PagerAdapter`,可以实现平滑的左右...

    Android开发之开发者头条(一)启动页实现

    首次启动时,保存一个标记表示已启动过,之后不再显示启动页。 ```java private boolean isFirst() { SharedPreferences preferences = getSharedPreferences("LaunchPref", MODE_PRIVATE); return preferences...

    Android中viewPager使用指南

    在Android开发中,ViewPager是一个非常重要的组件,它允许用户通过左右滑动来浏览多个相互关联的页面。在早期的Android版本中,这种功能是通过HorizontalScrollView实现的,但随着Android 3.0(Honeycomb)的发布,...

    draw-io-note:用draw.io画的UML图等

    在draw.io-note-master这个压缩包中,可能包含了使用draw.io绘制的各种UML图示例,你可以参考这些例子学习和实践。通过不断练习,你将能够熟练地运用draw.io绘制出专业且实用的UML图,提升你的软件设计能力。

Global site tag (gtag.js) - Google Analytics