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系统的主要组成部分如下图

          
          Android的系统分为五个层次,由上至下分别是Applications(应用程序层)、Application  Framework(应用程序框架)、Libraries(函数库)、AndroidRuntime(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中各个应用程序之间传输消息的最基本机制,也是唯一的机制。
          
          好的,就见到介绍这么多吧。之后会对四个基本组件进行具体介绍的。“试坑”之路还很长,给自己打个气,加个油!!!



















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员丶星霖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值