android开发怎么传数据,Android入门之数据传递详解

Intent数据传递

List

传递List传递List的方法

ArrayList info = new ArrayList();

info.add(name);

info.add(website);

info.add(weibo);

Intent intent = new Intent(MainActivity.this, ResultActivity.class);

intent.putStringArrayListExtra("infoList", info);

startActivity(intent);

接收List

ArrayList infoList = new ArrayList();

infoList = getIntent().getStringArrayListExtra("infoList");

接收其他基本类型的List的亦如此。

传递Object

Serializable方式

传递Object需要先序列化,序列化有两种方式:Serializable和Parcelable。

使用Serializable方式:

用Serializable方式传递Object的语法:bundle.putSerializable(key,object);

用Serializable方式接收Object的语法:object=(Object) getIntent().getSerializableExtra(key);

例:

public class SerInfo implements Serializable {

public String name;

public String website;

public String weibo;

public SerInfo(){}

public SerInfo(String name, String website, String weibo){

this.name = name;

this.website = website;

this.weibo = weibo;

}

}

用Serializable方式传递Object

SerInfo serInfo = new SerInfo(name, website, weibo);

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putSerializable("serinfo", serInfo);

intent.setClass(MainActivity.this, ResultActivity.class);

intent.putExtras(bundle);

startActivity(intent);

用Serializable方式接收Object

SerInfo serInfo = (SerInfo) getIntent().getSerializableExtra("serinfo");

Parcelable方式

用Parcelable方式传递Object的语法:bundle.putParcelable(key,object);

用Parcelable方式接收Object的语法:object=(Object) getIntent().getParcelableExtra(key);

实现Parcelable接口需要实现三个方法:

1)writeToParcel方法。该方法将类的数据写入外部提供的Parcel中。

声明:writeToParcel(Parcel dest, int flags)。

2)describeContents方法。直接返回0就可以。

3)静态的Parcelable.Creator接口,本接口有两个方法:createFromParcel(Parcel in) 实现从in中创建出类的实例的功能。

Bean

