Android 开发中使用Intent传递数据的方法
Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte、byte[]、char、char[]、boolean、boolean[]、short、short[]、int、int[]、long、long[]、float、float[]、double、double[]、String、String[],还有采用实现Serializable、Parcelable接口的类对象传递数据的两种方法:一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object)
例如:
- import android.os.Parcel;
- import android.os.Parcelable;
- public class Book implements Parcelable {
- private String bookName;
- private String author;
- private int publishTime;
- public String getBookName() {
- return bookName;
- }
- public void setBookName(String bookName) {
- this.bookName = bookName;
- }
- public String getAuthor() {
- return author;
- }
- public void setAuthor(String author) {
- this.author = author;
- }
- public int getPublishTime() {
- return publishTime;
- }
- public void setPublishTime(int publishTime) {
- this.publishTime = publishTime;
- }
- public static final Parcelable.Creator<Book> CREATOR = new Creator<Book>() {
- public Book createFromParcel(Parcel source) {
- Book mBook = new Book();
- mBook.bookName = source.readString();
- mBook.author = source.readString();
- mBook.publishTime = source.readInt();
- return mBook;
- }
- public Book[] newArray(int size) {
- return new Book[size];
- }
- };
- public int describeContents() {
- return 0;
- }
- public void writeToParcel(Parcel parcel, int flags) {
- parcel.writeString(bookName);
- parcel.writeString(author);
- parcel.writeInt(publishTime);
- }
- }
实现Serializable接口:
- import java.io.Serializable;
- public class Person implements Serializable {
- private static final long serialVersionUID = -7060210544600464481L;
- private String name;
- private int age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
这样在Activity中就可编写传递数据代码:
- Intent mIntent = new Intent(this, 地址Activity.class);
- Bundle mBundle = new Bundle();
- //采用parcelable传输数据
- mBundle.putParcelable("data", mBook);
- //采用serializable传输数据
- mBundle.putSerializable("data", items);
- mIntent.putExtras(mBundle);
- startActivity(mIntent);
接受数据可以采用:
- Intent intent = getIntent();
- ArrayList<Map<String, String>> items = (ArrayList<Map<String, String>>)intent.getExtras().get("data");
转载于:https://www.cnblogs.com/duanweishi/p/4263434.html
Android 开发中使用Intent传递数据的方法相关推荐
- Intent传递数据的方法
Intent传递数据的方法 一.传递的数据是基本类型的 二.传递的数据是对象 使用intent的putExtra()方法,可以将要传递的数据附加到Intent对象,然后使用Intent对象进行数据传递 ...
- Android学习之利用Intent传递数据
你能通过这篇文章学习到什么? 1. 利用intent在两个activity之间传递数据 2. 利用intent在两个activity之间传递数据包 3. 利用intent获取到返回数据 很多人在刚开始 ...
- Android 开发中一些很有用但你不知道的方法
English_Version:https://github.com/jiang111/awesome-android-tips/blob/master/README-en.md这里收集了大家常用的一 ...
- Android 开发笔记——通过 Intent 传递类对象
Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...
- android 包裹内容,Android开发中Bundle用法 包裹数据
SDK里是这样描述:A mapping from String values to various Parcelable types. 它帮助我将数据打包传入intent里面,为使用这些数据提供了便利 ...
- Android TabHost中Activity之间传递数据
例子1: TabHost tabhost = (TabHost) findViewById(android.R.id.tabhost);tabhost.setup(this.getLocalActiv ...
- Android开发中完全退出程序的三种方法
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现. 首先要说明在B中直接使用finish(),接 ...
- android代码实现手机加速功能吗,详解Android开发中硬件加速支持的使用方法
Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存. 开启或关闭硬件加速: 由于硬件加速自身并非完美 ...
- android开发中遇到的异常及解决方法
每次运行项目,可能因为粗心或者哪一行代码没有调用,会导致项目不能运行,出现异常. 以下就是我总结的各种异常,会一直更新. 1. Unable to find explicit activity cla ...
最新文章
- 清华大学大数据研究中心2020年RONG奖学金答辩会成功举办
- jconsole连接远程Tomcat应用
- Android--WebView显示Html,让其中的图片适应屏幕宽度
- FPGA实验三——计数器的实现并用SignalTap验证
- Spark详解(十一):Spark运行架构原理分析
- 如何在Eclipse里显示BPMN格式的流程图
- 【转载】程序员技术练级攻略
- 也谈PostgreSQL的Vacuum机制及其最佳实践
- MySQL 常见面试知识点
- ArcGIS 生成要素轮廓线掩膜
- springboot主线程_springboot中的多线程.md
- 证件照电子版该如何在手机上制作
- Ansys 2021中英文切换、背景切换
- 【R】 Error in is.data.frame(x) : (list) object cannot be coerced to type 'double'
- 【h5py 报错】ImportError: DLL load failed while importing defs: 找不到指定的程序。
- 流媒体后视镜前装搭载小幅下滑,远峰与镜泰排位争夺白热化
- 算法小程序:倒水问题
- 防火墙——隧道技术类型
- postfix+extmail邮件系统完整安装
- 20190820美团视频一面面经
热门文章
- [UE4]子控件Child Widget顶层容器选择
- win7重装系统后设置Python2.7环境
- 神奇的 Object.defineProperty 解释说明
- Codeforces Round #378 (Div. 2) D - Kostya the Sculptor
- 一些IOS开发中的小技巧
- java批量转换图片格式
- plsql 简单介绍
- GetWindowText和GetDlgItemText的区别
- SANTENDO的大脑训练计划
- VC6.0下opencv1.0的环境配置