第一章 Android起步 QQ号:1281147324 QQ群:489059718(Android编程-清华版) 287966120(公共版) 网络资源:http://www.xs360.cn/book
学 习 建 议 1、充分利用网络资源,网上有较多的视频教程; 2、多看帮助文档,这是第一手资料,关注牛人的博客; ①慕课网—免费的IT技能学习平台 http://www.imooc.com/ ②传智播客—专业的IT培训机构 http://www.itcast.cn/channel/video.shtml 2、多看帮助文档,这是第一手资料,关注牛人的博客; 3、多练、多思考、多实践、多总结,坚持写学习笔记; 4、遇到问题时多请教,加入一些学习社区和交流群; CSDN—全球最大中文IT社区: http://www.csdn.net/ 安卓巴士—移动开发者门户http://www.apkbus.com/ EOE Android社区http://www.eoeandroid.com/forum.php 5、关注IT招聘网站,了解企业需求; ①拉勾网--最专业的互联网招聘平台 http://www.lagou.com/ ②智联招聘 http://www.zhaopin.com/
本章主要内容 Android环境搭建 创建第一个Android应用 Android简介 Android Android程序下载与安装
手机发展历程 传统手机逐渐消亡,智能手机时代到来! 计算机发展 单一功能 多媒体体验 无限互联应用 手机发展
什么是智能手机 智能手机(Smart Phone)是指“像个人电脑一样具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充并可以通过移动通信网络来实现无线网络接入”的这样一类手机的总称。 智能手机的特点 具备无线接入互联网的能力; 具有PDA(Personal Digital Assistant 掌上电脑)的功能; 具有独立的操作系统,可安装更多应用 人性化,根据个人需要扩展手机功能 功能强大,扩展性强
手机操作系统比较 三大手机操作系统对比 常见的手机操作系统:Android、IOS、Symbian OS、Window Phone、 Palm OS、BlackBerry OS… 三大手机操作系统对比 比较内容 Android IOS Windows Phone 是否开源 开源 不开源 设备种类 100多款(三星、摩托罗拉等) 10多款(各版本ipad,iphone) 20多款 App数量 100多万 90多万 30多万 开发语言 Java Object-C(swift) C++/C# 诺基亚在每个人的口袋里放入了一部能上网的手机 微软放入的则是一台PC 苹果放入的是一种生活 Google放入的则是一张互联网
Android起源 Android指“机器人”,Android的标志为绿色机器人; 2003年10月,Andy Rubin等人创建Android公司,并组建Android团队; 2005年Google收购了Android公司; 2007年11月Google正式向外界展示Android操作系统,并组建开放手机设备联盟; Android是基于Linux平台的开源手机操作系统,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android发展历程 Android发展历程
Android的优点 Android性价比高 应用程序发展迅速 智能手机厂家助力 运营商鼎力支持 机型多,硬件配置优 系统开源利于创新
Android版本现状 当前Android设备版本比例 来源: http://developer.android.com/about/dashboards/index.html
Android的优势 Global partnerships and large installed base Every day more than 1 million new Android devices are activated worldwide. Powerful development framework Easily optimize a single binary for phones, tablets, and other devices. Open marketplace for distributing your apps 1.5 billion downloads a month and growing. Get your apps in front of millions of users at Google's scale.
Android体系结构 体系结构 应用程序层 应用程序框架层 系统库层 运行时环境 Linux内核层
Android体系结构 (1)Linux内核层(LINUX KERNEL) (2)系统运行库层(LIBRARIES) Android定义了一套C/C++开发库供Android平台的其他组件使用。这些功能通过Android应用程序框架提供给开发者,开发者是不能直接使用这些库的。
Android体系结构 (3)应用程序框架(APPLICATION FRAMEWORK) (4)应用程序(APPLICATIONS) 开发者可以完全使用与那些内核应用程序相同的框架,这些框架用于简化和重用应用程序的组件。若某程序能够“暴露”其内容,则其他程序就可以使用这些内容。例如Android的四大组件:Activity、Service、ContentProvider、BroadcastReceiver。 (4)应用程序(APPLICATIONS) Android内有一系列的核心应用,包括短信程序、日历工具、网页浏览器等工具,以及基于Android平台的应用程序框架,所有的应用都是Java语言编写的。
Android开发工具介绍 Android开发所需工具及其功能 工具 功能角色 是否必须 Java JDK Java开发包,包括开发Java程序的工具以及运行时环境。 必须 Eclipse Eclipse是一个免费、开源的集成开发工具,能够帮助开发人员完成很多繁琐的事情,使得开发更方便、快捷。 可选 Android SDK Android软件开发工具包,包含了Android程序运行所需要的各种资源以及工具。 ADT Android开发工具,是Eclipse上开发Android程序的插件,是连接Eclipse和android SDK的纽带。使用它可以在熟悉的Eclipse中开发Android程序。
Android开发工具介绍 官方下载地址 Java JDK:http://java.sun.com Eclipse:http://www.eclipse.org Android SDK:http://developer.android.com/sdk/index.html ADT:https://dl-ssl.google.com/android/eclipse/ 注意:Android4.2之后官方提供了三合一的安装包,当前最新版本4.4。 三合一下载地址为: http://dl.google.com/android/adt/adt-bundle-windows-x86-20131030.zip (官方网站) http://dl.google.com/android/adt/adt-bundle-windows-x86-20131030.zip (官方网站) http://pan.baidu.com/s/1pJArzAV (百度网盘)
ndroid开发环境搭建的流程与主要步骤 Android开发环境搭建 A ndroid开发环境搭建的流程与主要步骤
ndroid开发环境搭建的流程与主要步骤(Android 4.1版以前的流程)
Android开发环境搭建 1. JDK1.6 程序的安装 提示:安装目录可任意设置,建议选择的安装目录最好不要包含中文和空格
Android开发环境搭建 2. Java 环境配置 注意:JAVA_HOME的变量值中不需要任何符号 。 %JAVA_HOME%表示引用JAVA_HOME的值即D:\Java\jdk1.6.0_10 点表示当前目录,分号表示多个路径之间的分隔符。
Eclipse第一次启动时弹出存放位置对话框 Android开发环境搭建 3. 解压并启动Eclipse Eclipse第一次启动时弹出存放位置对话框
Android开发环境搭建 4. 下载需要的Android版本和资源 单击Android SDK管理器 选择需要安装的包
Android开发环境搭建 下载前后SDK安装目录下文件夹的变化 注意:为了在命令行窗口可以使用Android SDK的各种命令,建议将Android SDK目录下的tools、platform-tools子目录添加到系统的path环境变量中。
创建Android模拟器 模拟器管理面板 模拟器创建面板 注意:RAM的值使用推荐的,若RAM过大,可能无法创建。系统提示最大值不要超过768M。
模拟器管理面板 模拟器启动后界面
1.3 创建第一个Android应用 开发Android应用程序的一般步骤 1、创建Android项目 启动Eclipse,选择FileNewOther…菜单项,弹出新建工程对话框,选择“Android Application Project”创建一个Android项目。 2、运行Android应用程序 选中创建的Android应用程序,单击右键Run as Android Application。
1.3.1 创建Android项目
1.3.1 创建Android项目
1.3 创建第一个Android应用
1.3.1 创建Android项目
1.3.1 创建Android项目
选中HelloWorld文件夹,右键弹出菜单。 1.3.1 创建Android项目 创建Android应用生成的程序结构 选中HelloWorld文件夹,右键弹出菜单。
1.3.2 运行Android应用 选中HelloWorld文件夹,右键弹出菜单,选中Run As Android Application.
程序运行效果
休息与练习 练习 熟悉Android SDK目录,下载SDK相关资源 创建一个模拟器并启动 创建第一个Android项目,并运行
1.4 Android应用结构分析 1.4.1 Android应用程序的结构 1.4.2 Android应用程序执行过程 1.4.5 Android设计的MVC模式
1.4 Android应用结构分析 1.4.1 Android应用程序的结构 需要特别注意的几个文件如下。 (1)MainActivity.java:主程序,运行一个APP时,app首先启动的界面就是这个程序定义的类一个实例。 (2)HelloWorld.apk:可直接安装的包,平时我们下载的app安装程序包就是这一个文件。 (3)activity_main.xml:主布局文件的源代码文件,一般设置APP的页面显示时,可以用layout下的xml布局文件来定义。
1.4 Android应用结构分析 gen目录介绍 gen目录中存放ADT自动生成的文件,该目录中最主要的就是R.java文件。 Android开发工具会根据res目录中的xml文件、图片等资源,同步更新R.java文件。 R.java在应用中起着字典的作用,它包含各种资源的引用,通过R.java系统可以很方便地找到对应资源。 编绎器会根据R.java文件,检查资源是否被使用,没有使用的资源不会打包到安装文件中。
不同屏幕密度的Drawable Android中不同Drawable表示的含义: ldpi (low) ~120dpi mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi dpi:dot per inch
res文件夹下各目录的作用 目录结构 资源类型 备注 res/anim/ XML动画文件 默认不存在anim文件夹, 需要手动添加 res/drawable/ 一些图形、图像文件 res/layout/ XML界面布局文件 res/values/ 各种常量资源 arrays.xml:XML数组文件 colors.xml:XML颜色文件 dimen.xml:XML尺寸文件 styles.xml:XML样式文件 可手动添加这些文件,文 件名没有特殊要求。 res/xml/ 任意的XML文件 需手动添加xml文件夹 res/raw/ 直接复制到设备中的原生 文件 默认不包含raw文件夹, 需手动添加 res/menu/ XML菜单文件
assets与res、res/raw文件夹都用于存放资源文件,那它们之间有什么区别呢? 比较项 assets文件夹 res文件夹 res/raw文件夹 是否在R.java中生成资源标记 否 是 是否能任意创建子文件夹 能 不能 是否会编译成二进制文件 不会 会 是否完全打包到安装文件中 需判断 访问方式 AssetManager类,通过文件流读取 R.XX.XXX引用,通过Resource类相应方法读取 R.raw.xxx引用,通过Resource类相应方法读取
清单文件Manifest.xml 清单文件主要包含的信息包括: 应用程序名称、图标、版本号 应用程序的包名,该包名将会作为该应用的唯一标识; 应用程序所包含的组件,如Activity、Service等; 应用程序兼容的最低版本; 应用程序使用系统所需的权限声明; 其他程序访问该程序所需的权限声明。
1.4.2 Android应用程序执行过程 读取AndroidManifest.xml清单文件,设置应用程序 的基本信息; 根据配置找到入口Activity并创建该类对象,然后自动调 用其onCreate()方法,设置显示界面; 根据界面控件的属性在设备上显示相应的界面。
图1-30 应用的图标和标签的位置 图1-31 功能菜单中显示的图标和标签 1.4.2 Android应用程序运行过程 图1-30 应用的图标和标签的位置 图1-31 功能菜单中显示的图标和标签
(c)命令行中出现Success时,表示该应用安装成功,可以在功能菜单中找到相应的应用图标,并启动它。 1.4.3 Android程序下载与安装 在Eclipse中运行Android应用时,ADT会自动生成对应的apk文件,该文件存放在bin文件夹下,只需将其拷贝到手机上,即可安装运行,这样就能在手机上运行自己开发的应用。 Android模拟器也可以安装从网上下载的apk应用程序,主要是通过android提供的adb命令来完成。 (c)命令行中出现Success时,表示该应用安装成功,可以在功能菜单中找到相应的应用图标,并启动它。 图1- 31 在模拟器上安装Android应用
1.4.3 Android程序下载与安装 通过adb install MyAndroid.apk命令,将该应用安装到模拟器中。 如果没有启动模拟器也没有连接Android手机,则会提示“device not found”错误,否则开始安装应用; 如果模拟器上已有该应用,则会提示:INSTALL_FAILED_ALREADY_ EXISTS失败信息,需要先卸载该应用,再进行安装; 命令行中出现Success时,表示该应用安装成功,可以在功能菜单中找到相应的应用图标,并启动它。
(c)命令行中出现Success时,表示该应用安装成功, 可以在功能菜单中找到相应的应用图标,并启动它。 1.4.3 Android程序下载与安装 (a)若你没有启动模拟器也没有连接你的手机,则会提示 “device not found”错误,否则开始安装应用 (b)若你的模拟器上已有该应用,则会提示: INSTALL_FAILED_ALREADY_ EXISTS失败信息,可先卸载再安装。 (c)命令行中出现Success时,表示该应用安装成功, 可以在功能菜单中找到相应的应用图标,并启动它。
1.4.4 Android四大基本组件介绍 Activity: 在Android应用中负责与用户进行交互的组件,我们称之为“活动”,一个Activity就是一个屏幕。 Service: 代表一个单独的Android组件,Service与Activity的区别在于:Service通常位于后台运行,它一般不需要与用户交互,一些Service组件没有图形用户界面。 BroadcastReceiver: 代表广播消息接收器,非常类似于事件编程中的监听器,所监听的事件源是Android应用中的其他组件。 ContentProvider: 提供一种跨应用的数据交换的标准。
1.4.5 Android设计的MVC模式 MVC模式,即(Model-View-Controller):M指模型层、V指视图层、C是控制层。 MVC把应用程序的模型层与视图层完全分开,最大的好处是:界面设计人员可以直接参与到界面开发,程序员则可以把精力放在业务逻辑上。 同一个不界面两种不同的表现形式
休息与练习 练习 了解应用程序结构中各文件的作用 熟练掌握Android程序的运行过程 在现有程序基础上更改程序图片、显示内容