目录
第1章Android系统概述
1.1移动信息设备的平台
1.1.1移动通信设备的操作系统
1.1.2开放手机联盟
1.1.34G时代来临
1.2Android的介绍
1.2.1Android的发展史
1.2.2Android优缺点
1.2.3Android盈利方式
1.3Android的架构
1.4本章小结
1.5练习题
第2章开发环境的搭建<p>目录</p> <p>第1章Android系统概述</p> <p>1.1移动信息设备的平台</p> <p>1.1.1移动通信设备的操作系统</p> <p>1.1.2开放手机联盟</p> <p>1.1.34G时代来临</p> <p>1.2Android的介绍</p> <p>1.2.1Android的发展史</p> <p>1.2.2Android优缺点</p> <p>1.2.3Android盈利方式</p> <p>1.3Android的架构</p> <p>1.4本章小结</p> <p>1.5练习题</p> <p>第2章开发环境的搭建</p> <p>2.1开发环境的安装与配置</p> <p>2.1.1安装JDK及配置环境变量</p> <p>2.1.2安装Eclipse环境</p> <p>2.1.3安装Android Studio环境</p> <p>2.2熟悉开发环境</p> <p>2.2.1Eclipse环境</p> <p>2.2.2Android Studio环境</p> <p>2.2.3Android程序的一些调试工具</p> <p>2.3不同环境之间的转换</p> <p>2.4不同环境之间的比较</p> <p>2.5本章小结</p> <p>2.6练习题</p> <p>第3章Activity及其生命周期</p> <p>3.1Activity的创建</p> <p>3.2Activity的生命周期</p> <p>3.2.1Activity生命周期的概念</p> <p>3.2.2Activity生命周期的案例</p> <p>3.3JUnit测试</p> <p>3.4资源调用</p> <p>3.5本章小结</p> <p>3.6练习题</p> <p>第4章常见的UI控件</p> <p>4.1基本控件的使用方法</p> <p>4.1.1TextView</p> <p>4.1.2EditText</p> <p>4.1.3Button</p> <p>4.1.4ImageView</p> <p>4.2常见的弹出框基本使用</p> <p>4.2.1ProgressBar</p> <p>4.2.2AlertDialog</p> <p>4.2.3ProgressDialog</p> <p>4.2.4Toast</p> <p>4.3ListView的基本使用</p> <p>4.3.1ListView简单使用</p> <p>4.3.2ListView使用进阶</p> <p>4.3.3ListView使用优化</p> <p>4.3.4ListView单击方法</p> <p>4.4自定义控件</p> <p>4.4.1引用布局</p> <p>4.4.2创建自定义布局</p> <p>4.5本章小结</p> <p>4.6练习题</p> <p>第5章Intent与组件通信</p> <p>5.1Intent概述</p> <p>5.2Inten启动组件的方法</p> <p>5.3隐式Intent及Intent相关属性</p> <p>5.3.1Component(组件)——目的组件</p> <p>5.3.2Action(动作)——用来体现Intent的行动</p> <p>5.3.3Category(类别)——用来体现动作的类别</p> <p>5.3.4Data(数据)——表示与动作要操纵的数据</p> <p>5.3.5Type(数据类型)——对于data范例的描写</p> <p>5.3.6Extras(扩展信息)——扩展信息</p> <p>5.3.7Flags(标志位)——期望这个Intent的运行模式</p> <p>5.4更多隐式Intent</p> <p>5.4.1打开指定网页</p> <p>5.4.2打电话</p> <p>5.4.3发送短信</p> <p>5.4.4播放指定路径音乐</p> <p>5.4.5卸载程序</p> <p>5.4.6安装程序</p> <p>5.5传递数据</p> <p>5.5.1显式Intent</p> <p>5.5.2向下一个活动传递数据</p> <p>5.5.3返回数据给上一个活动</p> <p>5.6Activity的启动模式</p> <p>5.7广播消息</p> <p>5.7.1BroadcastReceiver简介</p> <p>5.7.2发送广播</p> <p>5.7.3发送有序广播</p> <p>5.7.4接收系统广播</p> <p>5.8本章小结</p> <p>5.9练习题</p> <p>第6章Android后台服务</p> <p>6.1Service简介</p> <p>6.2Service的基本用法</p> <p>6.2.1创建、配置Service</p> <p>6.2.2启动Service</p> <p>6.2.3Service和Activity通信</p> <p>6.3Service的生命周期</p> <p>6.4Service的其他用法</p> <p>6.4.1使用前台服务</p> <p>6.4.2使用IntentService</p> <p>6.5常见的系统服务</p> <p>6.5.1电话管理器</p> <p>6.5.2短信管理器</p> <p>6.5.3振动器</p> <p>6.5.4闹钟/全局定时器</p> <p>6.6本章小结</p> <p>6.7练习题</p> <p>第7章数据存储</p> <p>7.1文件存储</p> <p>7.2**项存储</p> <p>7.2.1SharedPreferences类</p> <p>7.2.2使用Preference存储的案例——简单登录界面</p> <p>7.3SQLite存储</p> <p>7.3.1SQLiteOpenHelper类</p> <p>7.3.2SQLiteDatabase类</p> <p>7.3.3Cursor游标</p> <p>7.3.4SQLite数据库操作方法</p> <p>7.3.5使用SQLite存储的案例——歌曲列表浏览</p> <p>7.4内容提供者存储</p> <p>7.5本章小结</p> <p>7.6练习题</p> <p>第8章网络通信</p> <p>8.1Socket通信</p> <p>8.1.1Socket客户端的开发</p> <p>8.1.2Socket服务器端的开发</p> <p>8.1.3案例——简单聊天室</p> <p>8.2基于HTTP的网络编程</p> <p>8.2.1HttpURLConnection的使用方法</p> <p>8.2.2案例——网络图片浏览器(使用HttpURLConnectiont)</p> <p>8.2.3HttpClient的使用方法</p> <p>8.2.4案例——网络图片浏览器(使用HttpClient)</p> <p>8.3基于WebView的网络编程</p> <p>8.3.1WebView视图组件</p> <p>8.3.2案例——使用WebView浏览网页</p> <p>8.4本章小结</p> <p>8.5练习题</p> <p> </p> <p>第9章移动办公软件系统</p> <p>9.1项目架构</p> <p>9.1.1项目架构</p> <p>9.1.2其他命名规则</p> <p>9.2首页</p> <p>9.2.1Application</p> <p>9.2.2LoginActivity(登录页面)</p> <p>9.2.3MainActivity(主页面)</p> <p>9.3通知公告模块</p> <p>9.3.1通知公告列表</p> <p>9.3.2通知公告详情</p> <p>9.4工作日志模块</p> <p>9.4.1工作内容</p> <p>9.4.2图片选择</p> <p>9.4.3定位</p> <p>9.5考勤管理模块</p> <p>9.6费用申请模块</p> <p>9.6.1费用审批列表</p> <p>9.6.2费用申请</p> <p>9.7请假模块</p> <p>9.7.1请假列表</p> <p>9.7.2请假申请</p> <p>9.8设置模块</p> <p>9.8.1修改密码</p> <p>9.8.2用户退出</p> <p>参考文献</p>显示全部信息前 言前言
面对当前庞大的移动应用开发市场,国内外的IT厂商纷纷推出各种移动应用开发平台。Android是Google公司开发的基于Linux的开源移动设备操作系统,主要应用于智能手机和平板电脑等移动设备,目前由Google倡导成立的开放手机联盟OHA (Open Handset Alliance)领导开发。Android已发布*新版本为Android7.0。经过几年的快速发展,Android操作系统在全球得到了大规模的推广,除了应用于智能手机和平板电脑之外,它还可应用于电视、数码相机、游戏机等,可以说目前生活中大多数智能设备都是搭乘Android系统设计的。2016年11月,市场研究公司Gartner公布的调查报告显示,在过去的一个季度中,苹果售出4300万部iPhone,而Android销售量则达到了3.28亿部,Android占到过去一个季度所售出智能手机的88%,而iOS市场份额仅仅高于10%。由于Android迅速发展,使得市场对Android开发人才的需求激增,因此学好Android开发技术将会使读者在更广阔的人才市场竞争中赢得先机。目前,关于Android开发应用的书籍已经很多,但是适合作为高等院校教材的却很少。为了满足对Android应用开发教材的需求,我们在多年理论教学、应用开发的基础上,不断总结教学经验,围绕Android开发新技术,编写了本书。<p>前言 </p> <p>面对当前庞大的移动应用开发市场,国内外的IT厂商纷纷推出各种移动应用开发平台。Android是Google公司开发的基于Linux的开源移动设备操作系统,主要应用于智能手机和平板电脑等移动设备,目前由Google倡导成立的开放手机联盟OHA (Open Handset Alliance)领导开发。Android已发布*新版本为Android 7.0。经过几年的快速发展,Android操作系统在全球得到了大规模的推广,除了应用于智能手机和平板电脑之外,它还可应用于电视、数码相机、游戏机等,可以说目前生活中大多数智能设备都是搭乘Android系统设计的。2016年11月,市场研究公司Gartner公布的调查报告显示,在过去的一个季度中,苹果售出4300万部iPhone,而Android销售量则达到了3.28亿部,Android占到过去一个季度所售出智能手机的88%,而iOS市场份额仅仅高于10%。由于Android迅速发展,使得市场对Android开发人才的需求激增,因此学好Android开发技术将会使读者在更广阔的人才市场竞争中赢得先机。目前,关于Android开发应用的书籍已经很多,但是适合作为高等院校教材的却很少。为了满足对Android应用开发教材的需求,我们在多年理论教学、应用开发的基础上,不断总结教学经验,围绕Android开发新技术,编写了本书。</p> <p>读者对象本书适合于从事Android应用开发的初、中级人员。根据多年的教学体会和实际开发经验,我们慎重地安排了本书的内容。从移动信息设备平台、Android的架构及Android开发环境搭建入手,到有一定深度的UI控件及布局设计技术; 从Activity、Intent、Service到数据存储与网络通信技术的阐述,本书为读者从事Android应用开发提供了基础而又全面的内容,提供了大量从实际开发中提炼出来的应用案例,有的案例读者甚至不加修改就可以用于自己的开发项目中。通过学习本书,读者不但能掌握Android应用开发的基本步骤,还能培养学以致用的专业素养。</p> <p>本书结构</p> <p>全书共9章。</p> <p>第1章Android系统概述,讲述Android移动应用开发的基本知识,主要介绍移动信息设备的平台、Android的基本概念以及Android应用的基本构成等。</p> <p>第2章开发环境的搭建,讲述Android应用开发环境的搭建,主要讲述Android开发环境的安装、配置,包括安装JDK及配置环境变量; 安装Eclipse、安装Android Studio以及Android程序的一些调试工具; 介绍了Eclipse环境与Android Studio(AS)环境之间的转换与不同环境之间的比较。</p> <p> 第3章Activity及其生命周期,讲述Activity的创建、Activity的生命周期及其案例、JUnit测试以及资源调用等。</p> <p>第4章常见的UI控件,讲述Android基本控件的使用方法,包括TextView、EditText、Button、ImageView等; 常见的弹出框基本使用,包括ProgressBar、AlertDialog、ProgressDialog以及Toast等; Listview的基本使用、自定义控件、引用布局以及创建自定义布局等。</p> <p> 第5章Intent与组件通信,讲述Intent启动组件的方式; 隐式Intent及Intent相关属性,包括Component (组件)、Action(动作)、Category(类别)、Data(数据)、Type(数据类型)、Extras(扩展信息)、Flags(标志位)等; 隐式Intent的具体应用,包括打开指定网页、打电话、发送短信、播放指定路径音乐、卸载程序、安装程序,以及向下一个应用传递数据、返回等。</p> <p> 第6章Android后台服务,讲述Service的基本用法,包括创建、配置Service,启动Service、Service和Activity进行通信等; Service的生命周期等; Service其他用法,包括使用前台服务、使用IntentService等; 常见的系统服务,包括电话管理器、短信管理器、振动器、闹钟/全局定时器等。</p> <p> 第7章数据存储,主要讲述Android操作系统为数据存储提供的五种方式: 使用文件存储(File存储)、**项存储(Preferences存储)、数据库存储(SQLite存储)、内容提供者(Content Providers)以及网络存储(NetWork)等。</p> <p> 第8章网络通信,讲述Socket通信,包括Socket客户端的开发、Socket服务器端的开发以及简单聊天室等; 基于HTTP的网络编程,包括HttpURLConnection的使用方法、HttpClient的使用方法等; 基于WebView的网络编程,包括WebView视图组件以及使用WebView浏览网页等。</p> <p> 第9章移动办公软件系统,为综合案例部分,讲述项目架构,日期和时间、定位、天气三大功能等,通知公告模块、工作日志模块、考勤管理模块、费用申请模块、请假模块和设置模块六大模块等。</p> <p>本书由祝永志主编,第1~3章由祝永志和朱盼盼共同完成,第4~7章由祝永志和申健共同完成,第8章由祝永志和刘梦芸共同完成,第9章综合案例部分由祝永志、申健调试开发。本书的所有例子程序全都经过测试,读者可放心使用。全书Android程序开发环境是Eclipse,也可以在开发环境Android Studio中调试运行。</p> <p>由于作者水平有限,对书中不足之处,欢迎广大读者和同行指正。</p> <p>感谢《Android程序设计》(青岛东合信息技术有限公司编著)及《Android移动应用基础教程》(传智播客高教产品研发部编著)等**书刊,感谢网络平台上许多Android资料,本书作者从中获取了不少有价值的信息,在此向这些资源作者表示衷心的感谢,并以此书向他们表达我们的敬意。</p> <p>编者</p> <p>2017年8月</p>显示全部信息免费在线读第5章Intent与组件通信
本章**Intent启动组件的方法隐式Intent及Intent相关属性Intent传递数据Activity的启动模式广播消息
Intent是“意图”的意思,是对将要执行的操作的一种抽象的描述。它可以用来开启一个Activity,或者将它发送给任何感兴趣的广播接收者BroadcastReceiver组件,还可以通过startService()或者bindService()与后台的服务Service交流。当然,它还可以跨应用交流信息。Intent的作用: 启动组件并传递数据(putExtra与getXxxExtra方法)。可见,Intent与Android的四大组件中除ContentProvider组件外的其他组件都有关系。
5.1Intent概述
Intent消息对于运行时绑定不同的组件是很方便的,这些组件可以是同一个程序,也可以是不同的程序。一个Intent对象是一个被动的数据结构,它保存了一个操作的抽象描述——通常是一个广播的实例、一些发生的事情的描述、一个通知。传递Intent到不同组件的机制是互不相同的。Activity、Services、BroadcastReceiver是通过Intent传递消息的,而另外一个组件Content Provider本身就是一种通信机制,不需要通过Intent。来看下这个图(图51)就知道了。
图51组件之间通信与Intent关系
通过图51可以看到组件之间通信也是通过Intent来完成的。除此之外,两个Activity可以把要交换的数据封装成Bundle对象,然后通过Intent来传递数据。
5.2Intent启动组件的方法
向Activity、Service、BroadcastReceiver这三种组件发送消息的方法,如表51所示。
表51Intent使用的方法