热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

跟我学Android之一概述

Android5更新你的应用程序添加各种新功能,比如在锁屏通知,一个全新的相机API,OpenGLES3.1,新材料的设计界

Android 5更新你的应用程序添加各种新功能,比如在锁屏通知,一个全新的相机API,OpenGL ES 3.1,新材料的设计界面,以及更多。

1 手机发展的过程
2 Linux发展的历史
3 智能手机平台简介
4 Android的诞生
5 Android的优势

手机发展的过程

        1G手机——传说中的“大哥大”时代

1983年摩托罗拉推出了首款手机

型号:DynaTAC 8000X

重1公斤多

充电时间10小时,通话时间半小时

研发周期超过了10年

耗资超过1亿美元

摩托罗拉是最早进入中国手机市场的公司

19世纪80年代末进入中国

第一款手机是摩托罗拉8900

售价高达3~4万元

大哥大一度成为中国手机的代名词

1G时代的手机都是非智能机

2G手机——游戏手机

1994年国内出现了GSM手机。

1998年第一款内置游戏的诺基亚手机上市。

贪食蛇

记忆力

逻辑猜图

1999年诺基亚推出了第一款WAP手机。

手机开始接入Internet

强大的电话簿与短信存储能力

2001年爱立信发布了第一款内置蓝牙芯片的手机。

支持GSM三频

支持GPRS高速上网

2004年8月三星推出了第一款GSM/CDMA双模手机。

越来越多的手机开始支持MP3,MMS,拍照,彩屏等。

3/4G手机——智能手机
2006年国产的3G手机开始上市。
具备操作系统。
内置了丰富的商务和娱乐软件。
可以安装更多的软件应用。
更像是一个小的电脑。
可以高速接入互联网。

Linux发展的历史

1991年Linus Torvalds公开发布了Linux的内核
Linux是一个类Unix的操作系统。
第一个版本约有一万行源代码。
1994年Linux1.0发布
采用了GPL协议。
一部分系统管理员开始在服务器上试用Linux。
1996年Linux内核2.0版本发布
支持多种处理器。
被大公司选择使用
1998年IBM、Oracle等大公司宣布支持Linux
各种图形化应用被大规模开发。

Linux逐步开始流行

由于是一款类Unix而在服务器领域被广泛使用。
同时在嵌入式领域,Linux也逐渐发挥作用。
完全免费
多用户、多任务
良好的界面
丰富的网络功能
可靠的安全、稳定性能
支持多种平台
2003年摩托罗拉发布了第一款Linux手机。

常见的智能手机操作系统

昨日皇者-Symbian

诺基亚手机的主要平台

全新面貌-Windows Mobile

微软公司研发

应用于HTC、诺基亚等多家手机厂商的多款手机上

高贵华丽-iOS

Apple公司研发

应用于iPhone手机上

当今潮流-Android

Google公司研发

应用于HTC、三星、摩托罗拉等多家厂商的多款手机上

高端商务-Blackberry OS(黑莓)

由加拿大RIM自主开发,系统的加密性能更强更安全


Android的诞生

Android是一款基于Linux的嵌入式操作系统
Andy和Rubin创立了Android手机操作系统公司
2005年Google收购了Android公司
2007年Google发布了名为Android的手机操作系统
2009年2月发布了Android1.1
2009年5月发布了Android1.5
2009年9月发布了Android1.6
HTC的Hero手机使用了该系统
Android在手机市场开始迅速扩大
2009年10月迅速发布了Android2.0/2.1
2011年10月发布了Android4.0
2014年6月发布了Android 5.0

Android是一个开放的平台,基于Linux内核的系统,遵守开源协议,不受运营商的约束,丰富的硬件选择,众多手机厂商支持,开发商不受限制,开发成本低,参与人数多,应用软件数量众多,与Google应用无缝结合,Google地图,Google日历.

Android平台架构

Android平台中的各个模块:
应用程序(Applications)
Android搭载了一系列核心应用(日历、浏览器、电话簿)
这些应用大多使用Java开发的
应用程序框架(Application Framework)
为应用程序提供了框架服务的API
功能丰富:Activity Manager、Window Manager等等
库(Libraries)
包含了可用不同组件调用的C/C++库
通过应用程序框架暴露给开发者调用
Android运行时(Android Runtime)
Core Libraries
Dalvik VM
Linux内核(Linux Kernel)
是整个操作系统的核心层
提供了各种驱动


移动设备的内存和速度使得普通的JVM无法高效运行
Dalvik VM重新实现了JVM
将类文件组合生成一个或多个Dalvik可执行文件(.dex)
重用了类中的重复信息,比未压缩的jar减小了一半空间
优化了垃圾回收
使用了JIT(Just-In-Time)
使用寄存器作为主要的数据存储单元提升性能

Android平台的核心是Linux内核

设备驱动
资源访问
电源管理
内核之上的C/C++库
OpenGL
SQLite
WebKit
Android Java API
电话
资源
位置
UI
数据
包管理器



Android版本介绍

Android各版本分布如下(市场份额低于0.1%的将不显示):


Android 5.0 Lollipop:由0%增长至1.6%
Android 4.4 KitKat:增长0.6个百分点至39.7%
Android 4.1/4.2/4.3 Jelly Bean: 下跌1.5个百分点至44.5%
Android 4.0 Ice Cream Sandwich:下跌0.3个百分点至6.4%
Android 2.3 Gingerbread:下跌0.4个百分点至7.4%
Android 2.2 Froyo:跌至0.4%以下。


Android4.x新增功能:

UI分辨率的进一步优化

对于低分辨率的屏幕仍旧适合用Android2.3

新的语音输入系统

允许用户提供语音命令

新的安卓浏览器

支持网页离线保存

实时预览

单一手势关闭标签

截图功能

Android文件共享

这是一个基于NFC的应用

允许两个NFC的设备共享图片、联系人、音乐等

Android5.0新增功能:
采用全新Material Design界面
支持64位处理器
全面由Dalvik转用ART(Android Runtime)编译,性能可提升四倍
改良的通知界面及新增优先模式
预载省电及充电预测功能
新增自动内容加密功能
新增多人设备分享功能,可在其他设备登录自己账号,并获取用户的联系人、日历等Google云数据
强化网络及传输连接性,包括Wi-Fi、蓝牙及NFC
强化多媒体功能,例如支持RAW格式拍摄
提供低视力的设置,以协助色弱人士
配置AVD模拟器

测试与运行环境





最后运行出现带模拟器的效果,默认带Hello_World!赶快试下吧!





转:https://www.cnblogs.com/mjsn/p/6150853.html



推荐阅读
  • 在开发中,有时候一个业务上要求的原子操作不仅仅包括数据库,还可能涉及外部接口或者消息队列。此时,传统的数据库事务无法满足需求。本文介绍了Java中如何利用java.lang.Runtime.addShutdownHook方法来保证业务线程的完整性。通过添加钩子,在程序退出时触发钩子,可以执行一些操作,如循环检查某个线程的状态,直到业务线程正常退出,再结束钩子程序。例子程序展示了如何利用钩子来保证业务线程的完整性。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
author-avatar
oyy8610406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有