android概念-android学习第二天
一:1G到4G(generation)
1G 大哥大 -- 电话
2G 小灵通 gsm标准 发短信 wap.baidu.com -- 电话和短信
3G 沃 www.baidu.com 7.2M/s -- 网页,音乐等基本数据业务
4G :lte 100M/s -- 视频,音乐等基本数据业务
5G :华为 6亿美金 10G/s 小公司卖产品大公司卖版权(标准) 风险投资
二:android系统介绍
android系统最初由安迪.鲁宾等人开发制作,于2005年8月被美国科技企业google收购,2008年推出了android系统的第一个版本。android操作系统是基于linux开发的,应用程序都是使用java开发的。安卓图标是设计师去厕所得到的灵感。
三:android四层架构
1.android进化史
1.5 Cupcake 纸杯蛋糕
1.6 Donut 甜甜圈
2.1 Eclair 闪电泡芙
2.2 Froyo 冻酸奶
2.3 Gingebread 姜饼
3.0 Honeyconmb 蜂巢
4.0 Ice cream SandWich 冰激凌三明治
4.1 Jelly Bean 果冻豆
4.2 Jelly Bean 果冻豆
5.0 Lime Ple 酸橙派
6.0 Marshmallow 加入运行时权限功能 -- 2015
7.0 Nougat 加入多窗口模式功能 -- 2016
8.0 Oreo
9.0 Pie
2.android体系结构
2.1应用层
该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处
2.2应用框架层
该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。XMPP((Extensible Messaging and Presence Protocol,前称Jabber[1])是一种以XML为基础的开放式实时通信协议,XMPP网络是基于服务器的(即客户端之间彼此不直接交谈),但是也是分散式的。不像AOL实时通或MSN Messenger等服务,XMPP没有中央官方服务器。Jabber.org的公众服务器上有大量的用户,所以有些人误解了,以为它是官方服务器,不过事实上任何人都可以在自己的域名上运行XMPP服务器。
2.3系统运行库层:函数库层 由c或c++写的
系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.Net、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。--SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中;OpenGL-开放图形库(英语:Open Graphics Library,缩写为 OpenGL)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规范,它用于生成二维、三维图像
2.4Linux内核层
Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等
四:jvm与dvm介绍
1.dvm把所有的.class文件变成一个dex文件
2.基于的架构不同
3.为什么google自己研发dvm 由于版权的原因
五:sdkManager介绍
dx.bat 把所有.class文件变成一个dex文件
aapt Android应用打包工具
adb Android调试桥
六:android应用开发特色
1.四大组件
Android系统四大组件分别是活动(Activity),服务(Service),广播接收器(Broadcast Receiver)和内容提供器。其中活动是所有Activity应用程序的门面,凡是在应用中你看的到东西,都是放在活动中。而服务就比较低调了,你无法看到它但它会一直在后台默默运行,即使用户退出了应用,服务任然是可以继续运行的。广播接收器允许你的应用接收来自各处的广播消息。比如电话,短信等,当然你的应用同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,比如你想要读取系统电话薄中的联系人,就需要内容提供器来实现。
2.丰富的系统控件
Android系统为开发者提供了丰富的系统控件,使得我们可以很轻松地编写出漂亮的界面。当然如果你的品味比较高,不满足于系统自带的控件效果,也完全可以定制属于自己的控件。
3.SQLite数据库
Android系统还自带了这种轻量级,运算速度快的嵌入式关系型数据库。它不仅仅支持标准的SQL语法,还可以通过Android封装的API进行操作,让存储和读取数据变得方便。
4.强大的多媒体
Android系统还提供了丰富的多媒体服务,如音乐,视频,录音,拍照,闹钟,等等,这一切你都可以在程序中通过代码进行控制,让你的应用变得更加丰富多彩。
5.地理位置定位
移动设备和PC相比起来,地理位置定位功能应该可以算是一个很大的亮点。现在的Android手机都内置有GPS,走到那里都可以定位自己的位置,发挥你的想象就可以做出创意十足的应用,如果在结合功能强大的地图,LBS这一领域潜力无限。
android概念-android学习第二天的更多相关文章
- 物联网大赛 - Android学习笔记(一) Android概念
一.Android 概念 Android是开放式的手机和电脑操作系统,是基于Linux系统做的上层开发. android可以做些什么? Android可以开发各种手机应用APP,也可以开发车载系统等, ...
- 二、Android学习第二天——初识Activity(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第二天——初识Activity 昨天程序搭建成功以 ...
- Android学习第二天-android常用命令
上一篇文章中,我们重点讲解了adb的常用命令,下面我们一起来看看其它常用的命令 2 android 2.1 查看机器上所有已经安装的Android版本和AVD设备 2.1.1查看机器上已经安装的AVD ...
- Android艺术开发探索——第二章:IPC机制(下)
Android艺术开发探索--第二章:IPC机制(下) 我们继续来讲IPC机制,在本篇中你将会学习到 ContentProvider Socket Binder连接池 一.使用ContentProvi ...
- 我的Android之旅——学习、项目、心态
本文作者: 伯乐在线 - 唐韧 .未经许可,禁止转载!欢迎分享原创到伯乐头条. 来源:唐韧 学习Android也一年多了,项目做了五六个,有大有小,有难有易.一直以来都没有好好总结过,今天周六休息,就 ...
- android开源项目学习
FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:ht ...
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据 ...
- Android之SurfaceView学习(一)转转
Android之SurfaceView学习(一) 首先我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing ...
- Android开发艺术探索——第二章:IPC机制(中)
Android开发艺术探索--第二章:IPC机制(中) 好的,我们继续来了解IPC机制,在上篇我们可能就是把理论的知识写完了,然后现在基本上是可以实战了. 一.Android中的IPC方式 本节我们开 ...
随机推荐
- 前端开发JavaScript入门——JavaScript介绍&基本数据类型
JavaScript 诞生于1995年,它的出现主要是用于处理网页中的 前端验证. • 所谓的前端验证,就是指检查用户输入的内容是否符合一定的 规则. • 比如:用户名的长度,密码的长度,邮箱的格式等 ...
- 【记录】spring boot 全局捕获异常@ExceptionHandler与@Validated @RequestBody 配合使用
@ExceptionHandler与@Validated @RequestBody 三者配合使用可以很好的做到入参校验,具体demo如下: 接口 import org.springframework. ...
- No qualifying bean of type xxx' available 的一种解决方法
获取bean Class beanClass = Class.forName(event.className); FilterEvent filterEvent = (FilterEvent)Bean ...
- vue2.0 之 nextTick
Vue.nextTick 将回调延迟到下次 DOM 更新循环之后执行.在修改数据之后立即使用它,然后等待 DOM 更新. 它跟实例方法vm.$nextTick() 一样,不同的是 this 自动绑定到 ...
- JSON.stringify常见用法
转摘于其他博客 var data =[ { name: "金",sex:"1",age:26 }, { name: "才",sex:&quo ...
- 【leetcode】486. Predict the Winner
题目如下: Given an array of scores that are non-negative integers. Player 1 picks one of the numbers fro ...
- 对Promise的研究4
Promise.reject() Promise.reject(reason)方法也会返回一个新的 Promise 实例,该实例的状态为rejected. const p = Promise.reje ...
- PB系统颜色值
Colour Red Green Blue 值黑色 Black 0 0 0 0白色 White 255 255 255 16777215灰色 Gray 192 192 192 12632256深灰色 ...
- 4412 移植x264并且YUV422转x264
转自http://blog.sina.com.cn/s/blog_af9acfc60101alxx.html 一.YUV422转换规律 做视频采集与处理,自然少不了要学会分析YUV数据.因为从采集的角 ...
- P哥的桶(线段树+线性基)
https://www.luogu.org/problem/P4839 题目: 有两个操作 1 a b 在a的位置添加b数值 (注意一个位置可以有多个值) 2 a b : 在 a到b的范围任取任意 ...