`
woshixushigang
  • 浏览: 578330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Android之Bundle传递数据详解与实例及Bundle与SharedPreferences的区别

阅读更多

Android之Bundle传递数据详解与实例及Bundle与SharedPreferences的区别

效果如下:

 

初始界面

输入信息

“确定”以后

 

一、API文档说明

  1.介绍

    用于不同Activity之间的数据传递

  1.重要方法

    clear():清除此Bundle映射中的所有保存的数据。

    clone():克隆当前Bundle

    containsKey(String key):返回指定key的值

    getString(String key):返回指定key的字符

    hasFileDescriptors():指示是否包含任何捆绑打包文件描述符

    isEmpty():如果这个捆绑映射为空,则返回true

    putString(String key, String value):插入一个给定key的字符串值

    readFromParcel(Parcel parcel):读取这个parcel的内容

    remove(String key):移除指定key的值

    writeToParcel(Parcel parcel, int flags):写入这个parcel的内容

二、实例

  

public class BundleDemo extends Activity {
 private EditText etName;
 Button btn;

 /*
  * (non-Javadoc)
  *
  * @see android.app.Activity#onCreate(android.os.Bundle)
  */
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);

  setContentView(R.layout.bundle);

  etName = (EditText) findViewById(R.id.etname);
  btn = (Button) findViewById(R.id.btn);
  btn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    String info = etName.getText().toString();
    Bundle bundle = new Bundle();

  //保存输入的信息
    bundle.putString("name", info);
    Intent intent=new Intent(BundleDemo.this,BundleDemo1.class);
   intent.putExtras(bundle);
   finish();
   startActivity(intent);
   }
  });

 }

}

 

public class BundleDemo1 extends Activity {
private TextView etName;
 /* (non-Javadoc)
  * @see android.app.Activity#onCreate(android.os.Bundle)
  */
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  
  setContentView(R.layout.b1);
  
  etName=(TextView)findViewById(R.id.txtname);
  Bundle b=getIntent().getExtras();
  //获取Bundle的信息
  String info=b.getString("name");
  etName.setText("您的姓名:"+info);
 }

}

 

三、与SharedPreferences的区别

  SharedPreferences是简单的存储持久化的设置,就像用户每次打开应用程序时的主页,它只是一些简单的键值对来操作。它将数据保存在一个xml文件中

  Bundle是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状态。

<script type="text/javascript"></script>
分享到:
评论

相关推荐

    Android持久化技术之SharedPreferences存储实例详解

    SharedPreferences是Android提供的一种轻量级的持久化数据存储机制,特别适合存储简单的配置信息,如用户设置。本篇文章将深入讲解SharedPreferences的存储原理、应用以及实现方法。 一、SharedPreferences存储原理...

    Android系统应用开发实战详解

    5. **数据存储**: Android提供了多种数据存储方式,如SharedPreferences用于轻量级键值对存储,SQLite数据库用于结构化数据,以及文件系统和ContentProvider用于更复杂的数据管理。 6. **服务**: Service组件在后台...

    Android Application存取公共数据的实例详解

    本实例详解将深入探讨如何利用`Application`类来存取和共享公共数据。 首先,了解`Application`对象的生命周期:当Android系统启动一个应用时,会创建一个`Application`对象,并在整个应用的生命周期内只创建这一个...

    Android中SharedPreference详解及简单实例

    Android 中 SharedPreference 详解及简单实例 Android 中的 SharedPreference 是一种轻量级的数据存储方式,主要用来存储一些简单的配置信息,例如,默认欢迎语,登录用户名和密码等。其以键值对的方式存储,使得...

    Android 5种存储 详解

    1. **创建数据库**:通过继承 SQLiteOpenHelper 类并重写其方法来创建数据库及数据表。 2. **插入、更新、删除和查询数据**:使用 SQLiteDatabase 对象执行相应的 SQL 语句。 **示例代码**: ```java public class ...

    新版android开发教程

    ### 新版Android开发教程知识点详解 ...通过以上介绍,我们可以看出,在Android开发中,**Bundle**是实现Activity间数据传递的重要工具之一。熟练掌握其使用方法,对于提高开发效率具有重要意义。

    实例详解Android文件存储数据方式

    Android文件存储数据是应用程序在本地持久化数据的重要方式之一,主要分为三种基本方式:文件存储、数据库存储(如SQLite)以及网络存储。本篇将详细讲解Android中的文件存储。 1. 文件存储 文件存储利用Java的IO...

    数据存储之Preferences

    在Android开发中,数据存储是不可或缺的一部分,而Preferences则是Android提供的一种轻量级的数据存储机制,主要用于存储用户的一些偏好设置或者简单数据。Preferences通常用于保存应用程序中的键值对,类似于桌面...

    Android 文件操作详解及简单实例

    理解Android的文件操作不仅有助于开发基本的文件功能,还能为更复杂的数据持久化,如SQLite数据库、SharedPreferences、XML或JSON文件等提供基础。在实际开发中,根据需求选择合适的方式管理文件,同时注意文件安全...

    Android学习之SharedPerference存储详解

    Android学习之SharedPerference存储详解 SharedPreference是Android中的一种轻量级存储机制,它使用键值对的方式来存储数据,相比文件存储,它具有更高的读写效率和安全性。下面我们将对SharedPreference的使用进行...

    联想Android面试题

    此时Activity仍在内存中,但用户无法与之交互。 - **`onRestart()`**:当Activity由不可见状态变为可见状态时调用。这通常是由于用户再次打开先前已关闭的应用程序。 - **`onDestroy()`**:当Activity将被销毁时调用...

    详解Android首选项框架的使用实例

    Android首选项框架是Android系统提供的一种用于管理应用设置和用户偏好的工具。它允许开发者创建易于使用的设置界面,同时自动处理数据的存储和检索。在本文中,我们将深入探讨如何使用这个框架,通过实例来展示其...

    android常见的面试题

    ### Android常见面试题详解 #### 1. 什么是Activity? **Activity** 是Android四大组件之一,代表了应用程序的一个屏幕界面。每一个Activity都是一个独立的屏幕显示,并且可以在其他Activity之间进行切换。简单来...

    android2W一次培训教材

    ### Android开发核心知识点详解 #### 一、ANDROID常用类库说明 在Android开发过程中,熟练掌握各类库的应用是提升开发效率的关键。以下是一些常用的类库及其用途。 1. **Bitmap**: 主要用于图片处理,如加载、压缩...

    android面试常见问题

    ### Android面试常见问题详解 #### 1. Intent的几种有关Activity启动的方式及其含义 - **FLAG_ACTIVITY_BROUGHT_TO_FRONT**: 当此标志被设置时,它会使Activity变为前台任务,即使该Activity已经在运行中。 - **...

    Android面试系列—目录

    ### Android面试知识点详解 #### 1. 对Activity的理解 - **定义**:Activity是Android四大组件之一,代表了用户界面的一个屏幕。每个Activity都负责显示一个独立的屏幕,并且能够与其他Activity进行交互。 - **作用...

    android面试题

    ### Android面试题详解 #### 1. Android的四大组件及其作用 - **Activity**:Activity是Android应用程序中负责用户界面展示的基本单位。每个Activity都代表一个屏幕,可以包含多个视图(View)。当用户与应用交互时...

    Android 中 onSaveInstanceState()使用方法详解

    这个Bundle随后会被传递给`onCreate()`或`onRestoreInstanceState()`,以便在Activity重建时恢复这些状态。 下面是一个使用`onSaveInstanceState()`的例子: ```java @Override protected void ...

Global site tag (gtag.js) - Google Analytics