今天学习Android基本环境及基础知识,正确来说是重新温习Android知识,因为初次接触Android开发已经是两年前的事,如今又回到Android开发依然那么熟悉,依然可以让人很兴奋,Android选择了以java为基础让众多java平台的开发者偷笑了……

  很多书本在开端长篇大论Android的起源,像讲故事一样,但我们只需知道几点知识即可,剩下的后面再回来看故事也不迟,毕竟Android是拿来开发不是拿来讲故事。Android是由Google领导的OHA(开发手持设备联盟)公开发布的,并且开放源代码,Google在里面发挥了挑大旗的责任,现在都还是,Android的爷爷是Andy Rubin,后来任职于Google,再后来又离职了。现在大家担心的是Android系统愈加碎片化,但不知道这是好事还是坏事,以后再说。

  Android是由Linux为核心的移动设备操作系统,主要架构分为四层:最低层就是linux kernel,提供硬件驱动、内存、进程、网络等等底层管理;接着的一层就是链接库和Android Runtime,链接库包含C链接库、SQLite函数库、WebKit函数库等等,Android Runtime主要包含核心库以及DVM(非常类似JVM的一种东东);再上来一层就是应用程序框架,也就是Android应用的各种框架规则;最顶层就是Android应用程序,直接面对用户,没话可说了。由此可见,我们绝大多数的应用开发者是在第三层玩,少数底层开发、架构设计研究者会到第二层玩(估计是要模拟出另一个Android系统了,就像 阿里云),第四层就没话可说了,只要考虑用户体验、用户操作。

  好像讲了听到,像是讲故事了。但此故事非彼故事,这个过程是引导学习Android的基本架构,先从宏观方面一览众山小,而后在微观学习的时候举一反三,事半功倍,当然,这只是我的个人学习思路。下面还要继续啰嗦。

  Android的1.X和2.X版本都是为手机准备的,3.X版本是专为平板准备的,而4.X版本是集大成者,大家都懂,而且还加入了未来的功能,可能应用到网络电视、其他家电设备等等,API Level更要分清楚,以便后面选择模拟器,以及应用的发布最低系统版本要求。Level 10以下是1.X和2.X的,属于低版本Android系统应用,可以兼容绝大多手持设备,但有一些高级功能就不能用,Level11~13是3.X的,开发平板应用的时候选择,Level14以上是4.X的属于高版本,可以使用高级功能,但可能有些旧的手机系统不支持。具体选择哪一个要看自身的产品定位喽,事实上智能机的更新换代速度也是惊人的。

  搭建开发环境包括五样东西:OS、JDK、Eclipse、ADT、Android SDK,具体的安装教程网上一大堆,而且前三项也是java程序员最熟悉的了,只需在Eclipse中安装插件ADT再将Eclipse和SDK关联起来就OK了,以前这个方法很顺畅,但Google回家了以后就没那么容易了,这会让一些新手苦逼地折腾不少时间,所以我建议直接去下载整套环境,直接开发了,推荐地址http://pan.baidu.com/share/link?shareid=249563&uk=3358019106

  搭建好开发环境后就直接开发吧,少年。新建一个项目的流程在网上一堆,没什么障碍。下面分析项目的文件目录架构。/src目录放的是程序的源代码,/bin目录放的是编译后的文件,这对java程序员太熟了,/gen文件夹放一个R.java文件,打开就知道它是个专门提供很多静态属性的类,记录各部分资源的地址位置,以便调用,不能修改,因此这个调用都是底层完成的,知道就好。/assets存放在这个目录下的文件,无论是 mp3 还是图片,都会被打包到发布包中。/res目录放置各种资源,如果/res 下存放的资源在应用中没有使用到,那么在 gen 下的 R.java 的文件中就不会显示,那么打包的时候就不会将这部分资源打包,减少了应用的发布文件大小,/drawable存放图片文件,注意图片名称必须是[a-z0-9_.]组成,drawable 目录下不能分子级目录,只能通过命名方法来加以区分,/raw 直接复制到设备中的任意文件,不会被编译,可以放数据库文件,/values存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:color.xml、strings.xml、array.xml、styles.xml、dimens.xml(定义尺寸值:dimension value )。。。还有一些就是设置文件了。

  然后?然后就是去背诵各种基本组件、属性、方法、调用细节……

