Android 开发基础及环境配置
2011年买了第一部安卓操作系统的手机,当时势头正盛的HTC不可思议(incredible),当时的想法就是想学习下智能手机开发,但是由于各种原因,客观上是公司的项目太忙了,忙于项目管理、团队建设、客户上线,分析设计、编写代码,一直在做传统的业务管理系统,主观上还是压力不够,没有挤出时间涉猎智能手机这块。时光一晃,今年已经33岁,按照中国的国情,技术路线生涯估计最多还有7、8年的时间,抓紧时间利用多年的开发经验,迅速补上移动开发这块内容。
今年中秋节,用了一天时间把开发环境配置好了,按照我的学习习惯,先打好基础,再往上盖高楼,万丈高楼平地起,开始学习。
Andriod是基于Linux的开发源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Goodle公司和开放手机联盟领导及开发。2003年10月,Android公司及团队成立,22个月后被Goodle公司收购,2008年9月,Goodle正式发布了1.0系统,2014年最新版本是4.4。时光荏苒,安卓已经有10年的历史。
Andriod的系统架构和其他操作系统一样,采用了分层的架构,分为四层,从高层到底层分别是应用程序层(Applications)、应用程序框架层(Application Framework)、系统运行库层(Libraries)和Linux内核层(inuxKernel),其中第三层还包括Android运行时的环境。

1、 应用程序层
Android连同一个核心应用程序包一起发布,该应用程序包包括E-mail客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用JAVA编写的。
2、 应用程序框架
开发者完全可以访问核心应用程序所使用的API框架。该应用程序框架架构用来简化组件软件的重用,就像是.net框架一样,提供了很多类库。
- 一个可扩展的视图(Views)可以用来创建应用程序,包括列表(Lists)、网络(Grids)、文本框(Text boxes)、按钮(Buttons),甚至可嵌入的web浏览器。
- 内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
- 一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout files)。
- 一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。
- 一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。
3、 系统运行库
Android包含一些C/C++库,这些库能被安卓系统中的不同组件使用。它们通过安卓应用程序框架为开发者提供服务。主要包括,系统C库、媒体库,该库支持录放许多流行的音频视频格式、Surface Manager、LibWebCore,一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图、3D libraries,该库可以使用硬件3D加速、FreeType,位图和向量的字体显示、SQLite,一个小型的关系型数据库。
4、 系统内核
Android的核心系统服务依赖于Linux内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的硬件抽象层。
看完安卓的体系结构,顿时感觉难度小了很多,老外已经把核心的模块封装好,我们只要学会应用即可,老外是为了兴趣学习,很多中国人是为了工作而学习,所以他们可以做很多创新的工作,我们能把应用做好已经很优秀了。
Android开发语言是Java,也是一种面向对象的语言,C#是后来的语言,所以很多特性和Java差不多,学习起来应该难度不大。首先第一步需要配置开发环境,之前在网上看到许多资料,配置起来非常繁琐,需要下载JDK、Eclipse、ADT(Android Development Tools)、Android SDK,然后还需要按照步骤来谨慎操作才能成功,在按照这个办法快安装完成时在网上看到一个新的办法,ADT Bundle for windows,Goodle Android官方提供的集成式IDE,已经包含了Eclipse,并且里面已经集成了插件,它解决了大部分eclipse配置Android开发环境的复杂问题,这点估计是向微软学习的,强大、简单的IDE,降低复杂度,提高工作效率。

第一步:Java SDK的安装
我下载的是jdk-8u20是Oracle2014年8月20号最新发布的版本java8,Java SE Development Kit,java桌面版就够用了,不用装java EE。安装这个步骤必不可少,复杂度稍高的是需要配置一系列复杂的环境变量,成功的标志是在命令行工具cmd下输入java和javac有相应提示。JAVA_HOME:表示java所在的目录;Path:路径列表,用于搜索可执行文件,沿着每个路径搜索可执行文件,直至找到,找不到则报错。CLASSPATH:路径列表,是用于搜索java编译或者运行时需要用到的类,PATH 和 CLASSPATH 都指定路径列表,列表中的各项 (即各个路径) 之间使用分隔符分隔。
JAVA_HOME java的安装路径 C:\Program Files\Java\jdk1.8.0_20
Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;


