android开发入门:《android应用开发入门》
&&&&&& 无需精通编程,任何人都可以为android平台轻松创建简单的应用,《android应用开发入门》就告诉你如何做到。本书将全程引导你创建并运行自己的第一个android应用程序,语言通俗易懂,示例丰富实用,能帮你拨开晦涩难懂的术语迷雾,澄清android应用开发方面的流言,并通过一步一步的详细指导带你入门。
《android应用开发入门》以通俗易懂的语言讲述如何开发android应用程序,为你铺平android开发之路。书中提供了清晰的示例,让学习过程更加轻松,帮你快速准确地领会相关概念,掌握开发方法,从而迅速创建自己的应用并让它运行起来。
你将学习到以下内容。
· 如何武装你自己和你的电脑,为android应用开发做好准备。
· 如何使用eclipse开发环境让android开发更加直接和高效。
· 如何通过清晰的步骤创建简单的应用,并让它马上运行起来。
· 如何装饰应用程序,让它看起来更美观。
· 如何更好地利用android的触摸屏。
· 如何使用各种捷径和小技巧让应用开发变得更容易。
· 了解java和xml的基础知识,帮你进一步开发更高级的应用。
如果你有android应用的好点子,却从没有接触过编程,那么《android应用开发入门》非常适合你。你不需要任何计算机编程方面的经验和技术,只要渴望学习,知道鼠标该怎么拿,android应用开发的精彩世界就等着你去尽情探索。
&&&&&& 《android应用开发入门》目录
第1章 绪论
1.1 android是什么
1.2 android的优势
1.3 本书范围
1.3.1 本书所涉及的内容
1.3.2 本书未涉及的内容
1.4 下载sdk工具
1.4.1 java
1.4.2 eclipse
1.4.3 android sdk
1.5 小结
第2章 本书内容梗概
2.1 android集成开发环境
2.2 java、xml以及android的工作原理
2.3 android应用程序框架
2.4 屏幕布局设计
2.5 用户界面设计
2.6 图像与动画设计
2.7 交互性
2.8 内容提供器
2.9 intent和intent过滤器
2.10 android的未来
2.11 小结
第3章 配置android开发环境
3.1 安装java、eclipse和android
3.1.1 java se和jre:应用程序开发的基础
3.1.2 eclipse ide:开发环境
3.1.3 android sdk:用于eclipse的android工具包
3.1.4 android开发工具:用于eclipse的android工具
3.1.5 eclipse中的android环境
3.2 升级android sdk
3.3 配置avd与智能手机连接
3.3.1 avd:智能手机模拟器
3.3.2 usb智能手机驱动程序:外部设备
3.4 在64位平台上进行开发
3.5 小结
第4章 android软件开发平台介绍
4.1 了解java se与dalvik虚拟机
4.2 android工程的目录结构
4.2.1 典型的默认资源目录
4.2.2 values目录
4.3 用好android xml(你的秘密武器)
4.3.1 屏幕尺寸
4.3.2 桌面时钟
4.4 使用android应用程序资源
4.4.1 位图图片
4.4.2 可选资源目录
4.5 启动应用程序:androidmanifest.xml文件
4.6 创建第一个android应用
4.6.1 启动eclipse
4.6.2 创建一个android工程
4.6.3 查看并编辑应用程序文件
4.6.4 在strings.xml中设置一个变量的值
4.6.5 运行应用
4.6.6 添加应用程序图标
4.7 小结
第5章 android框架概览
5.1 oop的基础:对象
5.1.1 一些oop术语
5.1.2 对象的设计图:类
5.1.3 为类赋予结构:继承
5.1.4 定义接口
5.1.5 将类组织起来:包
5.2 xml概览
5.3 剖析android应用程序:apk文件
5.4 android应用程序组件
5.4.1 android活动:定义ui
5.4.2 android服务:后台处理
5.4.3 广播接收器:消息和通知
5.4.4 内容提供器:数据管理
5.5 android intent对象:组件的通信
5.6 android manifest xml:组件的声明
5.7 小结
第6章 屏幕布局设计:视图与布局
6.1 android视图结构
6.1.1 使用view类
6.1.2 嵌套视图:使用viewgroup类
6.2 定义屏幕布局:使用xml
6.2.1 配置屏幕布局
6.2.2 使用线性布局
6.2.3 使用相对布局
6.2.4 滑动抽屉:扩展你的ui
6.2.5 在视图和布局中使用内外边距和外外边距
6.2.6 在view中设置内边距
6.2.7 在viewgroup中设置外边距
6.3 小结
第7章 按钮、菜单与对话框
7.1 使用常见的ui元素
7.1.1 为布局添加图像按钮
7.1.2 为布局添加文本
7.1.3 添加图片
7.2 使用菜单
7.2.1 用xml创建菜单结构
7.2.2 定义菜单项文本
7.2.3 通过java载入菜单结构
7.2.4 在android模拟器中运行应用
7.2.5 让菜单发挥作用
7.3 添加对话框
7.3.1 使用自定义对话框子类
7.3.2 显示警告对话框
7.4 小结
第8章 android图像资源介绍
8.1 图像资源简介
8.1.1 调用图片
8.1.2 核心图像资源子类
8.2 使用位图
8.2.1 png图片
8.2.2 jpeg和gif图片
8.3 创建动画
8.3.1 基于帧的2d动画
8.3.2 补间动画
8.4 使用过渡
8.5 创建9-patch自定义伸缩图片
8.6 播放视频
8.6.1 添加videoview对象
8.6.2 为视频添加java代码
8.7 小结
第9章 增加交互性:处理ui事件
9.1 ui事件概述
9.1.1 监听及处理事件
9.1.2 通过view类处理ui事件
9.1.3 事件回调方法
9.2 处理onclick事件
9.2.1 为ui元素实现onclick监听器
9.2.2 向活动添加onclick监听器
9.3 android触摸屏事件:ontouch
9.4 触屏版右键点击:onlongclick
9.5 键盘事件监听器:onkeyup和onkeydown
9.5.1 添加用于键盘事件的xml代码
9.5.2 添加用于键盘事件的java代码
9.6 上下文菜单:oncreatecontextmenu
9.6.1 添加用于上下文菜单的xml代码
9.6.2 添加用于上下文菜单的java代码
9.7 焦点控制
9.7.1 添加用于焦点控制的xml代码
9.7.2 添加用于焦点控制的java代码
9.7.3 设置焦点可用性
9.8 小结
第10章 了解内容提供器
10.1 android内容提供器概述
10.1.1 数据库和数据库管理系统
10.1.2 android内置内容提供器
10.2 定义内容提供器
10.2.1 在eclipse中创建内容提供器示例
10.2.2 定义安全权限
10.2.3 向联系人数据库添加数据
10.3 操作数据库
10.3.1 查询内容提供器
10.3.2 向内容提供器添加数据
10.3.3 修改内容提供器数据
10.3.4 删除内容提供器数据
10.4 小结
第11章 了解intent和intent过滤器
11.1 什么是intent
11.2 通过intent对象传递消息
11.3 intent解析:显式intent和隐式intent
11.3.1 显式intent
11.3.2 隐式intent
11.4 在活动中使用intent
11.4.1 编写数字时钟活动
11.4.2 连接到应用程序
11.4.3 发送intent
11.5 android服务:在自己的类中处理数据
11.5.1 在服务中使用intent
11.5.2 创建服务
11.5.3 实现媒体播放功能
11.5.4 将按钮连接到服务
11.5.5 运行应用程序
11.6 在广播接收器中使用intent
11.6.1 用xml创建定时器用户界面
11.6.2 创建一个定时广播接收器
11.6.3 配置androidmanifest.xml文件的标签
11.6.4 实现intent
11.6.5 在android 1.5模拟器中运行定时器应用程序
11.7 小结
第12章 探索未来
12.1 创建自定义部件
12.2 位置服务
12.3 google地图
12.4 google搜索
12.5 数据存储
12.5.1 共享配置选项
12.5.2 内部存储
12.5.3 外部存储
12.5.4 使用sqlite
12.6 设备管理:it安全部署
12.7 用camera类控制摄像头
12.8 3d图形:使用opengl es 1.x
12.9 面部识别
12.10 音频池
12.11 媒体录制
12.12 小结
&&&&& 《android应用开发入门》前言
&&&&&& 在过去两年中,google的android操作系统已经从一个几乎默默无闻的开源软件,发展成如今占据移动操作系统1/3市场份额的领导者,并且其份额还在快速攀升。android已经开始占领平板电脑操作系统市场,并以googletv向苹果itv操作系统的基础发起挑战。目前看来,android并没有停下其快速发展的脚步,对于本书的读者来说,这显然是一个好消息。
有很多人问我:“我有一个特别棒的智能手机应用的点子!你能帮我编出来吗?”我觉得与其自己坐在那里帮所有人编写应用程序,还不如写一本书出来呢。这本书面向初学者,介绍如何用免费下载、免费商用的开源工具来编写android应用程序,以及如何用这些新学习的知识,让应用程序的点子为你带来收益。
对象:编程初学者
正如书名所言,本书假设你从未使用任何编程语言编写过任何程序。本书的读者对象是从来没有编写过一行代码,也不了解oracle的java这样的面向对象编程(简称oop)语言,以及xml这样的标记语言的人。这两种开源的编程语言,在编写android应用程序的过程中都要大量使用。
市面上有很多介绍java和android的书,但这些书都假定读者曾经编写过程序,而且了解关于oop的知识。我想让对编程,甚至是对如何安装软件开发工具包(software development kit,sdk)和集成开发环境(integrated development environment, ide)一无所知的读者,通过本书的学习,能够使用java和xml来编写android应用程序。
武器:android,创新的移动开发环境
android是我从事internet 2.0开发的得力武器,因为我可以用它来为所有主流的internet 2.0设备编写非常高级的应用程序,这些设备包括目前能带来最多收益的三大类平台:
智能手机
平板电脑
itv(交互式电视)
我选择android的另一个原因是它是开源的,免专利费用,且行事自由。在发布应用程序之前,我不需要提交给某个公司去征得他们的同意,只要我的应用程序不会对他人造成侵害就行。出于这个原因,以及开源软件可免费用于商业这一性质,为android平台开发应用程序几乎不会有任何外在风险。
本书内容的组织方式
由于本书是面向初学者的,所以我们需要从零开始,先介绍到哪里去下载以及如何安装各种android、java和eclipse环境,如何配置这些环境,以及如何用它们来开发和测试应用程序。这些工作可不简单,而且不能出错,因为这些工具是本书中一切android开发、调试和测试工作的基础。
接下来我将带你了解android是如何诞生的,google收购它的原因、过程和时间,以及它与其他一些软件开发平台相比有哪些独特之处。然后,我将介绍xml、java、oop和android的一些概念,还将涉及android如何管理屏幕布局。在本书后半部分的章节中,我们会将这些概念付诸实践,这些章节将按照应用程序开发中最具逻辑的顺序,来解释android中最重要的一些概念。
在本书的后半部分,我们将介绍如何设计用户界面(user interface,ui)。用户界面是用户与android应用程序进行交互的前端界面。接下来我们将通过事件处理机制,介绍ui是如何与应用程序交流的。为了让你的应用程序看上去更酷,我们会介绍图像、动画和视频的使用,然后还将介绍一些高阶的话题,如数据库和通信。
最后,我们将带你了解一些android的高级特性。你可能需要在读完本书之后再学习这些内容,因为它们对于一本android基础教程来说太过高深了,但是它们却能实现当今智能手机开发中一些非常酷的功能。
在讲解所有话题和概念时,我们会展示ide的截图以及一些可视化的例子,然后带你一步一步地完成一些实例,加深你对这些概念的理解。有时候我们会回顾之前讲过的一些话题,以便你理解得更加深入,并对所学的技能举一反三。这种方式可以让初学编程的读者反复应用开发技能,并在进步中获得成就感。
成功的秘诀
学习开发android应用程序的过程,就是你与本书中所介绍的工具和技术(eclipse、xml、java、android等)进行交互的过程。正如学习一项体育运动一样,需要学习技能并且每天练习。要深入理解每一个概念,你需要亲手尝试书中的实例和练习,如果需要的话,最好多重复几次。
搞懂了一个概念,并不代表你懂得如何创造性地、有效地应用这一概念。你需要勤加练习,当最终在应用情景中理解了这个概念,并理解了与之相关的其他概念时,你就会体会到一种茅塞顿开的喜悦。
在这本基础教程中,你将学习一些android的工作原理。通过书中的练习,你会了解更多android内部的秘密。当你编译、运行、调试程序时,还将学到一些书中并没有特别提到的新知识。花点时间测试你的代码,搞清楚为什么它没有达到你所设想的效果,或者尝试增加些新的功能,总之,这个学习的过程是非常宝贵的。
当然,调试的过程对于初学者来说可能非常痛苦,你可能会抓狂到想对着显示器来一枪。你会怀疑自己到底为什么要这么做,以及自己是否有能力去解决所遇到的问题。在编程过程中受挫是很正常的,即便是最有经验的开发者也会遇到问题。
正如运动员一样,你练习得越刻苦,技术就会越好。作为一名android开发者,你可以做很多了不起的事,整个世界都由你做主,而最令你欣慰的成就莫过于看到自己的应用在android应用商店里上架。当然,要实现这些需要付出一些代价,那就是花时间不断磨练你的代码。
这里有一些成功的秘诀分享给你。
相信自己能行。你可能是世界上唯一一个说自己不行的人,所以千万别对自己说不行。
认真实践本书中所有的实例和练习,有必要的话可以做两遍,直到弄懂为止。
写代码,写更多的代码,一直写下去,不要停。你写的代码越多,学到的就越多。
要有耐心。也许你曾经是个尖子生,可以过目不忘,但java和xml是不可能看一遍就学会的。你必须花很多的时间来编写代码,才能弄清楚在这个操作系统内部到底发生了什么。
无论做什么,都不要放弃!
所需的软件、材料和设备
java、android和eclipse有一个很大的优点,它们可以提供32位和64位版本,并且可以用于目前使用最广泛的三种主流操作系统:
windows
mac
linux
java、android和eclipse的另一个优点就是,它们是免费的。你可以从网站下载android。在设备方面,只要有一台主流配置的电脑就行。现在电脑非常便宜,而且你可以安装一个免费的操作系统,如suse linux,来作为你的开发用操作系统。suse linux v11可以从网站下载。当前的最新版本为11.4,它已经足够稳定了。
1. 操作系统和ide
尽管android可以运行在很多平台上,但android开发者使用最多的eclipse集成开发环境(ide)一般是运行在intel架构的windows或linux电脑上的。eclipse ide是免费的,可以从网站下载。要更好地运行eclipse,你的操作系统应该是windows xp以上,或者suse linux 11.4以上。
2. 软件开发工具包
需要从eclipse网站下载eclipse ide,从google网站下载android sdk。
3. 双屏显示
我建议开发者在电脑上连接两台显示器。拥有两台独立的显示器,可以让你在查看代码的同时,在另一台显示器上查看输出窗口和android模拟器。如今的电脑硬件配置足以满足这一需求,只要将第二台显示器插在任何一台intel架构的电脑的第二个显示端口上,并且电脑上正确安装了显示适配器,你就可以拥有两台独立工作的显示器了。注意,双屏显示不是必需的。如果你没有双屏显示,只要调整一下打开的窗口,使它们适合自己的屏幕就可以了。
&&&&&& 《android应用开发入门》购买地址
&&&&&&