为了账号安全,请及时绑定邮箱和手机立即绑定

Android应用基础知识

标签:
Android

最近有一个新的想法涌上心头,决定归零,重新认识一下Android,这个陌生又熟悉的“伙计”。今天就简单介绍一下它的发展与基础吧。

          1、前世今身

          Android最初并不是Google创造的,而是由Android公司创造的,该公司的创始人是Andy  Rubin(安迪.鲁宾)。最初开发这个系统的目的是为了打造一个与PC互动的智能相机网络,而后来随着智能手机市场开始爆棚,Android被改造成手机的操作系统。

          Android是一个以Linux为基础的开源操作系统,主要应用于嵌入式设备。而且,现在的Android不仅仅局限于手机,在很多领域和设备中都有Android的身影,例如:车载领域的导航系统,医疗领域的电子诊断设备,智能家居领域的电饭煲等。现在生活中可以说Android在我们身边无处不在,早已不再是个神秘的家伙了,而是大家亲密的朋友,改变着我们的生活,使我们的生活方式更加智能化、便捷化。

          2005年,Google收购了Android,Andy  Rubin也成为了Google公司的Android产品负责人;

          2007年,Google与80余家硬件制造厂商、软件开发厂商和电信运营厂商成立了OHA(开放手机联盟[Open Handset Alliance]),共同改良Android系统,也为现在的Android的广泛使用奠定了基础。同年11月5日发布了Android1.0的手机操作系统,但是这个版本的Android系统还没有赢得广泛的市场支持。

          之后,随着Android的不断改善,各大生产厂商相继推出Android系统的智能手机,Android不断地成长成为现在手机操作系统中占有率最高的手机操作系统;而且还被应用到各大领域,发挥着不俗的实力。

          Android为什么会这么流行呢?

          个人认为主要有以下几点:

                    1)Android有一个强大的“亲爹”的强力支持,在Android系统中会带有Google提供的各项服务;

                    2)Android支持的硬件种类繁多,例如:蓝牙、摄像头、GPS、无线设备、感应和压力传感器等等;

                    3)Android是由Linux基础上发展而来的,它几乎可以做电脑可以做的所有事;

                    4)Android是开放源代码的操作系统,可以为生产厂商节约成本。

          2、Android的平台架构

          Android系统是基于Linux系统发展而来,使用的开发语言主要有两种:底层采用C/C++开发,上层应用采用Java语言开发。Android系统的主要组成部分如下图

5ba3a8e40001ffa106400459.jpg

          

          Android的系统分为五个层次,由上至下分别是Applications(应用程序层)、Application  Framework(应用程序框架)、Libraries(函数库)、Android  Runtime(Android运行时)和Linux  Kernel(Linux内核)。五个层次的功能如下:

                    1)Applications(应用程序层)

                    Android包括一个核心应用程序集合(即一系列的核心应用程序),包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等等。这些应用程序通常都是Java编程语言编写的。

                    2)Application  Framework(应用程序框架)

                    Android应用程序框架提供了大量的API供Android开发者使用,使其可以编制极其丰富和新颖的应用程序。所有的应用程序其实就是一组服务和系统,包括视图(View)、内容提供者(Content  Providers)、资源管理器(Resource  Manager)、通知管理器(Notification  Manager)、活动管理者(Activity  Manager)。

                    3)Libraries(函数库)

                    Android包含一个C/C++库的集合。一般情况下,Android开发者不可以直接调用这套库集,需要通过Android应用程序框架来调用这些库集。主要包含:系统C库、媒体库、Surface Manager(界面管理)、LibWebCore、SGL、3D库、FreeType(位图和矢量字体渲染)和SQLite(数据库)。

                    4)Android  Runtime(Android运行时)

                    Android运行时由两部分组成:Android核心库集和ART。其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。

                    5)Linux  Kernel(Linux内核)

                    Android基于Linux2.6提供核心系统服务,例如安全、内存管理、进程管理、网络堆栈和驱动模型。Linux  Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。由于他的开发偏向于底层硬件,所以主要的开发语言为C/C++。(开来我以后有事情做了......)

          3、Android应用基础知识

          Android应用采用Java编程语言编写。Android  SDK工具会将所编写的代码连同任何数据和资源文件编译到一个APK中(Android的软件包,就是一个带有.apk后缀的文件)。一个APK文件包含Android应用的所有内容,它是基于Android系统的设备用来安装应用的文件。

          安装到设备后,每个Android应用都会运行在自己的安全范围内:

          1)Android操作系统是一种多用户Linux系统,其中的每个应用都是一个不同的用户;

          2)默认情况下,系统会为每个应用分配一个唯一的Linux用户ID(该ID仅由系统使用,应用并不知道)。系统为应用上的所有文件设置权限,使得只有分配给该应用的用户ID才能访问这些文件;

          3)每个进程都具有自己的虚拟机(VM),所以应用代码是与其他应用隔离的环境中运行的;

          4)默认情况下,每个应用都在其自己的Linux进程内运行。Android会在需要执行任何应用组件时启动该进程,然后不再需要该进程或系统必须为其他应用恢复内存时关闭该进程。

          Android系统可以通过这种方式实现最小权限原则(要求计算环境中的特定抽象层的每个模块如进程、用户或者计算机程序只能访问当下所必需的信息或者资源)。

          4、Android应用组件

          Android应用组件是Android应用的基本构建基块。每个组件都是一个不同的点,系统可以通过它进入您的应用。并不是所有的组件都是用户的实际入口点,有些组件相互依赖,但每个组件都以独立实体形式而存在,并发挥特定的作用。

          Android共有四种不同的应用组件类型。每种类型都服务于不同的目的,并且具有定义组件的创建个销毁方式的不同生命周期。四种应用组件类型如下所述:

          1)Activity(活动):

          Activity是Android中最基本也是最重要的一个组件,主要负责Android中的页面展示,所有能看到的界面都是Activity。Activity表示具有用户界面的单一屏幕。

          2)Service(服务):

          Service运行在Android的后台的组件,它不和用户直接交互,不提供用户界面,但是它却能够为用户提供一些服务。Android中的大部分与硬件相关的一些功能也都是通过服务来实现的。

          3)Content  Provider(内容提供程序):

          Content  Provider管理一组共享的应用数据。Android中通过Content  Provider来实现应用程序间的数据共享。所以应用程序间的数据只有通过Content  Provider来进行共享。

          4)BroadcastReceiver(广播接收器):

          BroadcastReceiver是一种用于响应系统范围广播通知的组件。尽管广播接收器不会显示用户界面,但它们可以创建状态栏通知,在发生广播事件时提醒用户。Broadcast是Android中各个应用程序之间传输消息的最基本机制,也是唯一的机制。

          

          好的,就见到介绍这么多吧。之后会对四个基本组件进行具体介绍的。“试坑”之路还很长,给自己打个气,加个油!!!

原文链接:http://www.apkbus.com/blog-815579-63168.html

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消