总之,Android是一个经验丰富的操作系统,它已经成为当今计算领域最大的参与者之一,谷歌也在后面。Android使用免费的开源技术,例如linux。内核、JavaSE 8和开放标准,如XML、CSS 3、MPEG-4、JPEG、PNG、MP3、OggVorbis、FLAC、SVG、WebM、WebP、OpenGL 3.2、WebKit、Vulkan和HTML 5。android整合了所有这些开放的源c。e资源,使其能够为Android开发者提供免费的新媒体内容和应用交付平台,为消费类电子产品制造商提供一个操作系统平台。你能拼写出opportun吗?性?我当然可以!它的拼写:a-n-d-r-o-i-d!
Android 7优势:Android对我有什么好处?
对于Android操作系统开发平台来说,有太多的好处可以忽略您的Android应用程序开发工作流程和环境,甚至还有一分钟的时间。我们要去找你在下一章中使用所有最新的IDE、新媒体应用程序、编程语言和Android OS SDK和组件进行设置,这样您将拥有一个非常有价值的Android7.1.1 MultiMedia内容开发工作站。
这很好,但你可能会想,Android怎么能让我受益呢?首先,android是基于开放源码技术的,它是免费的商业开发使用,没有预先成本D没有持续的版税。Android在一开始就没有苹果、Adobe和微软昂贵的付费技术那么精致。
在过去的几十年中,开源软件技术已经变得和传统的付费软件技术一样复杂。当你和你一起工作的时候,你会在这本书中看到这个。专业级的Android Studio 2.3(IntelliJ)理念和新媒体在下一章,当我们组装一个Android工作室内容开发工作站时,你将获得(免费)的内容软件,100%来自零。
开源技术在付费软件上的应用越来越多,这一点在internet 2.0中是显而易见的,因为大多数消费类电子产品制造商都选择了android和html 5。d在Linux内核上,使用Java、JavaFX和JavaScript,在Windows 10、Windows Mobile、IOS和Macintosh OS/X OS上。
由于这个关键原因,android开发者不仅可以为他们的智能手机开发应用程序,还可以为新兴的消费电子设备生态系统开发应用程序,其中包括从未见过的p。例如智能眼镜和智能手表,或者UHD(4K,或IMAX)ITV,这些设备都是网络兼容的,可以连接到GoogleAndroid(Play)市场。Android应用市场E被谷歌重新命名为Google Play,这是因为苹果电脑对谷歌所谓的Android应用商店提起法律诉讼。
开放源码的免费特性直接转化为在您潜在客户生活的更多领域中更多的消费电子设备的销售,这提供了稳步增长的android标记。占有率,以及越来越多的激励开发的Android操作系统在“封闭”7.1.1技术如Windows或iOS,和不受欢迎的,不太丰富的PC操作系统,如OS / X,所以和Linux发行版。
除了免费的商业使用之外,Android操作系统还有一个最大、最富有、最具创新性的现代计算公司:谷歌(Google)。加入OHA,和你身后有超过一万亿美元的超级品牌公司,支持你的应用程序开发工作。这看起来确实太好了,不可能是真的;然而,这是事实:如果你是一个安卓系统开发人员(您将在大约十几个章节中),您现在有一个强大的硬件和软件销售和支持团队支持您的新媒体内容开发业务。
最后,也是最重要的一点是,发布Android应用程序要比其他类似于Android7.1.1的平台容易得多(这里我不提名称,以保护不那么无辜的人)。我们都知道,我们宁愿把时间花在应用程序开发上,也不愿把时间花在让我们的Android应用被批准出售!
我们都听说过一些可怕的故事,大开发公司等了几个月,有时甚至几年,才能在其他应用市场上获得批准。这些问题几乎没有-存在于开源Android平台上。在GooglePlay商店发布应用程序就像支付50美元,上传你的Android.apk文件,并指定你是提供免费的还是免费的付费下载。让我们来看看我们在这本书中将要涵盖的内容,以及我们不打算涵盖的内容。最后,我们将看一下新的android 7.0“努格特”操作系统壮举。在我们完成第一章之前。
本书的范围
本书介绍了Android的核心特性和属性,以及为Android开发应用程序的工作流程。这本书是为了绝对的
初学者,也就是那些从未在Android平台上为消费电子设备创建应用程序的人。如果您已经熟悉android,那么这本书是不合适的。或者你。我不认为读者知道什么是Java,或者XML是如何工作的;
或什么样式或主题;或什么编解码器,阿尔法通道,颜色深度,抖动,或混合模式算法是什么。
我所知道的是,在这本书的结尾,当你开始在朋友面前谈论新媒体Android应用程序的时候,你会显得好像在说一门外语,家庭,客户,这最终会让你被录用,希望能得到丰厚的报酬。请注意,要学习“一分为二”,还需要远不止一本书。
因此,请务必在http://www.apress.com上查看所有其他Android和Pro Android的标题。
这本书涵盖了什么?
本书涵盖了Android应用程序开发的基本内容和基本要素,包括但不限于以下几个方面:
为Android7.x平台开发所需的开放源码软件开发工具
在哪里可以获得这个免费的软件开发环境,以及可以与AndroidStudio 2.3 IDE一起使用的专业新媒体内容创建工具
如何正确安装和配置用于Android7应用程序开发的必要工具,以及可与AndroidStudio 2.3一起使用的新媒体内容创建工具
哪些第三方工具可与AndroidStudio 2.3 IDE结合使用
目前哪些OSS和平台支持使用这些工具开发Android?
Java和XML的概念和编程构造及其在创建Android应用程序中的实际应用
AndroidStudio 2.3如何设置Android应用程序
Android操作系统如何使用View类定义Android应用程序用户界面(UI)组件
Android操作系统如何使用ViewGroup类控制显示屏幕上的UI组件布局
Android如何使用意图类与其他Android应用程序通信
Android应用程序如何与内容提供商、数据存储、资源、网络和互联网接口
Android如何提醒用户可能在Android应用程序内部或外部发生的事件
如何为使用应用程序的Android清单XML文件发布定义Android应用程序
Android应用程序如何使用服务类使用线程进行后台处理重要的是要知道AndroidOS有超过250个Java包,而且一本书不能向您介绍在Android7.1.1 OS开发环境中所有可用的东西。这个Android开发环境包含了一些功能,允许你做任何可以想象的事情,比如在显示屏上放置一个按钮;合成语音;创建虚拟环境。现实或智能手表脸;利用交互式电视机或自动仪表板功能;或访问高级智能手机功能,如高分辨率相机、蓝牙通信,NFC,GPS,陀螺仪,指南针或加速度计。如果您想自己查看这些Android包,您可以在Android开发人员网站的以下URL中找到它们:
注:Java中的包是编程实用程序或函数的集合,它们都具有相关(和相互关联)功能。例如,java.io包包含dee的实用程序。将输入和输出(IO)输入到程序中,例如读取文件的内容或将数据保存到文件中。后面的Java入门章节将描述如何将Java代码组织到您自己的CUST中OM Android应用程序包。
与这本书不同,大多数Android书籍都将专门研究Android编程的特定领域。例如,我的Pro Android可穿戴设备(Apress,2015)的标题集中在智能手表应用程序的开发上。T和我的ProAndroidGraphics(Apress,2014)专注于Android图形管道的设计。我们将在关于Java的章节中学习API或应用程序编程接口。有丰满每个AndroidAPI的复杂性,最终从开发者的角度来看,转化为难以置信的创造力。你可能会问,这种力量的代价是什么?你宝贵的时间掌握每个API是你要付出的唯一代价,因为Android7.xOS在其他方面是免费的,可供商业使用。
本书中未涉及的内容
那么,这本书中没有提到什么呢?在下一本关于Android编程的书中,你需要期待什么酷的强大功能?简而言之,任何不是核心类的东西或者Android应用程序所依赖的特性。在硬件方面,我们将不会关注如何控制摄像机、从智能手机获取gps数据、如何访问加速度计或陀螺仪。PE,它允许用户将智能手机转过来,或者让应用程序对智能手机的位置做出反应。我们不会钻研先进的触摸屏概念,例如手势;访问g其他设备硬件,如麦克风、蓝牙、NFC和Wi-Fi连接,或图像合成,这是在Pro Android图形(Apress,2013年)。
在软件方面,我们将不会深入创建您自己的android mysql ite数据库结构,或实时3d渲染系统(opengl es 3.2和vulkan),尽管我们将进行更深入的研究。在后面的章节中,您可以了解如何使用它们,以及它们如何适合整个Android7.1.1基础结构。我们将不会探索语音合成和语音识别。N,也不支持通用语言支持,允许开发人员创建以数十种国际语言和外国字符集正确显示字符的应用程序。我们不会成为通用的其他高级编程例如游戏开发,人工智能,图像合成管道,混合模式和物理模拟。我们不会进入高级用户界面设计概念和技术,例如作为我的ProAndroidUI(Apress,2014)标题或我的学习Android应用程序开发(Apress,2013)标题中的主题,我以前写过。
Android本体中的新事物:强大的新特性
在这一节中,我将介绍一些新特性,这些新特性将使Android 7对最终用户和开发人员都更有吸引力。即使是新的终端用户特性也可以被认为是“赢”f。或者Android开发人员,因为这些新功能可以扩大Android操作系统目前所享有的大部分市场份额。其中一个新特性甚至允许Android应用程序在GoogleChrome上运行操作系统,运行在数百万Chromebook,ChromePhone和Chromecast(ITV)产品上,大大扩大了Android7.xNougat应用程序。
注意:在写本书的过程中,Android版本7.1.1努格特目前正处于测试版开发阶段,并且应该在这本书向公众发布的同时在设备上发布。
由于Android将Android扩展到了上网本、笔记本、笔记本电脑和个人电脑上,我们先来看看自定义指针API。这个新的api允许将指向设备(鼠标和游标)与android一起使用。itv或个人电脑等设备使得android更像桌面操作系统,具有上下文敏感的指针光标图形。
用于GoogleChromeOS的Android应用程序:自定义指针API最近版本的GoogleChromeOS有一个进入Google Play商店的入口点占位符,这表明Google将在GoogleChrome下运行Android应用程序操作系统。Android应用程序开发方面的一部分内容是自定义指针API,它将允许键盘和鼠标支持Google Chrome OS用户,还可以帮助Android电视用户与他们的ITV的接口以及。直到ITV和PC Android支持最近出现,Android操作系统主要是一个触摸屏环境。然而,android有一些基本的支持老鼠和键盘已经好几年了。随着新的Android设备如ITV设备的出现,鼠标将变得更加常见,Android 7.1.1将通过添加新的自定义P来支持这些设备。燕麦API
在开发人员预览(Betas)时可用。光标实际上可以改变以指示不同的用户交互,就像鼠标指针(游标)在台式机或笔记本电脑上所做的那样。
自定义指针API允许开发人员自定义游标(也称为指针)可见性、外观(使用的图标)和行为。控制光标外观和可见光的能力当用户使用鼠标(或轨迹球或触摸屏)与应用程序中的对象(如用户界面组件或游戏玩家或游戏饼)交互时,iability特别有用。赛斯。API的默认指针将使用标准指针图标来表示其外观。自定义指针API包括高级函数,允许开发人员更改指针图标的显示根据用户的鼠标(或触控板或轨迹球)的移动实时执行。自定义指针API允许Android应用程序游标更像传统的桌面计算游标,这将取决于应用程序用户正在做什么而改变。例如,当您在cu上悬停时在文本字段上,指针图标将成为“插入栏”文本光标。如果将光标移动到链接上,指针将更改为指向手指。如果拖动对象,游标为I‘我会显示一个打开的指针。如果在可调整大小的窗口边框上悬停,光标将显示适当的调整大小方向箭头。开发人员可以使用th更改应用程序中的指针行为。是API,详细介绍在Android开发人员网站上,该网站位于:
这款Chrome操作系统对Android操作系统的“桥梁”也很重要,因为它允许这两个快速增长的平台相互促进增长。Chrome操作系统给安德鲁OID应用了一个新的平台,包括Chromebook(笔记本电脑);Chromecast(ITV);将来可能还会有Chrome PC、Chrome Phone和Chrome智能手表。另一方面,Android Applicat离子将使ChromeOS成为一个庞大的软件数字图书馆,最终将与桌面操作系统领导者微软及其Windows 10操作系统的应用程序数量相匹配。什么S可能意味着,既然谷歌已经赢得了移动操作系统市场,他们现在就会进军桌面操作系统市场。Chrome操作系统令人印象深刻,就像大多数Linux发行版一样,全新的Chromebook是定价迅速出售(在美国,120美元到180美元,用四核CPU)。
电源和CPU优化:持续性能模式API
谷歌开始专注于通过cpu和内存性能优化来优化android设备的功耗,这是我在我的android应用程序中为绝对初学者介绍的。d Edition (Apress, 2014). 一个更高级的API致力于节能和电池寿命的优化是Android 7牛轧糖。它被称为持续性能模式API,并提供给开发人员。这是一种定义他们的应用程序何时使用CPU、显示和内存资源的方法,这些资源可能会耗尽设备的电池寿命。
Android7.x中持续性能模式API的动力优化目标是允许开发人员识别需要使用内存和处理器周期高速率的应用程序。撒尿时间长。这将包括多媒体应用,如虚拟现实(VR)、增强现实(AR)或交互式3D(I3D)实时渲染游戏。使用持续性能NCE模式API允许开发人员指定在应用程序执行期间可持续的性能级别,而不垄断设备CPU、内存和显示(以及相应的显示)(e电池寿命)。根据谷歌的说法,这个新的API应该允许“原始设备制造商为长期运行的应用程序提供设备性能的提示。应用程序开发人员可以使用这些提示来进行tu。Ne应用程序,在很长一段时间内,都能实现可预测的、一致的设备性能。“
无缝更新:后台安装到辅助分区
Android 7现在为您的Android操作系统提供了无缝的下载、安装和更新系统。而不是提示用户然后需要下载AndroidOS更新,然后安装这些更新,然后重新启动,从android 7.0开始,操作系统将自动启动。下载并在辅助磁盘存储分区上安装其下一个版本。当用户随后重新启动android设备时,操作系统将在更新版本完全安装后切换分区。ED在第二个(其他)分区,然后您将有最新的Android操作系统修订。这样可以避免用户不得不花费设备使用时间来进行耗时的android操作系统更新过程。sinister (Latin=left) (拉丁语)左边(的),左派(的)
在后台自动下载Android版本的想法并不新鲜,但使用Android 7,它也安装了操作系统。这意味着用户不必重新启动设备和浪费设备-使用时间见证一个冗长的安装-更新对话框屏幕。使用无缝更新,一旦安装了所有设备,用户就会重新启动,
准备在下一次启动时使用。重要的是要注意,这是谷歌Chromebook OS使用的相同的操作系统更新方法,因此Android操作系统和Chrome OS的融合继续发生。
当谷歌发布Android更新时,更新被安装到一个辅助分区上。重新启动设备后,二级分区成为主分区和主分区。迷信成为次要。这种方法将被android 7.0和更高版本的硬件设备所支持。这并不要求消费类电子设备制造商发布更快的更新,不幸的是,这仅仅意味着Android 7将在后台安装一个更新,而Android终端用户正在使用该设备做更重要的事情!
多个并发Windows:同时运行两个Android应用程序
第一个正式确认的android 7功能是一个多并发窗口模式,这是另一个使android更接近于被用作桌面计算和ITV操作系统。这是因为台式机现在使用hdtv和uhdtv作为显示器,而且交互式电视机设备也是这些具有四核或八核复合物的高清或uhd屏幕之一。在里面。
Android7.1.1开发者需要在他们的应用程序中增加对多个并发窗口模式的支持。兼容的应用程序可以在Android 7或更高版本中并排打开。窗口可以重新设置大小使用滑块UI元素。用户将能够在多个并发窗口之间拖放内容,并且可以通过将ui滑块拖动到窗户。开发人员还可以为应用程序窗口指定最小初始窗口大小。
图片中的图片:在Android电视中观看视频或电视
Android电视有一种新的PIP模式,类似于苹果iOS 9中的相同功能。这就像youtube中的最小化视频一样,这并不奇怪,因为google拥有安卓电视和YouTube都是。android 7图片模式基本上允许应用程序定位于android itv用户界面的其余部分,使用一个覆盖窗口,没有ch。罗马(边境)。在Android 7的概述中,谷歌使用了一个视频播放器应用程序的例子来显示图片中的图片模式。
这种图片显示功能显然是针对运行android tv的高清和uhd itv设备;然而,google也表示支持更大的设备,因此这可能意味着使用大型平板电脑wi。TH HD和UHD(ITV)的分辨率应该能够利用这一新特性。有趣的是,硬件设备将其屏幕分辨率与16:9和16:10的宽屏兼容为pect比率,支持蓝光(1280×720),真高清(1920年到1080年)和超高清(4096或3840到2160)的视频,电视和电影内容。
这样做的原因是为了防止像素缩放时使用cpu和内存,而大多数设备(智能手机、平板电脑、itv设备、电子阅读器、游戏机和自动仪表板)屏幕将是这三个pi之一。XEL决议,走向未来。三星已经在他们的智能手机上启用了PIP,苹果也在iPhone上做了同样的事情,所以谷歌没有理由让它这个PIP功能只适用于更大的Android设备硬件。
改变显示密度:通过滑块调整像素每英寸(PPI)
Android 7具有设置不同显示密度的功能,这将有助于放大屏幕上的所有元素。这有助于改善受损用户的设备可访问性。视觉。若要访问新功能,请转到“设置”。➤显示。➤显示尺寸。Android 7.x允许您更改设备上的显示大小,也称为更改显示器的DPI(每英寸点)或PPI(每英寸像素)设置。只需转到设置。➤显示。➤显示大小并滑动滑块,这将改变屏幕上内容的可感知大小。
谷歌称,此功能将不需要开发人员修改他们的应用程序的代码;然而,在用户界面设计中,开发者需要选择一个分辨率水平(LDPI,MDPI,华电国际,xhdpi,等。)。为了确保Android有足够的分辨率来利用这一新功能,Android开发人员应该创建更高的DPI设计(HDPI、XHDPI或XXHDPI),以便有更多的数据可用。对于缩放算法,请用LE到Sample。这将允许AndroidOS“呈现”经过密度修改的文本和图形,无论内容是放大(大)还是放大(小)。开发人员应该测试t。他的功能确保它在他们的应用程序中正常工作。
键盘主题:自定义屏幕键盘使用皮肤
自从MP3播放器几十年前发布以来,最受欢迎的事情之一是为giv的用户界面“皮肤”或提供自定义用户体验(背景图形和边缘细节)。EN申请。谷歌键盘的5.1版带有主题(皮肤)定制功能,开发者(和用户)将利用这些特性定制应用程序的皮肤。现在你可以有刺了完全可定制的键盘和预先配置的主题的选择可供选择。
在安装GoogleKeyboard 5.1之后,如果它还没有预装,用户就会看到一个名为“主题”的菜单选项。用户可以从几个包含的布局中进行选择,但真正的优势是谷歌键盘5.1将像素置于用户的控制之下,让用户可以“皮肤”任何他们想要的键盘样式。这包括将自定义图像添加到键的背景中。开发人员还可以访问此功能,以定制其应用程序外观或用户体验(UX)的键盘外观和感觉。
增强Doze模式:控制android 7.0设备休眠
美国
就像开发人员可以使用持续性能API来管理电源一样,Android用户也可以使用增强的打盹模式。其中最受欢迎的Android 6功能(打盹模式)大大改进了我。机器人7。AndroidDoze为其电源优化系统提供了两个级别。当屏幕被关闭一段时间后,第一层启动,无论你的Android设备是否是静止的。不管是不是。这意味着用户可以享受增强Doze模式的好处,任何时候,该设备不使用,甚至当它在您的口袋,钱包,公文包,或背包。一旦晶闸管虽然已经关闭了一段时间,但除了偶尔活动期间,增强型Doze模式还将关闭所有网络访问,并将在这些br期间安排任何处理。时间之窗。请注意,此行为只在设备使用电池电源时生效,如果设备连接到交流电源,则不会启动。
安卓7.0增强的Doze模式的第二层工作方式类似于Android6Doze模式,但有了很大的改进。当设备处于静止状态时,操作系统将进入深度休眠模式。检查所有的网络和其他活动,除了在一些宽(间隔)的维修窗口之前,再滑回睡眠。如果设备保持静止状态,过一段时间,Android操作系统就会崩溃。它进入了一个更深的状态增强的Doze模式,它没有唤醒锁,延迟警报以及数据同步和处理任务,并关闭GPS服务和Wi-Fi连接扫描。大更深的打瞌睡模式,这些间歇性活动的窗口将进一步间隔,允许更多的电池节省,你移动你的设备越少。如果你担心设备打瞌睡太多,这也不是一个问题,因为一旦你激活设备屏幕,或插入设备,设备将退出增强Doze模式,直到它的条件再次满足。
OpenJDK:将Android Java从Oracle Java迁移到OpenJDK
自从甲骨文收购Sun Microsystems以获得Java(和Solaris操作系统)和Google购买Java以来,Google和Oracle在Android中使用Java的法律争论已经持续了好几年。正如您在本章前面所了解的,Android。Java 6一直被使用到Android 6,后者使用Java 7,而Android7.x将使用Java 8。为了解决这些法律争论,谷歌计划在Android 7中切换到OpenJDK。OpenJDK代码仍然属于Oracle,但正如其名称所示,OpenJDK是开源JDK(JavaDevelopmentKit)的一部分。对开放的预期随着开源Java代码片段的出现,早在Android 6的时候,urce Java 8开发编程语言已经渗透了很长一段时间。
谷歌在2016证实了所有这些猜测,并声明如下:“作为一个开源平台,android是建立在开源社区合作的基础上的。在我们即将到来的比赛中Android的ASE,我们计划将Android的Java语言库转移到基于OpenJDK的方法上,为开发人员构建应用程序和服务创建一个通用的代码库。谷歌一直在与和c合作。我们期待着将来对OpenJDK项目做出更多的贡献。“-谷歌公司发言人
请注意,在下一章中,您仍将下载并安装Oracle Java 8 SE JDK,以便能够使用IntelliJIDEA和AndroidStudio运行,但是我们将了解到的Android包n这本书将以OpenJDK为基础。您可能会想知道,包代码有什么不同。从最终用户的角度来看,Andro可能很少或没有明显的变化操作系统用户体验。开发人员很可能不得不适应新的环境。
Java标准。幸运的是,您以前从未编写过Android代码,因此您将从OpenJDKAndroidAPI开始,因此不会受到任何轻微的Java8API代码更改的影响。
数据计划保护程序:只有连接到Wi-Fi门户时才同步。
由于网络为每单位传输的数据收取费用,因此优化蜂窝数据计划的数据使用是很重要的。Android 7有一个新的数据计划保护功能,它可以帮助用户接受骗局控制他们的数据使用。当启用数据保护程序设置时,它将停止后台数据同步,除非连接到Wi-Fi网络。这个数据计划不仅会阻止数据-使用数据计划津贴的昂贵的后台活动,也会限制应用程序在前台使用的数据量。
用户可以创建一个“异常列表”,突出显示用户希望像往常一样同步的特定应用程序,这样他们仍然可以使用DataPlantSaver功能。Android用户已经能够在以前的OS版本中使用他们的设置菜单来限制蜂窝网络数据,而现在在android 7中,有一个额外的功能可以让用户使用他们的数据保存规范ev。再往前走一步。
Android的未来:3D、VR、AR、OpenGL和Vulkan
由于任天堂Wii、索尼PlayStation和微软Xbox等3D游戏机的出现,交互式3D(Interactive3D)或称i3D已经流行了十多年。Vulkan是一个i3d的翻版RingAPI以一种高效、高度优化的方式管理多核GPU,最终将取代OpenGL ES 3.2。
Khronos Vulkan:代替OpenGL ES的i3D渲染引擎
Vulkan是一个领先的i3D编程API,由行业专家开发,用于Android游戏和其他平台(如HTML 5和Linux)上的i3D应用程序。Vulkan正在被创造(编码)通过I3D专家来自全国各地的游戏效果在khronos.org工作行业,你可以找到在http://www.khronos.org,正如你可能猜测。该火山的API是一个t:http://www.khronos.org/vulkan/,一年前于2016年2月16日发行。今年晚些时候,Vulkan将被包括在Android 7.1.1操作系统中,并将由Nvidia Tegra Pa提供动力。Rker芯片组
Vulkan API所做的是在广泛的操作系统和平台上提供对i3D处理(GPU)硬件的公共、低级别(直接)访问。如果您想探索如何利用Vulkan API在Android 7(及更高版本)上,并学习所有最新的Vulkan技术,您可以在https://developer.nvi上研究NVIDIA开发人员的信息以及NVIDIA的主要Vulkan开发中心。dia.com/vulkan-android这样做是因为NVIDIA制造了功能强大的Tegra 3D处理器,包括最新的“Parker”芯片组,用于越来越多的i3D和VR功能的Android设备,如itv。套装和游戏机。
vulkan for android:android 7.0的前沿i3D性能
Vulkan for Android不同于当前的Android图形API,比如OpenGL ES 3.x,因为它的处理引擎不执行某些应用程序优化,例如图形处理流水线例如,再利用。使用Vulkan的Android应用程序必须自己实现管道优化。如果他们不这样做,他们有可能甚至比运行OpenGL ES 3.2的应用程序执行更差的性能。为此,我使用OpenGL ES 3,X,和优化的引擎可以达到类似的结果在Vulkan的资产。
当应用程序自己实现调度优化时,它们有可能比呈现引擎更成功地实现优化,因为它们可以访问上下文使用信息。任何给定的呈现场景。因此,巧妙地优化了
使用Vulkan的应用程序可能会比使用OpenGL ES的应用程序获得更好的性能。重要的是要注意,正确地创建和优化几何和着色资产渲染通常可以提供更好的性能增强。我在我的AndroidStudio新媒体基础(Apress,2015)标题中详细介绍了这一点。
例如,关键的渲染引擎优化之一是将游戏(I3D)或动画(3D)的每个帧上的呈现“传递”或调用渲染引擎的次数最小化。因缘Al,调用越少,所产生的处理开销就越小。
此外,对于嵌入式设备GPU体系结构,启动和结束呈现传递是一项处理器密集型工作。Android应用程序通过组织呈现操作来提高性能尽可能少地使用格式良好的Java 8类和方法进行呈现传递,我们将在第5章中学习这些类和方法。
OpenGLES用于android:桌面i3D性能用于android 7.0
OpenGL ES 3.2在和Vulkan同一时间发布并承诺把手机的图形处理能力,通过将Android扩展包质量更先进(AEP)functionalit进入OpenGL的核心ES。AEP是随着Android5的发布而宣布的,并在AndroidOS中添加了一套i3D渲染技术,使用OpenGL ES 3.1的“扩展”。现在这些都是将“原生”扩展到Android7OpenGL ES 3.2 API中。
OpenGL ES 3.2的介绍建立在以前版本的基础上,充分利用移动、ITV和汽车仪表板硬件,增加了3D图形功能。OpenGL es 3.2有许多im。对OpenGL ES 3.1的改进。OpenGLES 3.2兼容硬件支持TESSARITION,它增加了三维几何细节。它包括新的几何图形着色器,ASTC纹理压缩优化内存。足迹,浮点渲染高精度计算处理,并增强调试功能.。这些高端特性已经在Khronos集团的OpenGL 4.0规范中找到.。高-质量特效也是OpenGL ES 3.2的一部分,包括延迟渲染,基于物理的着色器,HDR色调映射,全球照明和反射。这些特色会带来桌子高质量图形到Android 7设备运行OpenGL ES 3.2。
摘 要
在第一章中,您了解了Android 7,包括它的历史、对开发人员的优势以及它的主要新特性。我概述了我们将和不会在这段时间内所涵盖的内容。这个绝对的初学者标题。在下一章中,您将确切地了解如何下载、安装和设置一个Android7.1.1应用程序开发工作站,以及如何为我们配置它e用于Android7.x应用程序和内容开发。
,
Android 7的牛轧糖介绍
这些天,你会看到Android操作系统驱动的设备的大小和形状随处可见。他们可以穿在你的身上,这要归功于安卓的穿戴;在家电中使用,这要归功于安卓电视;它们是你汽车的一部分,多亏了Android汽车。android设备将以itv的形式在您的客厅提供娱乐;帮助您在学校使用平板电脑学习;RM你在床上使用电子书阅读器;或刺激你使用Android游戏控制台的沙发,如欧亚、雷蛇伪造,或Nvidia Shield。
在这一章中,我们将探讨一些关于谷歌Android操作系统的基本历史,为您提供Android历史的高级概述。我们将看看学习的好处。Android应用程序的开发,开源编程语言和开源Android的基础。我们将查看不同Android版本之间的百分比分布,以及安卓7.0的新功能。
Android操作系统的历史:令人印象深刻的增长
Android操作系统最初是由AndyRubin创建的,目的是为手机提供操作系统。这发生在第二十一世纪初。2005年7月,谷歌收购了安卓系统,并制造了安迪·鲁宾的S。现任谷歌移动平台副总裁,直到2014年11月。许多人认为谷歌收购Android操作系统主要是为了回应苹果的I在同一时间打电话。然而,有足够的其他大公司,如RIM黑莓、诺基亚Symbian和微软WindowsMobile,这被认为是明智的商业决定谷歌将收购安卓公司的工程天才以及安卓操作系统的知识产权。这使得谷歌可以把他们的互联网搜索引擎公司插入新兴市场。移动市场,现在被许多人称为因特网2.0。
因特网2.0,即移动互联网,允许消费者电子产品的用户使用便携式消费电子设备,通过多种多样的数据网络访问内容。这些目前包括e平板电脑,智能手机,平板电脑(手机-平板混合),游戏机,智能手表,智能眼镜,个人机器人,无人机,照相机和电子书阅读器。如今,基于android操作系统的设备将lso包括那些非便携式消费电子设备,如itv电视机、家庭媒体中心、汽车仪表板、汽车音响、音乐播放器、家用电器、家庭控制装置。和数字标牌系统的机顶盒。
这种不断增长的android现象将游戏、3d动画、互动电视、数字视频、数字音频、电子书和高清晰度图像等新媒体内容引入到ev的生活中。转身。Android是那些流行的开源工具之一(其他的是HTML 5和JavaFX),数字艺术家将越来越多地利用这些工具来开发新的媒体创作。继承人最终用户以前从未体验过。在过去的十年里,Android已经成熟和发展,成为一个稳定的,非常可靠的嵌入式开源操作系统。一款刚开始使用的Android操作系统十年前,谷歌收购了它的初始版本,现在它已经发布了稳定的操作系统1.5、1.6、2.0、2.1、2.2、2.37、3.0、3.1、3.2、3.3、4.0、4.0、CRIC、CN.7、Campbell、和。
截至本书撰写之时,Android7.1.1正处于测试阶段,预计将在2017年第一季度发布。安卓7.1.1将在2017和2018年出现在64位安卓设备上。如果你想看最新的关于以前的Android操作系统修订的统计数据,直接从Android开发人员网站上,您应该访问这个URL:
表1-1发布了Android操作系统版本、内部OS名称、API级别和当前的市场份额
|
| CHAPTER 1: An Introduction to Android 7.0 Nougat | 3 | |
Table 1-1. Released Android OS Versions, Their Internal OS Names, API Levels, and Current Market Share |
| |||
|
|
|
|
|
VERSION | CODENAME | API LEVEL | MARKET SHARE |
|
|
|
|
|
|
1.5 | Cupcake | 3 | Less than 0.1% |
|
1.6 | Donut | 4 | Less than 0.1% |
|
2.0, 2.1 | Eclair | 5, 6, 7 | Less than 0.1% |
|
2.2 | Froyo | 8 | Less than 0.1% |
|
2.3.7 | Gingerbread | 9, 10 | 2.0% (Kindle Fire) |
|
3.0, 3.1, 3.2 | Honeycomb | 11, 12, 13 | Less than 0.1% |
|
4.0, 4.0.4 | Ice Cream Sandwich | 14, 15 | 1.0% |
|
4.1.2 | Jelly Bean | 16 | 6.8% |
|
4.2.2 | Jelly Bean Plus | 17 | 9.4% |
|
4.3.1 | Jelly Bean Plus | 18 | 2.7% |
|
4.4.4, 4.4W | Kit Kat | 19, 20 | 31.6% |
|
5.0 | Lollipop | 21 | 15.4% |
|
5.1 | Lollipop | 22 | 20.0% |
|
6.0 | Marshmallow | 23 | 10.1% |
|
7.0 and 7.1.1 | Nougat | 24 and 25 | Less than 0.1% (so far) |
|
|
|
|
|
|
表1-1显示了过去十年在流行的嵌入式操作系统消费电子产品上安装的所有流行版本的Android操作系统的进展情况。我想收集所有的f这个Android操作系统信息为您合并成一个单一的信息图表,这样您就可以“鸟瞰”当前Android操作系统的历史进程。如你所见,有cAndroid的市场份额“甜蜜点”。如果你想知道嵌入式操作系统是什么,这就像把一台完整的个人电脑放在上面
一种小到可以安装在手持设备中的主板,它的功能足以运行应用程序或“应用程序”。
就像今天的个人电脑和笔记本电脑一样,因特网上的2.0台设备,如智能手机、平板电脑、电子阅读器、智能手表和itv,现在都以四核为特色。
(4 CPU)甚至八核(8 CPU)的计算机处理能力,以及2G的系统内存.。这正在接近现代pc的功能,比如您将要设置的工作站。在这本书的下一章,你可以在沃尔玛花500美元买到。迷你塔pc具有八位核心64位处理器和6gb或8gb系统内存,以及750 gb(或更大)硬。带Windows 10的磁盘驱动器,
软呢帽24,或Ubuntu伴侣17.04。
Android操作系统包含了一个完整的计算机操作系统的功能。它基于Linux内核开放源码平台,以及Oracle(以前的Sun Microsystems)Java 8标准版,这是世界上的mo之一。流行的编程语言。Android 5和6还使用64位Linux内核,以及Java 7标准版。
(注意,这个术语指的是由一个开放的个人社区共同开发的软件,它可以免费用于商业用途(或非商业用途)。开源软件还附带了所有的源代码,以便在必要时可以进一步修改。Android操作系统是开源的,尽管Google在发布sou之前在内部开发了它。RCE代码。从那时起,源代码就可以免费提供给软件开发人员使用。)
Android设备拥有2.4GHz处理器和2GB的快速、计算机级的DDR 3内存并不少见。这与几年前的台式电脑和仍在运行的笔记本电脑不相上下。完全可用。您将继续看到因特网2.0(移动设备)操作系统与桌面操作系统的这种融合,例如我们在Windows10和WindowsMobile以及ChromeOS和Opera中看到的那样目前,随着时间的推移。
当Java、android操作系统和开源软件平台明显地被认为是先锋队时,包括菲尔在内的一群受欢迎的消费类电子产品制造商。ips、索尼、HTC、三星、LG电子等公司成立并加入了开放手机联盟(OHA)。这一切都是为了让谷歌开源Android平台的发展势头,而且起作用了!如今,数百家领先的品牌消费类电子产品制造商将安卓作为其消费类电子设备上的操作系统。事实上,Android操作系统的使用比任何其他O都多。在这个星球上曾经存在过。
OHA的这种开发对Android开发人员是一个重大的好处。Android允许开发人员