一 Android起源

android: 机器人

android是google公司开发的基于Linux2.6的免费开源操作系统

2005

Google收购 Android Inc.

开始 Dalvik VM 的研究

2007

开发手机联盟成立

SDK1.0预览版发布

2008

Google第一届手机开发者大赛

Google第一个亲儿子 T-Mobile G1 发布

SDK1.0发布

Android开放源代码(Apache License)

升级: 半年一次

1.5 Cupcake(纸杯蛋糕)

1.6 Donut(甜甜圈)

2.1 Eclair(闪电泡芙)

2.2 Froyo(冻酸奶)

2.3 Gingerbread(姜饼)

3.0 Honeycomb(蜂巢)

4.0 Ice cream SandWich(冰激凌三明治)

4.1 Jelly Bean(果冻豆)

4.2 Jelly Bean(果冻豆)

5.0 Lime Pie(酸橙派)

二 Android体系架构

三 dalvik虚拟机和jvm的区别

识别的文件不同

jvm: .class文件 .jar(压缩文件很多.class)

dalvik vm: .dex文件 只是一个文件 一次加载所有的内容

架构不同

jvm: 基于堆栈(内存条)

dalvik vm: 基于寄存器(cpu)

四 ART模式

从Android 4.4开始 Google开发者引进了新的Android运行环境 ART (意思就是Android Runtime, Android官方页面的介绍中 也将其称作新的虚拟机) 以替代旧的Dalvik VM 它现在是实验选项 系统默认的运行环境仍然是Dalvik

ART处理应用程序执行的方式完全不同于Dalvik 运行起来更有效率 耗电更少 占的内存也更低

ART的机制与Dalvik不同 在Dalvik下 应用每次运行的时候 字节码都需要通过即时编译器转换为机器码 这会拖慢应用的运行效率 而在ART环境中 应用在第一次安装的时候 字节码就会预先编译成机器码 使其成为真正的本地应用 这个过程叫做预编译(AOT, Ahead-Of-Time) 这样的话 应用的启动(首次)和执行都会变得更加快速

五 SDK目录结构

六 adb指令

cd /mnt/sdcard   ---> 进入到sdcard

cd ..   ---> 退到上一级

pwd   ---> 显示当前所在位置

adb devices   ---> 列出所有的设备

adb shell   ---> 进入android的文件系统

adb install xxx.apk   ---> 安装apk

adb install –s  emulator-5554 D:/xxx.apk   ---> 如果有多个设备 可以指定设备

emulator –avd advname   ---> 启动模拟器 例如: emulator –avd 2.2 (2.2 为我们创建设备的名称)

android create avd –name android2.2 –target 8   ---> 创建模拟器

七 常用视图

八 Eclipse工程的目录结构

九 Android是基于组件的开发

四大组件:

Activity 活动窗体

Service 服务

BroadcastReceiver 广播接收者

ContentProvider 内容提供者

十 apk生成和安装的流程

打包 ---> 上传 ---> 安装 ---> 启动

十一 五大布局

LinearLayout 线性布局 用的最多

RelativeLayout 相对布局 用的一般

FrameLayout 帧布局 用的一般

TableLayout 表格布局 用的极少

AbsoluteLayout 绝对布局 不要用(会被人骂)

十二 常用单位

长度单位dp

文字sp

十三 常用工具下载

谷歌(要FQ)

developer.android.com/sdk/index.html

国内知名网站

http://www.androiddevtools.cn/

