栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Android】3.0如何实现界面间的数据传输

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Android】3.0如何实现界面间的数据传输

【Android】如何实现界面间的数据传输
      • 引言
      • 基本数据传输
      • 实体类数据传输

引言

此笔记是承上启下的,关于为页面添加响应的内容请详看【Android】如何为组件添加响应

关于如何实现页面的跳转详看【Android】如何实现页面的跳转

基本数据传输

页面间的数据传输是通过intent.putExtra()方法实现的

如下可见它重载了很多方,各种数据类型的传输都有封装实现,这里就浅拿字符型数据举个栗子吧

putExtra()与java中的HashMap的put()方法有诸多相似,它也有两个参数,前者为值名,后者为值

值名作为唯一的区分标志用于在其他页面区分不同的值,而值就是要传输的内容

在新界面的Activity中捕获传输来内容,并将其设置在文本组件上

可见值已经成功传入新的界面了,并设置成功

实体类数据传输

在项目开发中,我们往往不是传输单个的,没有关联的数据,而是一组相互有联系的数据,比如我们要将一个学生的学号,年龄,姓名等等信息传过去,用基本数据类型传输就不再合适

可以看到,putExtra()方法有重载一个第二个参数为Serializable value的用法

这就又牵涉java当中的序列化的知识了,这里不铺开讲述,java将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的。

序列化的作用就是:将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。

那么我们创建一个学生类并继承Serializable接口实现序列化

小贴士:

这里只是创建一个java类,并不是创建Activity,注意两者区别

序列化学生类

package com.unity3d.lessonapp3;

import java.io.Serializable;

public class Student implements Serializable {
    String id;
    int age;
    String name;
}

在新界面里,我们捕获到student对象,并将它的属性拼接为一个字符串显示在文本控件上

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/827809.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号