描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302491057丛书名: 21世纪高等学校规划教材·计算机应用
本书适合Android开发的初学者,尤其适合作为高等院校计算机本、专科及相关专业的教材,也可供有一定Java开发经验的学习者参考。
目录
第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章开发环境的搭建
2.1开发环境的安装与配置
2.1.1安装JDK及配置环境变量
2.1.2安装Eclipse环境
2.1.3安装Android Studio环境
2.2熟悉开发环境
2.2.1Eclipse环境
2.2.2Android Studio环境
2.2.3Android程序的一些调试工具
2.3不同环境之间的转换
2.4不同环境之间的比较
2.5本章小结
2.6练习题
第3章Activity及其生命周期
3.1Activity的创建
3.2Activity的生命周期
3.2.1Activity生命周期的概念
3.2.2Activity生命周期的案例
3.3JUnit测试
3.4资源调用
3.5本章小结
3.6练习题
第4章常见的UI控件
4.1基本控件的使用方法
4.1.1TextView
4.1.2EditText
4.1.3Button
4.1.4ImageView
4.2常见的弹出框基本使用
4.2.1ProgressBar
4.2.2AlertDialog
4.2.3ProgressDialog
4.2.4Toast
4.3ListView的基本使用
4.3.1ListView简单使用
4.3.2ListView使用进阶
4.3.3ListView使用优化
4.3.4ListView单击方法
4.4自定义控件
4.4.1引用布局
4.4.2创建自定义布局
4.5本章小结
4.6练习题
第5章Intent与组件通信
5.1Intent概述
5.2Inten启动组件的方法
5.3隐式Intent及Intent相关属性
5.3.1Component(组件)——目的组件
5.3.2Action(动作)——用来体现Intent的行动
5.3.3Category(类别)——用来体现动作的类别
5.3.4Data(数据)——表示与动作要操纵的数据
5.3.5Type(数据类型)——对于data范例的描写
5.3.6Extras(扩展信息)——扩展信息
5.3.7Flags(标志位)——期望这个Intent的运行模式
5.4更多隐式Intent
5.4.1打开指定网页
5.4.2打电话
5.4.3发送短信
5.4.4播放指定路径音乐
5.4.5卸载程序
5.4.6安装程序
5.5传递数据
5.5.1显式Intent
5.5.2向下一个活动传递数据
5.5.3返回数据给上一个活动
5.6Activity的启动模式
5.7广播消息
5.7.1BroadcastReceiver简介
5.7.2发送广播
5.7.3发送有序广播
5.7.4接收系统广播
5.8本章小结
5.9练习题
第6章Android后台服务
6.1Service简介
6.2Service的基本用法
6.2.1创建、配置Service
6.2.2启动Service
6.2.3Service和Activity通信
6.3Service的生命周期
6.4Service的其他用法
6.4.1使用前台服务
6.4.2使用IntentService
6.5常见的系统服务
6.5.1电话管理器
6.5.2短信管理器
6.5.3振动器
6.5.4闹钟/全局定时器
6.6本章小结
6.7练习题
第7章数据存储
7.1文件存储
7.2项存储
7.2.1SharedPreferences类
7.2.2使用Preference存储的案例——简单登录界面
7.3SQLite存储
7.3.1SQLiteOpenHelper类
7.3.2SQLiteDatabase类
7.3.3Cursor游标
7.3.4SQLite数据库操作方法
7.3.5使用SQLite存储的案例——歌曲列表浏览
7.4内容提供者存储
7.5本章小结
7.6练习题
第8章网络通信
8.1Socket通信
8.1.1Socket客户端的开发
8.1.2Socket服务器端的开发
8.1.3案例——简单聊天室
8.2基于HTTP的网络编程
8.2.1HttpURLConnection的使用方法
8.2.2案例——网络图片浏览器(使用HttpURLConnectiont)
8.2.3HttpClient的使用方法
8.2.4案例——网络图片浏览器(使用HttpClient)
8.3基于WebView的网络编程
8.3.1WebView视图组件
8.3.2案例——使用WebView浏览网页
8.4本章小结
8.5练习题
第9章移动办公软件系统
9.1项目架构
9.1.1项目架构
9.1.2其他命名规则
9.2首页
9.2.1Application
9.2.2LoginActivity(登录页面)
9.2.3MainActivity(主页面)
9.3通知公告模块
9.3.1通知公告列表
9.3.2通知公告详情
9.4工作日志模块
9.4.1工作内容
9.4.2图片选择
9.4.3定位
9.5考勤管理模块
9.6费用申请模块
9.6.1费用审批列表
9.6.2费用申请
9.7请假模块
9.7.1请假列表
9.7.2请假申请
9.8设置模块
9.8.1修改密码
9.8.2用户退出
参考文献
前言
面对当前庞大的移动应用开发市场,国内外的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开发新技术,编写了本书。
读者对象本书适合于从事Android应用开发的初、中级人员。根据多年的教学体会和实际开发经验,我们慎重地安排了本书的内容。从移动信息设备平台、Android的架构及Android开发环境搭建入手,到有一定深度的UI控件及布局设计技术;
从Activity、Intent、Service到数据存储与网络通信技术的阐述,本书为读者从事Android应用开发提供了基础而又全面的内容,提供了大量从实际开发中提炼出来的应用案例,有的案例读者甚至不加修改就可以用于自己的开发项目中。通过学习本书,读者不但能掌握Android应用开发的基本步骤,还能培养学以致用的专业素养。
本书结构
全书共9章。
第1章Android系统概述,讲述Android移动应用开发的基本知识,主要介绍移动信息设备的平台、Android的基本概念以及Android应用的基本构成等。
第2章开发环境的搭建,讲述Android应用开发环境的搭建,主要讲述Android开发环境的安装、配置,包括安装JDK及配置环境变量;
安装Eclipse、安装Android Studio以及Android程序的一些调试工具;
介绍了Eclipse环境与Android Studio(AS)环境之间的转换与不同环境之间的比较。
第3章Activity及其生命周期,讲述Activity的创建、Activity的生命周期及其案例、JUnit测试以及资源调用等。
第4章常见的UI控件,讲述Android基本控件的使用方法,包括TextView、EditText、Button、ImageView等;
常见的弹出框基本使用,包括ProgressBar、AlertDialog、ProgressDialog以及Toast等; Listview的基本使用、自定义控件、引用布局以及创建自定义布局等。
第5章Intent与组件通信,讲述Intent启动组件的方式;
隐式Intent及Intent相关属性,包括Component (组件)、Action(动作)、Category(类别)、Data(数据)、Type(数据类型)、Extras(扩展信息)、Flags(标志位)等;
隐式Intent的具体应用,包括打开指定网页、打电话、发送短信、播放指定路径音乐、卸载程序、安装程序,以及向下一个应用传递数据、返回等。
第6章Android后台服务,讲述Service的基本用法,包括创建、配置Service,启动Service、Service和Activity进行通信等; Service的生命周期等; Service其他用法,包括使用前台服务、使用IntentService等;
常见的系统服务,包括电话管理器、短信管理器、振动器、闹钟/全局定时器等。
第7章数据存储,主要讲述Android操作系统为数据存储提供的五种方式:
使用文件存储(File存储)、项存储(Preferences存储)、数据库存储(SQLite存储)、内容提供者(Content Providers)以及网络存储(NetWork)等。
第8章网络通信,讲述Socket通信,包括Socket客户端的开发、Socket服务器端的开发以及简单聊天室等;
基于HTTP的网络编程,包括HttpURLConnection的使用方法、HttpClient的使用方法等;
基于WebView的网络编程,包括WebView视图组件以及使用WebView浏览网页等。
第9章移动办公软件系统,为综合案例部分,讲述项目架构,日期和时间、定位、天气三大功能等,通知公告模块、工作日志模块、考勤管理模块、费用申请模块、请假模块和设置模块六大模块等。
本书由祝永志主编,第1~3章由祝永志和朱盼盼共同完成,第4~7章由祝永志和申健共同完成,第8章由祝永志和刘梦芸共同完成,第9章综合案例部分由祝永志、申健调试开发。本书的所有例子程序全都经过测试,读者可放心使用。全书Android程序开发环境是Eclipse,也可以在开发环境Android Studio中调试运行。
由于作者水平有限,对书中不足之处,欢迎广大读者和同行指正。
感谢《Android程序设计》(青岛东合信息技术有限公司编著)及《Android移动应用基础教程》(传智播客高教产品研发部编著)等优秀书刊,感谢网络平台上许多Android资料,本书作者从中获取了不少有价值的信息,在此向这些资源作者表示衷心的感谢,并以此书向他们表达我们的敬意。
编者
2017年8月
本章重点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使用的方法
组 件 名 称方 法 描 述
ActivitystartActvity()
startActivityForResult()ServicestartService()
bindService()BroadcastssendBroadcasts()
sendOrderedBroadcasts()
sendStickyBroadcasts()
使用Context.startActivity()或Activity.startActivityForResult(),通过参数传入一个Intent来启动一个Activity。使用Activity.setResult(),传入一个Intent从Activity中返回结果。将Intent对象传给Context.startService(),可启动一个Service或者传消息给一个运行的Service; 将Intent对象传给Context.bindService(),可绑定一个Service。将Intent对象传给Context.sendBroadcast(),Context.sendOrderedBroadcast()或者Context.sendStickyBroadcast()等广播方法,则它们被传给BroadcastReceiver。
5.3隐式Intent及Intent相关属性
Intent有以下各个组成部分: Component(组件): 目的组件; Action(动作): 用来表现Intent的行动; Category(类别): 用来表现动作的类别; Data(数据): 表示动作要操纵的数据; Type(数据类型): 指定data属性的数据类型或MIME类型; Extras(扩展信息): 扩展信息; Flags(标志位): 期望这个意图的运行模式。Intent可以分为两类: 显式Intent和隐式Intent。显式Intent通过名字指定目标组件,其他程序的开发人员不需要知道组件名。显式Intent用于程序内部消息,如Activity启动一个下属服务或启动一个姊妹Activity。隐式Intent没有命名一个目标(组件名是空的),隐式Intent通常用来激活其他程序的组件。Activity中Intent Filter的匹配过程如图52所示。
图52Intent Filter的匹配过程
隐式Intent需要不同的策略。如果没有指定目标,Android系统需要查找适合处理Intent的组件(或几个组件)——一个单一的Activity或服务来执行请求的动作或设置广播接收器来响应广播通知。通过把Intent对象的内容和Intent管理器比较,判断哪个组件是潜在的接收者。过滤器提供组件的能力并且划定它可以处理的Intent。它开启可以接收隐式Intent的组件类型。如果组件没有Intent过滤器,它仅仅可以接收显式的Intent。含有过滤器的组件既可以接收隐式Intent,也可以接收显式Intent。5.3.1Component(组件)——目的组件Intent的Component属性明确指定ComponentName对象。组件名是可选的。如果已设置,Intent对象分派到目的类的实例; 如果不设置,Android使用Intent的其他信息来本地化合适的目标。例如,启动第二个Activity时,可以这样来写:
评论
还没有评论。