保罗Dichone

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

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

全面2021 Android开发大师班betwayapp下载安装

2021年4月最后更新

  • 388讲座
  • 各级
4.6 (2404)

精通现代Android API: ROOM数据库,ML Kit人脸识别,Firestore, Firebase,地图和Android Studio IDE |Android, Java, Flutter开发者和教师

探索课程

此外,任何人都可以为包含Android的实际源代码做出贡献,让它变得更好!这使得Android成为一个开源操作系统,不像苹果的iOS和苹果的iPhone。Android是真正开放的。Android是开放手机联盟的一部分,这是一个由移动和技术领导者组成的社区,他们有着改变消费者移动体验的共同愿景。Android的开放性使它成为世界上第一大移动操作系统。因此,Android操作系统运行在三星智能手机(三星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 Runtime (ART)层。ART管理Android操作系统。它与几个有助于ART工作的Android库一起工作。这样想:对于Android操作系统内部运行的每个应用程序,都有一个独特的“沙盒”——ART——负责单独管理应用程序的生命周期。

本机C / c++库

这个堆栈承载了许多核心的Android系统组件和服务,比如ART。这些组件都是使用本地代码(C和c++编程语言)构建的。例如,为了让你的设备打开浏览器并显示web内容,Webkit库正在内部使用。如果你想在手机上听音乐或录制视频,媒体框架可以处理这些。

应用程序框架

应用程序框架是作为Android开发者(或有抱负的Android开发者)使用最多的一层。在这个级别上,开发者可以通过谷歌Android团队的API类进行调用来访问底层Android系统。

换句话说,Android团队为您构建了一种编写代码的方法,该代码将与Android软件堆栈的所有底层接口,使开发人员的工作更加简单。假设您想要创建一个跟踪用户位置的Android应用程序。您必须做的就是使用位置API。

系统应用程序

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

例如,如果你正在构建一个应用程序来发送消息,你所要做的就是调用已经安装在设备上的消息应用程序!不需要自己制作一个独特的消息应用程序。此外,Android系统将允许用户选择使用哪个消息应用程序来发送消息。这将是自动的。只需指定(在你的应用中)你想要发送一条消息,Android OS会为你处理它。

安卓版本

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

谷歌是Android的创造者和主要维护者,它拥有最纯粹的Android版本,也就是谷歌所希望的原始软件。因此,大多数社区(Android开发者)更喜欢这个版本(通常称为“Stock Android”)。

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

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

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

第一个Android版本发布:

第二个Android版本:

快进少数迭代:

每个Android版本都建立在前一个版本的基础上。例如,Android Pie将拥有新的功能,并且比上一个Android版本看起来更好。随着Android的成熟和发展,开发工具也在发展——更好的代码编辑器,提供更好的开发betwayapp下载安装流程和测试,比如Android Studio集成开发环境(IDE)。

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

Android的发展是惊人的,在不到10年的时间里,它从一个小的初创项目变成了世界上使用最多的移动操作系统。增长和改进继续以快速的步伐进行。越来越多的开发者开始开发Android应用程序。

许多公司和初创公司已经利用Android开发开发出了令人难以置信的应用程序和游戏,供全球数百万人使用。betwayapp下载安装而这仅仅是个开始——世界上大多数人还没有上网,这意味着随着越来越多的人通过移动设备连接,Android还处于起步阶段。

Android和iPhone之间的差异

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

iphone拥有独特的结构设计,提供了不同于Android设备的用户体验。这种差异不仅存在于外观层面;他们跑更深。例如,要为iPhone开发应用程序,你必须使用苹果的编程语言和工具。用于为iPhone创建应用程序的主要编程语言是Objective-C,这是一种由苹果创建和维护的专有编程语言。最近,他们开发了另一种编程语言Swift来取代Objective-C。Swift现在是开源的,但核心的iOS架构仍然是私有的。

Android使用了一种流行的开源编程语言Java来配合它的开源核心系统。尽管谷歌团队也采用了Kotlin作为Android开发的替代编程语言,但Java仍然是主要的编程语言。betwayapp下载安装

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

Android应用程序和Google Play Marketplace

Android设备运行专门为Android平台开发的Android应用程序。谷歌Play是一个应用商店(不要与苹果的应用商店相混淆),Android开发者可以在这里发布他们的应用,Android用户可以下载Android应用。虽然谷歌Play最初只提供Android应用,但经过多年的发展,它已经转变为Android用户可以消费的所有数字内容中心。这包括数字音乐、电子书、电影等等。

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

许多其他Android应用程序市场,如亚马逊应用商店,都安装在亚马逊的Android设备上,如亚马逊Fire Phone和亚马逊Kindle Fire。三星Galaxy商店预装在所有三星安卓设备和一些其他设备上。此外,其他第三方Android应用商店提供了更多的应用。使用替代的Android应用商店说明了Android生态系统的开放性;然而,用户不能保证他们安装的应用程序不是恶意的。

为每个人开放的陷阱

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

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

因为针对不同设备的屏幕大小编写代码会让开发者感到沮丧,谷歌的Android团队(以及开发者社区)一直在努力创造工具来帮助解决Android分裂问题,至少是在开发方面。betwayapp下载安装例如,Android Jetpack库帮助开发人员遵循最佳实践,减少样板代码,编写跨Android版本和设备一致工作的代码。同样,材料设计库提供了一套设计规则,旨在给Android一个统一的用户体验。

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

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

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

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

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

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

Android开发的顶级课程betwayapp下载安装

依赖于Android用匕首2和剑柄
Vasiliy Zukanov.
4.8 (1266)
畅销书
Kotlin for Android o开betwayapp下载安装发:从初学者到高级
atil samancioglu,乔法利斯,乔Parys支持
4.6 (1475)
Android建筑MasterClass.
Vasiliy Zukanov.
4.7 (857)
Android Multithreading MasterClass.
Vasiliy Zukanov.
4.8 (475)
收视率最高
Pro Android:现代Android架构- MVVM MVP MVC
Catalin Stefan.
4.6 (275)
Geofecting +与kotlin的Android的SDK + SDK | MasterClass
Stefan约万诺维奇
4.8 (18)
新的
完整的Android N开发人员课程
Rob Percival, Marc Stock, Codestars by Rob Percival
4.4 (27,750)

更多Android开发课程betwayapp下载安装

Android开betwayapp下载安装发的学生也在学习

让你的团队。领导行业。

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

请求演示

Paulo Dichone的课程

Java MasterClass - 初学者到专家指南:Java&JavaFx
Android, Java,颤振开发者和教师
4.5 (1,047)
Java设计模式:完整的MasterClass - 21模式
Android, Java,颤振开发者和教师
4.1 (547)
Flutter&Dart - 完整的浮动应用程序开发课程betwayapp下载安装
Android, Java,颤振开发者和教师
4.5 (4168)
扑镖- Curso Completo de Criação de应用程序
Android, Java,颤振开发者和教师
4.4 (1001)
GraphQL和Apollo与Android - 从新手到专家
Android, Java,颤振开发者和教师
4.2 (45)
D3.js - 完整的开发人员数据可视化指南
Android, Java,颤振开发者和教师
4.4 (236)
全面2021 Android开发大师班betwayapp下载安装
Android, Java,颤振开发者和教师
4.6 (2404)
AWS应用同步和放大与反应和GraphQL -完整指南
Stephane Maarek |AWS认证解决方案架构师和开发人员助理,Paulo Dichone |android,java,扑波开发人员和老师
4.5 (769)
畅销书
grpc [node.js] masterclass:构建现代API和微服务
Stephane Maarek |AWS认证解决方案架构师和开发人员助理,Paulo Dichone |android,java,扑波开发人员和老师
4.7 (118)
用Kotlin构建JavaFX应用程序
Android, Java,颤振开发者和教师
4.4 (52)
AngularDart -用Angular和Dart构建动态Web应用
Android, Java,颤振开发者和教师
4. (31)
完整的中级Android大师类
Android, Java,颤振开发者和教师
4.8 (46)
收视率最高

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