Paulo Dichone.

很多时候你听说过Android的机会。您甚至可能有Android智能手机,平板电脑,手表或电视。但是Android是什么?Android是一种由Google设计和开发的移动操作系统(OS)。Android OS是Linux基于内核的。那么,什么是“Linux内核”,为什么这是关于Android的那种重要细节?

简而言之,Linux内核是一个操作系统,嗯,有点 - 它部分一个操作系统。更像是一个小部分一个操作系统,但重要的。Linux内核是负责与设备的硬件连接并管理设备的CPU和内存的图层。Android OS是基于Linux内核的,因为Linux内核允许更开放和可自定义的操作系统,这是Android宣传的 - 任何设备制造商都可以采用Android操作系统并使其成为自己的操作。

全面的2021 Android开发MasterClass必威真人投注

最后更新了4月2021年

  • 388讲座
  • 各级
4.6 (2,488)

Master Modern Android API:房间数据库,ML套件人脸识别,FireStore,Firebase,地图和Android Studio IDE |由Paulo Dichone |android,java,扑波开发人员和老师

探索课程

此外,任何人都可以贡献给Android的实际源代码,并使其更好!例如,与Apple IOS和Apple iPhone不同,使Android成为开源操作系统。Android真的很开放。Android是开放式手机联盟的一部分 - 一个移动和技术领导者的社区,他们分享了改变消费者移动体验的同样愿景。Android的开放性使其成为世界上的一个移动操作系统。因此,Android OS在三星智能手机(三星Galaxy)和平板电脑上运行,亚马逊的Kindle,Fire和许多其他人。

Android作为软件堆栈

既然你了解Android的基础,让我们看看Android的整个画面。Android是一个软件堆栈,这意味着它不仅仅是一件事Android有几个层,每层都用作整体Android系统的一部分。

Android软件堆栈

以上,我们有Android软件堆栈的图形表示。让我们快速解剖每层(我们从底部开始):

Linux内核

Linux内核是Android的基础,如上所述。主要是,Linux内核处理所有低级内存和CPU管理,这是Android操作系统的一部分。在此堆栈级别,Android制造商可以为音频,相机,WiFi,蓝牙等创建硬件驱动程序,等等。大多数开发人员不会在这个级别工作。Linux内核确保在Android上运行的每个应用程序都在安全的环境中运行。这是Android工程师使用Linux内核的一个原因,而不是Android操作系统的任何其他基础核心。

为什么Android中的安全性重要?

想象一下,如果从应用来自另一个应用程序的文件的读取信息,并且没有约束的读取信息的资源有多糟糕 - 恶意,不安全的交互将抓住并将整个系统停止。

应用程序之间的信息(数据)共享是构建连接互连应用程序的重要组成部分,因此Android操作系统需要开发人员设置用户必须授予某些事情的权限。例如,对于访问手机的文件系统(内部文件),用户必须先访问访问权限。这意味着应用程序开发人员必须提前让用户知道他们正在安装的应用程序想要访问。例如,当用户安装需要访问照片库或手机摄像机的Android应用程序时,该应用程序将要求访问库或相机的许可。App用户有权授予或拒绝权限。Android中的应用程序权限确保用户对恶意软件和软件病毒的保护。

硬件抽象层(HAL)

此级别位于Linux内核之上。HAL是设备的物理功能(硬件)与Java应用程序编程接口(API)框架通信(稍后更多),因此开发人员可以访问设备的音频/扬声器,蓝牙,相机,传感器等。

Android运行时(艺术品)

软件堆栈中有两层,但让我们首先关注Android运行时(ART)层。艺术管理Android操作系统。它与几个Android库一起使用,这促进了艺术品的工作。想到这一点:对于Android操作系统在内部运行的每个应用程序,有一个独特的“沙箱” - 这是艺术的 - 这负责单独管理该应用程序的生活。

本机C / C ++库

此堆栈托管许多核心Android系统组件和服务,如艺术品。这些组件全部使用本机代码(C和C ++编程语言)构建。例如,对于您的设备打开浏览器并显示Web内容,在内部使用WebKit库。如果您想听音乐或在手机上录制视频 - 媒体框架处理该媒体框架。

申请框架

应用程序框架是您将最常使用的Android开发人员(或有抱负的Android Developer)的图层。在此级别,开发人员通过通过Google Android Team的API类进行拨打来访问底层Android系统。

换句话说,Android团队为您建立了一种方式,为您编写与Android软件堆栈的所有下层连接的代码,使开发人员的工作更简单。想象一下,您想要构建一个跟踪用户位置的Android应用程序。您必须确实所做的就是使用位置API。

系统应用程序

每个Android设备都将始终配备预先安装的应用程序,如拨号器,电子邮件应用程序,日历,相机,浏览器等。这些是核心应用程序。Android的美丽是一切都在一起工作。

例如,如果您正在构建一个要发送消息的应用程序,您所要做的就是调用已安装在设备上的消息传递应用程序!无需自己制作唯一的消息传递应用程序。此外,Android系统将允许用户选择哪个消息传递应用程序用于发送该消息。这将是自动的。只需指定(在您的应用程序中)您要发送消息,而Android操作系统会为您提供照顾。