第二步 安装 adt-bundle-windows
这是个Android的集成开发环境,将下载的压缩包进行解压后,包含两个目录和一个文件,一个目录是eclipse,里面包含已经安装好的eclipse和ADT,另一个目录是sdk,里面包含安装后的android sdk的各个版本。先运行SDK Manager.exe,安装sdk的各个版本,这个花费的时间很长,我是装了10个小时,把4.0以上的版本都装上后,文件夹大概有10G左右。


第三步,打开Eclipse,创建AVD

选中,点击start。

然后创建第一个应用程序Hello World,

经典的Hello World 运行出来,安卓基础和环境搭建完毕,有.net的开发基础学习起来很轻松,只是需要投入很多时间和精力,把这部分内容吃透。
Android 开发基础及环境配置的更多相关文章
- [android开发篇]java环境配置
http://www.runoob.com/java/java-environment-setup.html Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window ...
- Android Studio1.4.x JNI开发基础-基本环境配置
从Eclipse时代到Android Studio普及,开发工具越来越好用.早些时候还需要安装Cygwin工具,从Android Studio1.3以后,在Android 环境开发JNI程序搭建开发环 ...
- 20145337实验四Android开发基础
20145337实验四Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件处 ...
- 20145208 实验四 Android开发基础
20145208 实验四 Android开发基础 安装Android Studio 安装的具体步骤在老师的链接中已经很详细了,在此就不做赘述了. 在此提出我觉得安装的时候需要注意的两个地方 一是安装地 ...
- 20145215实验四 Android开发基础
20145215实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件 ...
- 实验四:Android 开发基础
实验四:实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 张旭升 学号:20162329 指导教师:娄嘉鹏 王志强 实验日期:5月26日 实验密级: 非密级 预习程度: 已预习 必修/选修 ...
- 20145221 《Java程序设计》实验报告四:Android开发基础
20145221 <Java程序设计>实验报告四:Android开发基础 实验要求 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管 ...
- 20155219实验四 Android开发基础设计实验报告
20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...
- 20145326实验四 Android开发基础
20145326实验四 Android开发基础 一.实验内容及步骤 安装 JDK 并配置 JDK 环境变量 找到之前path变量中的jdk文件所在位置并复制. 并用复制的变量名新建一个 JAVA_HO ...
随机推荐
- BZOJ3252: 攻略
Description 题目简述:树版[k取方格数] 众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏. 今天他得到了一款新游戏<XX半岛>,这款游戏有n个场景 ...
- MySQL:索引工作原理
索引查找:通过索引键找到索引的叶子节点,再通过叶子节点的标记快速找到表中对应的行数据,再返回指定的列 索引找查是通过索引键定先位到一块局部区域,再开始扫描匹配的数据的. 为什么需要索引(Why is ...
- 阿里云SLB双机IIS多站点负载均衡部署笔记
首先SLB是通过局域网与ECS链接 ECS1服务器 test文件夹增加index.html test1文件夹增加index.html 设置ECS1服务器(130)IIS test站点 设置test主机 ...
- django 过滤器、日日期格式化参数
转载:http://blog.csdn.net/xyp84/article/details/7945094 django1.4 html页面从数据库中读出DateTimeField字段时,显示的时间格 ...
- Node.js的学习路线
http://www.admin10000.com/document/4624.html 顺便关注一下博客:http://blog.fens.me/series-nodejs/ php socket框 ...
- include、require、include_once和require_once理解
都是在当前文件中包含引入并运行指定文件,include和require的不通之处仅仅在于发生错误时include产生一个警告脚本继续执行,而require产生一个致命的错误,脚本停止运行.有了once ...
- 使用TouchScript做2D按钮实现长按功能
导入TouchScript 下载地址:https://www.assetstore.unity3d.com/#/content/7394 把TouchScript和Touch Debugger两个预设 ...
- linux服务器使用
1.在widows系统下,下载putty.exe 配置默认的服务器IP + 端口 添加名称.点击save即可 参考:http://jingyan.baidu.com/article/c74d60004 ...
- poj1543-Perfect Cubes(暴力)
水题:求n^3 = a^3 + b^3 + c^3 ;暴力即可 #include<iostream> using namespace std; int main(){ int n ; c ...
- 解决导入so库报错小结
最近公司准备将重构后的项目上线,可是等到我接手的时候发现一个很纠结的问题:安卓5.0以上的手机(例如我现在在用的红米note3)运行重构后项目发生报错,提示缺少某so库. 而5.0以下的手机(我的小米 ...