public class ParInfo implements Parcelable{

private String name;

private String website;

private String weibo;

public ParInfo(){

}

public ParInfo(String name, String website, String weibo){

this.name = name;

this.website = website;

this.weibo = weibo;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getWebsite() {

return website;

}

public void setWebsite(String website) {

this.website = website;

}

public String getWeibo() {

return weibo;

}

public void setWeibo(String weibo) {

this.weibo = weibo;

}

@Override

public int describeContents() {

// TODO Auto-generated method stub

return 0;

}

//该方法将类的数据写入外部提供的Parcel中。

@Override

public void writeToParcel(Parcel dest, int flags) {

dest.writeString(name);

dest.writeString(website);

dest.writeString(weibo);

}

public static final Parcelable.Creator CREATOR = new Creator() {

//实现从source中创建出类的实例的功能

@Override

public ParInfo createFromParcel(Parcel source) {

ParInfo parInfo = new ParInfo();

parInfo.name = source.readString();

parInfo.website= source.readString();

parInfo.weibo = source.readString();

return parInfo;

}

//创建一个类型为T,长度为size的数组

@Override

public ParInfo[] newArray(int size) {

return new ParInfo[size];

}

};

}

用Parcelable方式传递Object

ParInfo parInfo = new ParInfo(name, website, weibo);

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putParcelable("parinfo", parInfo);// 这里调用了writeToParcel方法,向dest写数据

intent.setClass(MainActivity.this, ResultActivity.class);

intent.putExtras(bundle);

startActivity(intent);

用Parcelable方式接收Object

ParInfo parInfo = (ParInfo) getIntent().getParcelableExtra("parinfo");

传递List

传递List

ArrayList listObj = new ArrayList();

SerInfo serInfo1 = new SerInfo(name, website, weibo);

SerInfo serInfo2 = new SerInfo(name, website, weibo);

listObj.add(serInfo1);

listObj.add(serInfo2);

Intent intent = new Intent();

intent.setClass(MainActivity.this, ResultActivity.class);

intent.putExtra("listobj", (Serializable) listObj);

startActivity(intent);

接收List

ArrayList listObj = (ArrayList) getIntent().getSerializableExtra("listobj");

startActivityForResult和onActivityResult()使用注意点

首先描述下bug::Activity A启动Activity B,然后在Activity B中取到一个值,并通过back键返回到Activity A,但是在onActivityResult()中,发现requestCode正确,resultCode为0,intent为null。

造成原因分析:

你的Activity被finish()掉了,看看你的Activity有没有在哪里finish()掉。

2.startActivityForResult(intent, -1)函数,第二个参数小于0,应该要大于0

3.启动模式为Android:launchMode=”singleTask”和android:launchMode=”singleInstance”都会导致无效,使用默认的launchMode。

TabHost的子Activity中startActivityForResult调用其他Activity时候遭遇到onActivityResult方法不响应的问题。

复写onBackPressed()方法的时候,把自己写的代码放在super.onBackPressed()上面,这是因为onBackPressed()后activity直接finish了,需要在之前保存传递的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基本信息 Google Android SDK开发范例大全(第3版) 作者:王世江(改编), 佘志龙(作者), 陈昱勋(作者), 郑名杰(作者), 等(作者) 出版社: 人民邮电出版社; 第3版 (2011年11月1日) 丛书名: 移动开发系列丛书 平装: 818页 正文语种: 简体中文 开本: 16 ISBN: 9787115264305 条形码: 9787115264305 商品尺寸: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 编辑本段 内容简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,为读者提高程序设计能力提供了很大的帮助。 全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了所有范例的程序代码。 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式,范例总数由原先的160多个增加到了200多个,在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范例来介绍新的开发技术,特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用,相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用,结构清晰、语言简洁,非常适合Android的初学者和Android的进阶程序开发者阅读参考。 编辑本段 编辑推荐 《Google Android SDK开发范例大全(第3版)》:全新2.3以上版本精彩范例。新增HTML5手机应用程序范例。影音功能大突破,领先业界的影音播放功能详解。易于阅读的架构设计,边看边学,每个范例均搭配步骤及完成画面。每个范例后面均有扩展学习,在学习范例应用的同时延伸思考。汲取专家经验,指引入门捷径。 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当,其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式,由浅入深地带领Google Android SDK初学者,以及具备Java基础的程序设计人员逐步掌握开发MID的能力。同时,书中200多个范例均可作为开发样板,以此抛砖引玉,进而拓展程序设计人员开发MID的无限可能。精彩范例,原创展现。 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的整合:网络搜索、联系人、音乐、应用程序、定制手机文件管理、记忆卡I/O存取、双向短信、闹钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等。 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等。 完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙相簿浏览器、You Tube影片FLV文件下载器等。 HTML5结合Mobile:控制手机
第一篇Android系统结构和SDK使用 ...............................................................................4 第1章 Android的系统介绍 ......................................................................................4 1.1 系统介绍 .......................................................................................................5 1.2 软件结构和使用的工具 ...............................................................................9 第2章 Android SDK的开发环境 ...........................................................................12 2.1 Android SDK的结构 .....................................................................................13 2.2 Android SDK环境安装 .................................................................................15 2.3 Android中运行仿真器环境 ..........................................................................31 2.4 Android中建立工程 ......................................................................................45 第二篇 Android应用程序的概述和框架 ..........................................................................56 第3章 Android应用层程序的开发方式 ..................................................................56 3.1 应用程序开发的结构 ...................................................................................57 3.2 API参考文档的使用 .....................................................................................58 第4章 Android应用程序示例 ................................................................................63 4.1 HelloActivity程序的运行 ..........................................................................64 4.2 HelloActivity的源文件结构 ......................................................................65 4.3 HelloActivity的编译结构 ..........................................................................69 4.4 SkeletonApp的程序的运行 .......................................................................69 4.5 SkeletonApp的源文件结构 .......................................................................71 4.6 SkeletonApp的编译结构 ...........................................................................73 第5章 Android应用程序的内容 ..............................................................................74 5.1 Android应用程序的概念性描述 ...............................................................75 5.2 应用程序包含的各个文件 .........................................................................82 5.3 使用am工具启动Android应用程序 .......................................................84 第三篇Android的UI系统实现 .........................................................................................86 第6章 UI的基本外形和控制 ...................................................................................86 6.1 控件和基本事件的响应 .............................................................................87 6.2 键盘事件的响应 ...........................................................................................93 6.3 运动事件的处理 ...........................................................................................96 6.4 屏幕间的跳转和事件的传递 ..................................................................... 100 6.5菜单的使用 .................................................................................................. 106 6.6弹出对话框 .................................................................................................. 109 Android入门到精通详解 3 6.7 样式的设置 ................................................................................................. 118 第7章 控件(Widget)的使用 ............................................................................... 125 7.1 Android中控件的层次结构 ..................................................................... 126 7.2 基本控件的使用 ....................................................................................... 127 7.3 自定义的视图 ............................................................................................. 138 第8章 视图组(ViewGroup)和布局(Layout)的使用..................................... 142 8.1 Android的屏幕元素体系 ............................................................................ 143 8.2 几种独立使用的视图组 ............................................................................. 145 8.3 作为简单容器使用的视图组 ............................................................ 153 8.4 布局(Layout) .......................................................................................... 159 8.5 网格(Grid)视图组 ................................................................................ 167 8.6 列表(List)视图组 ................................................................................. 172 8.7 使用Tab组织UI ...................................................................................... 177 第9章 2D图形接口的使用 .................................................................................... 182 9.1 使用2D图形接口的程序结构。 .............................................................. 183 9.2 图像、图形、文本的基本绘制 ................................................................. 185 9.3 文本的对齐方式 ......................................................................................... 188 9.4 使用路径效果(PathEffect)..................................................................... 190 9.5 剪裁效果 ..................................................................................................... 193 9.6 记录绘制的过程 ......................................................................................... 195 9.7 动画效果 ..................................................................................................... 197 第10章 OpenGL 3D图形的使用............................................................................ 200 10.1 使用OpenGL图形接口的程序结构。 ................................................... 201 10.2 基本的绘制 ............................................................................................... 202 10.3 渲染器的实现 ........................................................................................... 204 10.4 3D动画效果的实现 .................................................................................. 207
Android入门到精通》 第1章 初识Android 1.1 什么是Android 1.1.1 移动信息设备分类 1.1.2 Open Handset Alliance和 Android 1.2 Android简介 1.2.1 Andriod的历史 1.2.2 Andriod的未来 1.2.3 Andriod平台的技术架构 1.3 Android应用程序构成 1.3.1 活动(Activity) 1.3.2 意图(Intent) 1.3.3 服务(Service) 1.3.4 内容提供器(ContentProvider) 1.4 Android网上资源 第2章 搭建Android开发环境 2.1 Android开发环境要求 2.2 JDK的安装和配置 2.2.1 安装JDK 2.2.2 配置JDK 2.3 Android SDK的下载和安装 2.3.1 下载Android SDK 2.3.2 安装Android SDK 2.3.3 创建Android虚拟设备 2.4 Eclipse的下载和安装 2.4.1 下载和安装Eclipse 2.4.2 安装和配置Eclipse中Android插件 2.5 使用Eclipse开发Android应用程序 2.5.1 使用Eclipse创建Android项目 2.5.2 Eclipse中Android项目架构 2.5.3 Eclipse中Android项目的调试和运行 第3章 Android中的Activity 3.1 Activity的作用 3.2 单Activity的Android应用 3.2.1 Activity的生命周期 3.2.2 Activity类的结构 3.3 Activity的两种界面设计方式 3.3.1 基于XML的界面设计 3.3.2 基于代码的界面设计 3.4 应用实例:在界面中显示图片 第4章 Android人机界面和常用组件 4.1 用户人机界面元素分类 4.1.1 视图组件(View) 4.1.2 视图容器组件(ViewGroup) 4.1.3 布局组件(Layout) 4.1.4 布局参数(LayoutParams) 4.2 常用Widget组件 4.2.1 文本框视图(TextView) 4.2.2 按钮(Button) 4.2.3 图片按钮(ImageButton) 4.2.4 编辑框(EditText) 4.2.5 多项选择(CheckBox) 4.2.6 单项选择(RadioGroup) 4.2.7 下拉列表(Spinner) 4.2.8 自动完成文本框视图(AutoCompleteTextView) 4.2.9 日期选择器(DatePicker) 4.2.10 时间选择器(TimePicker) 4.2.11 数字时钟(DigitalClock) 4.2.12 表状时钟(AnalogClock) 4.2.13 进度条(ProgressBar) 4.2.14 拖动条(SeekBar) 4.2.15 评分条(RatingBar) 第5章 Android中的视图组件 5.1 视图组件 5.1.1 图片视图(ImageView) 5.1.2 滚动视图(ScrollView) 5.1.3 网格视图(GridView) 5.1.4 列表视图(ListView) 5.1.5 切换图片(ImageSwitcher和Gallery) 5.1.6 标签切换(Tab) 5.2 通用XML属性 第6章 Android菜单和布局设计 6.1 菜单(Menu) 6.1.1 上下文菜单(ContextMenu) 6.1.2 选项菜单(OptionsMenu) 6.1.3 基于XML的菜单结构 6.2 界面布局设计 6.2.1 基于XML的布局设计 6.2.2 线性布局(LinearLayout) 6.2.3 相对布局(RelativeLayout) 6.2.4 表格布局(TableLayout) 6.2.5 绝对布局(AbsoluteLayout) 6.3 界面中的字体 6.3.1 设置系统字体 6.3.2 引用用户自定义字体 6.4 应用实例详解:制作手机桌面 6.4.1 实例分析 6.4.2 实例实现 第7章 Android中的核心Intent 7.1 Intent的作用 7.1.1 多Activity的Android应用 7.1.2 Activity之间的消息传递 7.2 Intent的分类 7.2.1 Action Intent 7.2.2 Broadcast Intent 7.3 解析Intent的实现 7.3.1 Intent Receiver 7.3.2 Intent Filter 7.4 设置Activity许可 7.5 应用实例详解:电话拨号程序 7.5.1 实例分析 7.5.2 实例实现 第8章 Android中的后台服务Service 8.1 Service的作用 8.2 Service的实现 8.2.1 创建Service 8.2.2 启动Service 8.3 Toast和Notification应用 8.3.1 使用Notification通知 用户服务启动 8.3.2 使用Toast显示通知信息 8.4 应用实例详解:播放背景音乐 8.4.1 实例分析 8.4.2 实例实现 第9章 Android中的数据存储 9.1 使用Preferences存储数据 9.1.1 访问Preferences的API 9.1.2 使用XML存储Preferences数据 9.2 使用文件存储数据 9.2.1 访问应用中的文件数据 9.2.2 访问设备中独立的文件数据 9.3 使用SQLite数据库存储数据 9.3.1 SQLite数据库简介 9.3.2 SQLite数据库操作 9.3.3 使用SQLiteDatabase对象操作数据库 9.3.4 Cursor的使用 9.4 使用ContentProvider 9.4.1 定义ContentProvider 9.4.2 使用ContentProvider进行CRUD操作 9.5 应用实例详解:创建音乐 播放列表 9.5.1 实例分析 9.5.2 实例实现 第10章 Android的网络通信 10.1 访问Internet 10.1.1 使用WebKit组件访问Internet 10.1.2 使用Apache HttpComponents访问Internet 10.2 Socket通信 10.3 应用实例详解:手机 短信程序 10.3.1 实例分析 10.3.2 实例实现 第11章 Android的GPS应用开发 11.1 GPS在手机中的应用 11.2 Android Location-Based API简介 11.3 Android模拟器支持的GPS定位文件 11.3.1 KML 11.3.2 NMEA 11.4 应用实例详解:确定当前 位置的GPS程序 11.4.1 实例分析 11.4.2 实例实现 11.5 基于Google Map的应用 11.5.1 使用MapView显示地图 11.5.2 使用MapController控制地图缩放 11.6 应用实例详解:普通地图和 卫星地图切换 11.6.1 实例分析 11.6.2 实例实现 第12章 Android的搜索引擎和Gtalk开发 12.1 搜索引擎在手机中的应用 12.1.1 本地搜索 12.1.2 Web搜索 12.2 Android搜索引擎API简介 12.3 应用实例详解:过滤式搜索 引擎程序 12.3.1 实例分析 12.3.2 实例实现 12.4 Android的GTalk应用开发 12.4.1 GTalk在手机中的应用 12.4.2 Android GTalk API简介 12.4.3 为GTalk配置Android模拟器 12.5 应用实例详解:Google GTalk 程序 12.5.1 实例分析 12.5.2 实例实现 第13章 Android综合案例开发:俄罗斯方块 13.1 俄罗斯方块游戏功能需求 13.2 俄罗斯方块游戏UI设计 13.3 俄罗斯方块游戏功能实现 13.4 俄罗斯方块游戏演示
第一篇Android系统结构和SDK使用 ...............................................................................4 第1章 Android的系统介绍 ......................................................................................4 1.1 系统介绍 .......................................................................................................5 1.2 软件结构和使用的工具 ...............................................................................9 第2章 Android SDK的开发环境 ...........................................................................12 2.1 Android SDK的结构 .....................................................................................13 2.2 Android SDK环境安装 .................................................................................15 2.3 Android中运行仿真器环境 ..........................................................................31 2.4 Android中建立工程 ......................................................................................45 第二篇 Android应用程序的概述和框架 ..........................................................................56 第3章 Android应用层程序的开发方式 ..................................................................56 3.1 应用程序开发的结构 ...................................................................................57 3.2 API参考文档的使用 .....................................................................................58 第4章 Android应用程序示例 ................................................................................63 4.1 HelloActivity程序的运行 ..........................................................................64 4.2 HelloActivity的源文件结构 ......................................................................65 4.3 HelloActivity的编译结构 ..........................................................................69 4.4 SkeletonApp的程序的运行 .......................................................................69 4.5 SkeletonApp的源文件结构 .......................................................................71 4.6 SkeletonApp的编译结构 ...........................................................................73 第5章 Android应用程序的内容 ..............................................................................74 5.1 Android应用程序的概念性描述 ...............................................................75 5.2 应用程序包含的各个文件 .........................................................................82 5.3 使用am工具启动Android应用程序 .......................................................84 第三篇Android的UI系统实现 .........................................................................................86 第6章 UI的基本外形和控制 ...................................................................................86 6.1 控件和基本事件的响应 .............................................................................87 6.2 键盘事件的响应 ...........................................................................................93 6.3 运动事件的处理 ...........................................................................................96 6.4 屏幕间的跳转和事件的传递 ..................................................................... 100 6.5菜单的使用 .................................................................................................. 106 6.6弹出对话框 .................................................................................................. 109 Android入门到精通详解 3 6.7 样式的设置 ................................................................................................. 118 第7章 控件(Widget)的使用 ............................................................................... 125 7.1 Android中控件的层次结构 ..................................................................... 126 7.2 基本控件的使用 ....................................................................................... 127 7.3 自定义的视图 ............................................................................................. 138 第8章 视图组(ViewGroup)和布局(Layout)的使用..................................... 142 8.1 Android的屏幕元素体系 ............................................................................ 143 8.2 几种独立使用的视图组 ............................................................................. 145 8.3 作为简单容器使用的视图组 ............................................................ 153 8.4 布局(Layout) .......................................................................................... 159 8.5 网格(Grid)视图组 ................................................................................ 167 8.6 列表(List)视图组 ................................................................................. 172 8.7 使用Tab组织UI ...................................................................................... 177 第9章 2D图形接口的使用 .................................................................................... 182 9.1 使用2D图形接口的程序结构。 .............................................................. 183 9.2 图像、图形、文本的基本绘制 ................................................................. 185 9.3 文本的对齐方式 ......................................................................................... 188 9.4 使用路径效果(PathEffect)..................................................................... 190 9.5 剪裁效果 ..................................................................................................... 193 9.6 记录绘制的过程 ......................................................................................... 195 9.7 动画效果 ..................................................................................................... 197 第10章 OpenGL 3D图形的使用............................................................................ 200 10.1 使用OpenGL图形接口的程序结构。 ................................................... 201 10.2 基本的绘制 ............................................................................................... 202 10.3 渲染器的实现 ........................................................................................... 204 10.4 3D动画效果的实现 .................................................................................. 207

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值