Android版本

Android OS有许多味道。这是它被打开的直接结果。尽管制造商可以自定义Android操作系统并在各种设备上安装它,但Android的核心保持不变。

谷歌,创造者和Android的主要维护者拥有最纯粹的Android版本,原始软件是Google的预期。因此,大多数社区(Android开发人员)更喜欢这个版本(通常被称为“股票和roid”)以其他任何东西。

在内部,谷歌不断改进Android。自第一个Android发布以来,Android经历了许多重大变化。Google有一个命名系统,可以跟踪所有Android版本版本。他们使用:

  1. 代码名称
  2. 版本号
  3. API级别

前两个Android版本没有代码名称,但它们具有版本号和API级别。这是命名如何看的例子:

第一个Android版本释放:

第二个Android版本:

快进少数迭代:

每个Android版本都在上一个版本上构建。因此,Android Pie将具有新功能,看起来比上次的Android版本更好。作为Android成熟和发展,开发工具所以更好的代码编辑器,提供更好的开发流程和测试必威真人投注,如Android Studio集成开发环境(IDE)。

在第一个Android版本(1.0到1.1)中,操作系统仍然是正在进行的工作。然后,用户界面和设备的硬件返回。但是,Android手机包括Gmail,地图,日历和YouTube的流行Google应用程序的早期版本。在事物的开发方必威真人投注面,当Android 1.0于2008年9月发布时,第一个Android软件开发套件(SDK)也被发布。SDK是一个工具和库的集合,使开发人员能够为Android平台等特定平台开发软件(应用程序)。在早期的Android版本中,主要焦点是将Android作为可靠的移动操作系统和稳定的开发平台。必威真人投注这将吸引开发人员来构建Android应用程序。自版本1.0以来,Android已经走了很长的路。

Android的演变是惊人的,考虑到不到10年,它从一个小型启动项目到世界上最使用过的移动操作系统。成长和改善继续快速速度。更多开发人员已经构建了Android应用程序。

许多公司和初创公司利用Android开发,以创造令人难以置信的应用和游戏,这些群众在全球范围内使用数百必威真人投注万人。这只是一个开始 - 世界上大多数人口仍然没有在线,这意味着Android就在其初期阶段,因为更多人通过移动设备连接。

Android和iPhone之间的差异

iPhone运行iOS操作系统,它是专有的软件 - 意思是它不是开源,只有Apple可以修改操作系统。此外,潜在的哲学在iPhone和Android之间是不同的。Android为每个人开放,而iPhone和iOS操作系统是一个更封闭的利基平台。这并不是说一个比另一个更好;它们与软件如何运作和外观不同。

iPhone拥有独特的结构设计,提供比Android设备的不同用户体验。差异不仅在化妆品级别运行;他们更深。例如,要为iPhone开发应用程序,您必须使用Apple的编程语言和工具。用于为iPhone创建应用的主要编程语言是Objectial-C,由Apple创建和维护了一个专有的编程语言。最近,他们开发了另一种称为SWIFT的编程语言来取代目标-C。SWIFT现在是开源的,但核心IOS架构仍然是专有的。

Android使用了流行的开源编程语言Java,并配合其开源核心系统。虽然谷歌团队还通过了Kotlin作为Android开发的替代编程语言,但Java仍然是主要的编程语言。必威真人投注

有些用户更喜欢Android的整体外观和感觉,这取决于制造商。其他人更喜欢iPhone的用户界面和用户体验。iPhone在整个方面具有统一和独特的外观,这使得它比Android更能可预测,但Android更加定制和开放。

Android应用程序和Google Play Marketplace

Android设备运行Android应用程序,专为Android平台而构建。Google Play是一个App Store(不与Apple的App Store混淆),Android开发人员可以发布他们的应用程序和Android用户可以下载Android应用程序。虽然最初谷歌仅限于Android应用程序,但它已经过渡(多年来)到集线器,了解Android用户可以消耗的所有数字内容。这包括数字音乐,电子书,电影等。

Google Play商店上的Android应用程序适用于质量和安全性。Android是一个开放式平台,Bad Actors可以通过创建携带恶意软件和垃圾邮件的应用程序轻松滥用它。这就是为什么Google Play Store团队在工作中始终努力清理不良应用程序,并确保市场中只允许合格的应用程序。

许多其他Android应用市场(如Amazon Appstore)安装在Amazon的基于Android的设备上,如亚马逊火手机和亚马逊Kindle Fire。三星Galaxy商店预装在所有三星Android设备和其他一些。此外,其他第三方Android应用商店提供了更多的应用程序。使用替代的Android应用商店与Android Ecosystem的开放性说话;但是,用户无法保证他们正在安装的应用程序不是恶意的。

为每个人开放的陷阱

Android的开放性使Android成为在许多设备和小工具上运行的充满活力的移动操作系统(其中一些您不知道在Android上运行)。然而,所有自由都有高价格 - 碎片化

碎片化在Android意味着在Android中没有一致的外观和感觉,因为任何制造商和电话载体都可以更改整个用户界面以满足他们的需求。Android为这一原因接收了很多批评,特别是来自必须为这么多Android版本构建和支持应用程序的开发人员。

