android intent 传数据

1. 基本数据类型

Intent intent = new Intent();
intent.setClass(activity1.this, activity2.class);   //描述起点和目标
Bundle bundle = new Bundle();                           //创建Bundle对象
bundle.putString("key", "包装的数据");     //装入数据
intent.putExtras(bundle);                                //把Bundle塞入Intent里面
startActivity(intent); 

2. 传对象的两种方式 java.io.Serializable和android.os.Parcelable
1. android.os.Parcelable(android推荐使用)
1).被传递的类对象需要实现parcelable接口

public class Employee implements Parcelable{
    public String id;
    public String name;
    public String dept;
    public String idcard;
    public String statusInt;
    public String status;
    public String mobile;
    public String sex;
    public String sexInt;
    public String address;
    public String avatar;
    public String education;
    public String birthday;
    public String age;
    public String dept_name;
    public String imageUrl;
    public String manager;
    public String score;

    public static final Parcelable.Creator<Employee> CREATOR = new Creator<Employee>() {
        public Employee createFromParcel(Parcel source) {
            Employee employee = new Employee();
            employee.name = source.readString();
            employee.age = source.readString();
            employee.dept_name = source.readString();
            employee.sex = source.readString();
            employee.status = source.readString();
            employee.manager = source.readString();
            employee.score = source.readString();
            employee.imageUrl = source.readString();
            return employee;
        }
        public Employee[] newArray(int size) {
            return new Employee[size];
        }
    };  

    @Override
    public int describeContents() {
        // TODO Auto-generated method stub
        return 0;
    }
    @Override
    public void writeToParcel(Parcel parcel, int arg1) {
        parcel.writeString(name);
        parcel.writeString(age);
        parcel.writeString(dept_name);
        parcel.writeString(sex);
        parcel.writeString(status);
        parcel.writeString(manager);
        parcel.writeString(score);
        parcel.writeString(imageUrl);
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

2)传递对象代码

Intent intent = new Intent(mContext, AnotherActivity.class);
                    Bundle mEmployeeBundle = new Bundle();
                    mEmployeeBundle.putParcelable(EMPLOYEE_PAR_KEY, mEmployees.get(position));
                    intent.putExtras(mEmployeeBundle);
                    startActivity(intent);

3) AnotherActivity中取值

mEmployee = (Employee)getIntent().getExtras().getParcelable(HomeFragment.EMPLOYEE_PAR_KEY);
Log.d(TAG, "employee name :"+mEmployee.name);

2. java.io.Serializable

1)类对象

public class Ser implements Serializable {

    /**
     * serialVersionUID的作用是在修改实体类后,可以正常的序列化和反序列化,在此不多说,大家可以谷歌百度下。
     */
    private static final long serialVersionUID = 123456789090L;
    private String name;
    private int age;
}

2)传值及取值

bundle.putSerializable(SER_KEY, new Ser());
intent.putExtras(bundle);
startActivity(intent);  
pSer = (Ser) getIntent().getSerializableExtra(SER_KEY); //another activity 取值 
时间: 2024-10-06 18:43:55

android intent 传数据的相关文章

android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口

Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用.android中用Intent传数据,如果用传递的是一个对象,就将对象实现Parcelable接口,而不是将对象序列化. /** * 预登记 出席领导回传给预登记页面 Javabean * Created by COCO on 2017/3/4. */ public class GovernmentTakeLeaderInfo implements Parcelable{//Parcelable,内存单位,跨进程使用

关于 android Intent 传对象和对象数组的一些操作

关于 android Intent 传对象和对象数组的一些操作 分类: android GUI2013-10-10 00:47 2551人阅读 评论(5) 收藏 举报 androidintent传递对象传递对象数组 直接开正题,Intent传递值就是平常那些很简单的,接下来介绍传递 对象,和 对象数组 1 .intent 传递自定义的 对象 - 实体类继承  Serializable [java] view plaincopy [java] view plaincopy public class

android后台上传数据demo

1.界面启动后开启服务 public class UploadlogActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent inte

Android 消息广播Intent传递数据

1.创建布局文件activity_broadcast.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match

Android群英传笔记——第八章:Activity与Activity调用栈分析

Android群英传笔记--第八章:Activity与Activity调用栈分析 开篇,我们陈述一下Activity,Activity是整个应用用户交互的核心组件,了解Activity的工作模式,生命周期和管理方式,是了解Android的基础,本节主讲 Activity的生命周期与工作模式 Activity调用栈管理 一.Activity Activity作为四大组建出现平率最高的组件,我们在哪里都能看到他,就让我们一起先来了解一下他的生命周期 1.起源 Activity是用户交互的第一接口,他

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce

Android Intent简介

Intent对象主要用来在Android程序的Activity,Service和BroadcastReceiver这3大组件之间传输数据, 而针对这3大组件,有独立的Intent传输机制,分别如下:1.Activity:通过将一个Intent对象传递给Context.startActivity()或Activity.startActivityForResult(), 启动一个活动或者使用一个已经存在的活动去做新的事情.2.Service:通过将一个Intent对象传递给Content.start

Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 这一章很多,但是很有趣,也是这书的最后一章知识点了,我现在还在考虑要不要写这个拼图和2048的案例,在此之前,我们先来玩玩Android5.X的新特性吧!

[Android] Intent详解

[转]http://www.cnblogs.com/engine1984/p/4146621.html [正文] Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要. 一.什么是Intent 1.Intent的概念: Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互.Intent这