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方式 本节我们开 ...
随机推荐
- SSH简单Demo
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3 ...
- ios UIWebView加载HTMLStr图文,关于图片宽高设置,webView内容实际高度的踩坑问题
一.关于UIWebView 与 WKWebView 选取问题 从发布时间看: 2008年7月11日,在新一代iPhone3G正式发售当天,iPhone OS 2.0(iOS 2.0)推出,这时候就有U ...
- neo4j传参
py2neo_graph= py2neo.Graph("http://****", user="****", password="*****" ...
- flask之路径与函数的映射
一:运行报错 OSError: [Errno 98] Address already in use:5000端口可能被占 lsof -i:端口号 查看端口被那个进程使用,结果是python3.5 k ...
- margin 和padding 的区别
margin是用来隔开元素与元素的间距:padding是用来隔开元素与内容的间隔.margin用于布局分开元素使元素与元素互不相干: padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元 ...
- [洛谷P3486]POI2009 KON-Ticket Inspector
问题描述 Byteasar works as a ticket inspector in a Byteotian National Railways (BNR) express train that ...
- Task1.PyTorch的基本概念
1.什么是Pytorch,为什么选择Pytroch? PyTorch的前身便是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Pyth ...
- CABasicAnimation来做心跳动画
CABasicAnimation *anim = [CABasicAnimation animation]; anim.keyPath = @"transform.scale"; ...
- Android中对Apk加固(加壳)续篇之---对Native层(so文件)进行加固
有人说Android程序用Java代码写的,再怎么弄都是不安全的,很容易破解的,现在晚上关于应用加固的技术也很多了,当然这些也可以用于商业发展的,梆梆加密和爱加密就是很好的例子,当然这两家加固的Apk ...
- selenium 浏览器无界面模式运行
以Chrome浏览器为例: 方法一: from selenium.webdriver import Chrome, ChromeOptions opt = ChromeOptions() # 创建Ch ...