温馨提示×

温馨提示×

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

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

Android的核心组件有哪些

发布时间:2021-06-29 14:43:44 来源:亿速云 阅读:394 作者:Leah 栏目:编程语言

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