Android 简介的更多相关文章

  1. 《第一行代码》之——1.Android简介

    Android简介 Android系统架构 (图片源自维基百科) Android大致分为四层架构,五块区域. Linux内核层 Android系统基于Linux2.6,这一层为Android设备的各种 ...

  2. 喜闻乐见-Android简介

    本文主要是对Android系统做一个简介,包括其架构.启动流程.沙箱机制.APK.Darlvik以及ART. 1. 架构 Android是基于Linux内核开发出的一个移动操作系统,系统结构大致可以分 ...

  3. Android开发-API指南-Android简介

    Introduction to Android 英文原文:http://developer.android.com/intl/zh-cn/guide/index.html 采集日期:2014-4-16 ...

  4. android自学笔记(1):android简介

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较 多人使用“安卓 ...

  5. Android 简介:Android SDK 和开发框架简介

    理解Android软件栈: 库: C/C++库(libc,SSL) Android 运行时可以让Android手机从本质上与一个移动Linux实现区分开来.Dalvik并不是Java虚拟机,是一个基于 ...

  6. Android简介(一)

    Android构架 Android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用架构层.系统运行库层和Linux核心层. 1. ...

  7. 【译】Android系统简介

    简介  本文主要介绍Android的基础知识和体系结构,本文主题: 简介什么是Android,为什么开发者需要关注Android: Android体系结构(如Linux Kernel, Librari ...

  8. 【Android实战开发】3G技术和Android发展简介

    随着移动设备的不断普及和发展,相关软件的开发也越来越受到人们的关注,其中要提及的就是Android开发.本系列博客主要为大家介绍Android的开发,可能会有人问:现在互联网上已经有很多的Androi ...

  9. Android在智能终端领域的关键技术专题讲座(成都站)

    Android系统引领了终端智能化的浪潮,在民用.公 共及工业等诸多领域得到了广泛的应用,涉及手持终端.电视.汽车导航.工业控制等,在云计算.设备智能化等方面表现卓越.Android也凭借着自身的优 ...

随机推荐

  1. JavaScript读取本地json文件

    JavaScript读取本地json文件 今天调试了一上午,通过jQuery读取本地json文件总是失败,始终找不出原因,各种方法都试了 开始总以为是不是json格式的问题.高了半天不行 后来读了一个 ...

  2. tensorflow节点布放(device assignment of node)算法:simpler_placer

    tensorflow v0.9中目前在用的devcie assignment算法是simple placer算法,相比于白皮书中cost model算法实现简单.simpler placer算法优先选 ...

  3. Many-to-many relationships in EF Core 2.0 – Part 2: Hiding as IEnumerable

    In the previous post we looked at how many-to-many relationships can be mapped using a join entity. ...

  4. 使用OpenVPN连通管理多个阿里云VPC网络

    这篇文章比较长,将从需求.思路.原理.架构.实施步骤.细节分析.高可用等几个方面来讲述OpenVPN的使用,如果看到很熟悉的内容或者不感兴趣的部分,请您跳过. 需求 公司网络环境更换,导致原来连接阿里 ...

  5. Oracle特性总结

    最近开发项目使用了Oracle,根据总体架构一开始选择使用Mybatis,发现核心模块用Mybatis效率不够,切换到jdbc实现,效率大增.Oracle可是个庞然大物,特性多多,丝毫不能马虎,否则很 ...

  6. Oracle作业3 —— 简单查询

    一.创建学生表 CREATE TABLE STUDENTS( STU_ID ) CONSTRAINTS PK_STUS_ID PRIMARY KEY, STU_NAME ) NOT NULL, STU ...

  7. OS--lab0+lab1+lab4+lab5+lab6+lab7

    URL:https://github.com/Chasssser/MytestOR(Linux) git clone https://github.com/Chasssser/Mytest

  8. 在Java中用正则表达式判断一个字符串是否是数字的方法

    package chengyujia; import java.util.regex.Pattern; public class NumberUtil { /** * 判断一个字符串是否是数字. * ...

  9. keepalived+nginx+tomcat+redis实现负载均衡和session共享(原创)

    keepalived+nginx+tomcat+redis实现负载均衡和session共享 直接上链接,码了一天,就不再重写了,希望能帮到大家,有问题欢迎留言交流.

  10. vue 引入 mint-ui 简单使用

    一 npm 方式 1,安装依赖 (已有项目) 如果想简单体验:基于vue-cli /* npm install vue -g npm install vue-cli   -g   // -g 是否全局 ...