参考http://www.inandroid.cn/bbs/thread-1401-1-1.html

  

Android基础的更多相关文章

  1. Android基础测试题(四)

    看了前两道题大家有没有发现,测试题少了(一),大家猜猜测试题(一)是什么? Android基础测试题(四): 需求: 建一个方法,格式化输出2016-11-14 10:15:26格式的当前时间,然后截 ...

  2. Android基础测试题(二)

    今天给大家带来的是Android基础测试题(二) 题目要求: 定义一个5位长度的整型数组并初始化,然后构建方法根据用户传入的数字判断是否存在数组中,如果存在,返回所在位置,如果不存在,返回-1 首先第 ...

  3. Mono.Android 基础

    Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...

  4. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  5. android基础---->JSON数据的解析

    上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...

  6. 基础4 Android基础

    基础4 Android基础 1. Activity与Fragment的生命周期. Activity生命周期 打开应用 onCreate()->onStart()->onResume 按BA ...

  7. Android基础总结(8)——服务

    服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于去执行哪些不需要和用户交互而且还要长期运行的任务.服务的运行不依赖任何用户界面,即使当程序被切换到后台,或者用户打开了 ...

  8. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  9. Android基础_web通信3

    在Android基础_web通信2中,我运用的JSONObject是Android原生的json类,通过import org.json.JSONObject来导入. 还有另外一种更简单的方法,就是用G ...

  10. Android 基础:常用布局 介绍 & 使用(附 属性查询)

    Android 基础:常用布局 介绍 & 使用(附 属性查询)   前言 在 Android开发中,绘制UI时常需各种布局 今天,我将全面介绍Android开发中最常用的五大布局 含 Andr ...

随机推荐

  1. 【引】objective-c,3:关于block

    原文参考博文: http://blog.devtang.com/2013/07/28/a-look-inside-blocks/ http://www.cnblogs.com/kesalin/arch ...

  2. System.DateUtils 4. IsValidDateTime... 有效时间判断

    编译版本:Delphi XE7 function IsValidDate(const AYear, AMonth, ADay: Word): Boolean;function IsValidTime( ...

  3. shh(struts+spring+Hibernate)的搭建

    一.Struts 一.struts的流程 (1)首先,用户在地址栏中输入你的项目访问路径,然后这个请求会发送到服务器,服务器先找到要web.xml的,给web.xml中配置了一个filter过滤器,过 ...

  4. ffmpeg音频编码

    在弄音频采集时,需要设置缓存的大小,如果只是简单的采集和直接播放PCM数据,缓存的大小一般不影响播放和保存. 但是,如果需要使用FFMpeg音频编码,这时,音频缓存的大小必须设置av_samples_ ...

  5. 在Visual Studio中设置多核并行编译

    VS是一款非常强大实用的IDE,是在Windows环境下学习编程的首选软件. 有些时候大一点的工程项目编译要耗时挺长时间,随便修改一下代码就可能要编译将近一分钟,甚至更多.即便在开启的增量编译的情况下 ...

  6. 富文本编辑器防止xss注入javascript版

    富文本编辑器:ueditor 其实富文本编辑器已经有防止xss注入功能,但是你服务端程序在接收的时候在做一次转义,否则有可能然后前端验证直接提交数据导致被xss攻击. 为了节省后端程序开销则在前端 显 ...

  7. webpack的几个使用方法

    1.gulp.task -> webpack -> webpack.config.js -> bundle.js -> html 2.cmd -> npm run -&g ...

  8. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  9. 为模版设计师而生的Twig(下)-Twig使用指南

    原文地址:http://my.oschina.net/veekit/blog/276800 12. 模板继承 Twig最强大的部分是模板继承.模板继承允许你建立一个基本的"骨架"模 ...

  10. JMeter Http测试计划

    一.新建Http测试计划 二.添加线程组 设定5个线程,循环2次 三.添加Http请求 以百度为例: 四.添加监听:察看结果树 五.执行测试 5个用户,循环2次,共发了10个请求.