温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android的核心组件是什么

发布时间:2022-04-08 16:20:22 来源:亿速云 阅读:518 作者:iii 栏目:编程语言

本文小编为大家详细介绍“Android的核心组件是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android的核心组件是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

Activity  

Activity 是 Android 应用程序核心组件中最基本的一种,Activity是用于处理UI相关业务的,比如加载界面、监听用户操作事件。是用户和应用程序交互的窗口。 

在 Android 应用程序中,一个 Activity 通常对应一个单独的视图。一个 Android 应用程序是由一个或多个 Activity 组成的,这些 Activity 相当于 Web 应用程序中的网页,用于显示信息,并且相互之间可以进行跳转。和网页跳转不同的是,Activity 之间的跳转可以有返回值。 

Activity 是由 Android 系统进行维护的,它有自己的生命周期,即“产生、运行、销毁”,但是在这个过程中会调用许多方法,主要包括7个生命周期方法,创建 onCreate()、激活 onStart()、恢复 onResume()、暂停 onPause()、停止 onStop()、销毁 onDestroy()和重启 onRestart() 等。详细流程如下图:

 Android的核心组件是什么

创建一个Activity需继承自android.app.Activity这个类,重写onCreate(),在onCreate()里面调用setContentView(参数)来加载布局,参数就是布局文件。配置则需要在清单文件的Application节点下面注册Actvitiy,如果要首先启动该Activity则添加带有category节点且值为LAUNCHER的intent-filter节点,清单文件的配置如下。

<application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
       <activity
           android:name=".MainActivity"
           android:label="@string/app_name" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>

Service

Service 是一种类似于 Activity 但是没有视图的程序,它没有用户界面,可以在后台运行很长时间,相当于操作系统中的一个服务,简单个人理解为他保持程序在后台运行。

Service还有一个作用就是提升进程(每一个应用就是一个进程)的优先级,进程的优先级指的是在Android系统中,会把正在运行的应用确定一个优先级,当内存空间不足时,系统会根据进程的优先级清理掉一部分进程占用的内存空间,以获得足够的内存空间以供新启用的应用运行。

Android 中 Service有两种定义,即本地 Service 和远程 Service。本地 Service 是只能由承载该 Service 的应用程序访问的组件,而远程 Service 是供在设备上运行的其他应用程序远程访问的 Service。  

通过 Context.startService(Intent service) 可以启动一个 Service,其中intent定义方法与跳转Activity类似,只需把Actvity类换成Service类即可。其生命周期为启动时onCreate()–>onStartCommand()–>销毁时onDestroy(), 反复调用startService()只会导致Service反复执行onStartCommand()。

通过 Context. bindService() 可以绑定一个 Service。调用bindService()方法可以实现Activity与Service的绑定,调用unbindService()可以解除绑定。在Activity被销毁之前,必须解除与Service的绑定。生命周期为onCreate() -> 当第1次绑定时执行– onBind() -> 当第1次绑定时执行– onDestroy() -> 当解除绑定时执行。

下图为两种状态的Service生命周期说明:

 Android的核心组件是什么

BroadcastReceiver

BroadcastReceiver 的意思是“广播接收者”,顾名思义,它用来接收来自系统和其他应用程序的广播,并做出回应。所以ContentProvider可以将应用程序自身的数据对外(对其它应用程序)共享,使得其它应用可以对自身的数据进行增、删、改、查操作。

在 Android 系统中,当有特定事件发生时就会产生相应的广播。广播体现在方方面面。举例说,当开机过程完成后,系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时,系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度等。  

BroadcastReceiver 的 2 种注册方式:

  • 在 AndroidManifest. xml 中进行静态注册;

  • 在运行时的代码中使用 Context.registerReceiver() 进行动态注册。

只要注册了 BroadcastReceiver,即使对应的事件广播来临时应用程序并未启动,系统也会自动启动该应用程序对事件进行处理。另外,用户还可以通过 Context.sendBroadcast() 将自己的 Intent 对象广播给其他的应用程序。  

ContentProvider

广播接收器,顾名思义这是用于接收应用发送的广播的系统组件。文件、数据库等数据在 Android 系统内是私有的,仅允许被特定应用程序直接使用。在两个程序之间,数据的交换或共享由 ContentProvider 实现。广播是一种1对多的通信方式,即存在1个发送方,若干个接收方。  

ContentProvider 类实现了一组标准方法的接口,从而能够让其他的应用保存或读取 ContentProvider 提供的各种数据类型。  

Intent

Intent 并不是 Android 应用程序四大核心组件之一,但是其重要性无可替代。Android 应用程序核心组件中的三大核心组件 —— Activity、Service、BroadcastReceiver。通过消息机制被启动激活,而所使用的消息就是 Intent。Intent 是对即将要进行的操作的抽象描述,承担了 Android 应用程序三大核心组件相互之间的通信功能,所以是十分重要的。  

读到这里,这篇“Android的核心组件是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI