- 浏览: 177418 次
- 性别:
- 来自: 深圳
文章分类
参考文章
Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
http://blog.csdn.net/cjjky/article/details/6441104
数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。
要传递的对象
接受对象的Activity
Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
http://blog.csdn.net/cjjky/article/details/6441104
数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。
要传递的对象
package com.andy.entity; package com.andy.entity; import android.os.Parcel; import android.os.Parcelable; public class Police implements Parcelable { private String name; private int workTime; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getWorkTime() { return workTime; } public void setWorkTime(int workTime) { this.workTime = workTime; } public static final Parcelable.Creator<Police> CREATOR = new Creator<Police>() { @Override public Police createFromParcel(Parcel source) { Police police = new Police(); police.name = source.readString(); police.workTime = source.readInt(); return police; } @Override public Police[] newArray(int size) { return new Police[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int flags) { parcel.writeString(name); parcel.writeInt(workTime); } } /** * Pacelable传递对象方法 */ private void PacelableMethod(){ Police mPolice = new Police(); mPolice.setName("I am Police"); mPolice.setWorkTime(2008); Intent mIntent = new Intent(this,ParcelableDemo.class); Bundle mBundle = new Bundle(); mBundle.putParcelable(PAR_KEY, mPolice); mIntent.putExtras(mBundle); startActivity(mIntent); } }
接受对象的Activity
package com.andy.testdemo; import com.andy.entity.Police; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ParcelableDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView mTextView = new TextView(this); Police mPolice = (Police)getIntent().getParcelableExtra(TestActivity.PAR_KEY); mTextView.setText("Police name is: " + mPolice.getName()+"/n"+ "WorkTime is: " + mPolice.getWorkTime() + "/n"); setContentView(mTextView); } }
发表评论
-
跳转至Google Play,rate,more推广功能
2014-08-19 15:09 1116String appPackageName = getPac ... -
Activity 全透明属性
2014-07-02 15:10 542android:theme="@android:st ... -
android平台运行flash游戏
2014-03-31 19:20 821android平台运行flash游戏 http://blo ... -
遍历指定目录下的图片文件 显示在gridview
2014-03-05 12:49 812gridview布局 <?xml version=& ... -
Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
2014-01-06 15:11 1022http://blog.csdn.net/guolin_b ... -
android 透明效果
2013-06-28 17:25 910参考http://2960629.blog.51cto ... -
拦截Home键
2013-03-19 12:03 950主要就是重写 onAttachedTo ... -
不同应用间数据共享
2013-03-18 11:16 831Android不同应用之间数据的共享有许多方式,但是我觉得还是 ... -
root情况下静默安装
2012-12-17 11:12 819参考 http://blog.csdn.net/su1216/ ... -
app推广必备功能:分享到,更多应用,创建快捷方式
2012-12-14 13:14 1190public class ShareTool { ... -
获取屏幕上正在显示的activity
2012-12-08 17:19 1038参考文章http://chroya.iteye.com/blo ... -
android异步加载数据
2012-11-07 13:55 963参考http://blog.csdn.net/sfshine/ ... -
Activity去除标题栏和状态栏
2012-11-06 15:50 1379方法一:直接在xml文件里设置 //全屏(隐藏标题栏和状 ... -
无法清除的Notification,直到点击了才可以消除
2012-11-06 12:35 2222参考文章 http://www.cnblogs.com/new ... -
vpn
2012-10-30 17:17 705参考文章http://blog.csdn.net/whyonl ... -
开机启动Service
2012-10-25 14:58 866程序执行效果为: 开机后跳转到MainActivity并执行定 ... -
Android 定时执行任务
2012-10-25 13:28 1971本程序执行效果为: 隔3秒打印"收到广播" ... -
打开关闭移动数据、wifi、gps
2012-10-13 23:11 1004参考 http://blog.csdn.net/anzhu_1 ... -
联网自动开启Service
2012-10-12 10:13 946参考http://blog.csdn.net/lvron/ar ... -
从assets复制文件到sd卡
2012-09-28 21:34 2922参考文章 批量从assets复制文件到sd卡 http://l ...
相关推荐
本文将详细介绍如何使用Parcelable接口来实现对象在Intent中的传递。 首先,了解Parcelable接口。它是Android提供的一种高效的数据序列化方式,比默认的Serializable接口更快,更适合在内存和Intent中传输数据。要...
这个压缩包文件"实现Parcelable接口的方式借助Intent实现Android工程中Activity之间Java对象的传递.zip"提供了一个关于如何实现这一功能的示例。 首先,了解Intent的基本用法。Intent在Android中扮演着消息传递的...
本篇文章将详细探讨在Android中Activity之间对象传递的两种主要方式:Parcelable和Serializable接口的使用。 首先,我们来理解为什么需要在Activity之间传递对象。在多Activity的应用中,可能需要在不同的Activity...
在Activity之间传递Parcelable对象时,可以使用`Intent`的`putExtra()`方法,传入自定义的键和Parcelable对象。对于集合,可以使用`putParcelableArrayListExtra()`。 5. **Activity间的数据传递**: 起始...
本文将详细介绍如何使用三种方法来传递对象:Parcelable、Serializable和Bundle,这些方法适用于不同类型的对象,包括基本类型、字符串、布尔值、数组、ArrayList以及自定义复杂对象如UUID和浮点类型。 ### 1. ...
本篇将详细讲解如何在Android的Activity之间传递对象,主要涉及两种常见的实现方式:Parcelable和Serializable。 一、Parcelable接口 Parcelable是Android系统提供的一种高效的数据序列化方式,它允许对象直接在...
三、使用Parcelable传递对象 在发送Activity中,我们可以这样创建Intent并添加对象: ```java User user = new User("Tom", 25); Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("user...
此外,你还可以在Bundle中使用Parcelable对象,这对于保存和恢复Activity或Fragment的状态非常有用。在保存状态时,可以将Parcelable对象放入Bundle: ```java Bundle bundle = new Bundle(); bundle.putParcelable...
Activity间要传递数据,很多时候简单的int和string满足不了需求,我们在面向对象中已经习惯了类和对象, 那么下面就说一下如何传递类对象。 Android中有两种办法来完成这件事。一个是Java的序列化(Serializable)...
Android提供了多种方式来传递对象,包括Intent、Bundle、Parcelable、Serializable等。下面将详细讲解这些方法及其适用场景。 首先,Intent是Android系统用来启动Activity或Service的主要手段,同时也支持传递数据...
Intent是Android系统中用于启动组件(如Activity)的一种消息对象,同时也可以用来在组件间传递数据。Intent的数据传递有两种类型:显式和隐式。 1. 显式Intent:通过指定目标Activity的类名,可以精确地启动某个...
在Activity间传递Bitmap,有两种主要方式:Intent extras和使用Parcelable接口。由于Bitmap对象较大,直接通过Intent的extras传递可能会导致内存溢出,因为Intent的大小有限制。因此,更推荐使用Parcelable接口。 1...
- 虽然序列化是一种方便的方法,但也可以考虑使用其他方式,如使用Parcelable接口(更高效,但更复杂),或者通过Bundle传递基本类型和简单对象。 5. **rar标签**:在这里,"rar"可能是一个误输入,因为RAR是一种...
除了直接在Intent中使用putExtra()方法外,还可以使用Bundle对象来组织和管理数据,然后将Bundle对象附加到Intent上。这在传递大量数据时尤其有用。 ```java Bundle bundle = new Bundle(); bundle.putString(...
为了能在Intent中传递接口对象,我们需要使用序列化。在ActivityA的类定义上添加`implements Parcelable`并实现相关方法。当然,也可以使用`Gson`或`Jackson`库将接口对象转换为字符串再传递。 在目标Activity...
Android中的不同Activity之间传递对象,我们可以考虑采用Bundle.putSerializable(Key,Object);也可以考虑采用Bundle.putParcelable(Key, Object);其中前面一种方法中的Object要实现Serializable接口,后面一种方法中...
前言 在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化...在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。 代
- **性能**:Parcelable的序列化和反序列化速度远超Serializable,尤其是在传递大量数据或频繁传递对象时。 - **内存消耗**:Parcelable在内存使用上也优于Serializable,因为它不需要创建额外的代理对象。 - **复杂...
本文将详细讲解如何在Android中通过Intent传递对象,主要分为序列化方式和Parcelable接口方式。 首先,理解Intent的基本概念。Intent主要用于启动一个Activity或Service,或者在它们之间传递消息。Intent携带的数据...