由于开发人员为不同设备的屏幕大小写代码可能是令人沮丧的,因为谷歌(和开发人员社区)的Android团队一直在努力制作工具,以帮助解决Android碎片问题,至少在开发方面。必威真人投注例如,Android JetPack库有助于开发人员遵循最佳实践,减少样板代码,并编写跨Android版本和设备之间的编写代码。同样,材料设计库提供了一套设计规则,意味着提供Android统一的用户体验。

这些和许多其他图书馆和工具给出了开发人员和制造商一些救济,但仍然有很多工作要结束Android碎片。不幸的是,它可能是Android的情况,因为它是开放和自由的,将始终分散。这只是一个开放平台的性质。Android碎片问题抛开,Android仍然是世界上最强大,可靠和最着名的移动OSS之一。这是任何人都可以使用。这是Android的美丽。

总之:Android真棒。开发Android应用程序更好。

Android是开发应用程序的优秀平台。Google Android团队和Android开发人员社区创建了一个卓越的工具,使得更容易开始建造Android应用程序。

在Android的开始阶段,开发Android应用程序需要大量的开发环境,并没有官方IDE。必威真人投注Android开发人员或有抱负的Android开发人员必须使用Eclipse,这不是最好的Android开发IDE,因为它是笨重的,并且缺乏适当的Android工具。必威真人投注

快进了几年,现在有一个名为Android Studio的官方开发工具,附带一切,您将需要立即开始发展。必威真人投注Android Studio拥有所有您需要设计,代码,测试和发布Top-Notch Android应用程序到Google Play商店所需的一切。

为Android平台开发是有益的,因为您知道您的应用程序将达到更大的受众,谁知道,甚至可以更好地改变数百万的生命。这就是Android在其核心 - 一个移动操作系统,一个设备和每个人的移动开发平台。必威真人投注

Android开发的顶级课程必威真人投注

完整的Android Oreo开发人员课程 - 构建23个应用程序!
Rob Percival,Nick Walter,Rob Percival的Codestars
4.4 (15,442)
畅销书
Android应用程序开必威真人投注发MasterClass使用Kotlin
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院,David Reidy
4.4 (4,564)
完整的Android 10和Kotlin开发MasterClass必威真人投注
Denis Panjuta,Tutorials.eu by Denis Panjuta
4.5 (3,447)
畅销书
全面的2021 Android开发MasterClass必威真人投注
Paulo Dichone |android,java,扑波开发人员和老师
4.6 (2,485)
Google地图SDK for Android与Kotlin |硕士课
Stefan Jovanovic.
4.8 (49)
畅销书
依赖于Android用匕首2和剑柄
Vasiliy Zukanov.
4.8 (1,308)
畅销书
Kotlin for Android o开必威真人投注发:从初学者到高级
atil samancioglu,乔法利斯,乔Parys支持
4.6 (1,484)
Android Multithreading MasterClass.
Vasiliy Zukanov.
4.8 (493)
收视率最高

更多Android开发课程必威真人投注

Android开必威真人投注发学生还学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示

Paulo Dichone的课程

Java MasterClass - 初学者到专家指南:Java&JavaFx
Paulo Dichone |android,java,扑波开发人员和老师
4.5 (1,068)
Java设计模式:完整的MasterClass - 21模式
Paulo Dichone |android,java,扑波开发人员和老师
3.8 (559)
Flutter&Dart - 完整的浮动应用程序开发课程必威真人投注
Paulo Dichone |android,java,扑波开发人员和老师
4.5 (4,228)
Flutter e Dart - Curso Complifo deCriaçãode apps
Paulo Dichone |android,java,扑波开发人员和老师
4.1 (1,005)
GraphQL和Apollo与Android - 从新手到专家
Paulo Dichone |android,java,扑波开发人员和老师
4.1 (47)
D3.js - 完整的开发人员数据可视化指南
Paulo Dichone |android,java,扑波开发人员和老师
4.2 (238)
全面的2021 Android开发MasterClass必威真人投注
Paulo Dichone |android,java,扑波开发人员和老师
4.6 (2,488)
AWS AppSync和React&GraphQL的放大 - 完整指南
Stephane Maarek |AWS认证云从业者,解决方案架构师,开发商,Paulo Dichone |android,java,扑波开发人员和老师
4.5 (812)
畅销书
grpc [node.js] masterclass:构建现代API和微服务
Stephane Maarek |AWS认证云从业者,解决方案架构师,开发商,Paulo Dichone |android,java,扑波开发人员和老师
4.7 (124)
Tornadofx - 使用Kotlin构建JavaFX应用程序
Paulo Dichone |android,java,扑波开发人员和老师
4.6 (54)
收视率最高
Angulardart - 使用Angular&Dart构建动态Web应用程序
Paulo Dichone |android,java,扑波开发人员和老师
4. (31)
完整的中间Android MasterClass
Paulo Dichone |android,java,扑波开发人员和老师
4.3 (53)

Paulo Dichone课程|android,java,扑波开发人员和老师