Android 入门知识点梳理之一 四大组件

四大组件

学 android 也有快一年了,打算好好梳理下自己学过的知识,方便巩固、复习

“android”的图片搜索结果


Android 四大组件


Android四大组件 --- Activity

生命周期:onCreate() -> onStart() - > onResume() -> onPause() -> onStop() -> onDestroy()

  1. Activity与Fragment生命周期关系
  2. Activity与menu创建先后顺序

  3. Activity的启动模式

详情请参照 :点击跳转 https://blog.csdn.net/qq_43377749/article/details/90716664

“Android activity”的图片搜索结果


Android四大组件 --- Service

调用者和service在同一个进程里,所以运行在主进程的main线程中。所以不能进行耗时操作,可以采用在service里面创建一个Thread来执行任务。service影响的是进程的生命周期,讨论与Thread的区别没有意义。
任何 Activity 都可以控制同一 Service,而系统也只会创建一个对应 Service 的实例

三种类型:

  1. 普通 Service
  2. RomateService
  3. IntentService

基本的 Service :点击跳转 https://blog.csdn.net/qq_43377749/article/details/90727638

RemoteService : 点击跳转 https://blog.csdn.net/qq_43377749/article/details/90740356

“Android service”的图片搜索结果


Android四大组件 --- BroadcastReceiver

广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高,但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播;然而有序广播是按照接收者声明的优先级别(声明在intent-filter元素的android:priority属性中,数越大优先级别越高,取值范围:-1000到1000。也可以调用IntentFilter对象的setPriority()进行设置),被接收者依次接收广播。如:A的级别高于B,B的级别高于C,那么,广播先传给A,再传给B,最后传给C。A得到广播后,可以往广播里存入数据,当广播传给B时,B可以从广播中得到A存入的数据。

具体使用-》 点击跳转-》 https://blog.csdn.net/qq_43377749/article/details/90739370

“Android broadcastReceiver”的图片搜索结果


Android四大组件 --- ContentProvider

contentprovider是android四大组件之一的内容提供器,它主要的作用就是将程序的内部的数据和外部进行共享,为数据提供外部访问接口,被访问的数据主要以数据库的形式存在,而且还可以选择共享哪一部分的数据。这样一来,对于程序当中的隐私数据可以不共享,从而更加安全。contentprovider是android中一种跨程序共享数据的重要组件。

关于 contentprovider 暂时还没有左总结,打算以后复习好 SQLite 时一起讲,所以这里用文字描述下我个人的理解

首先我觉得 contentprovider 这东西可以粗略的分为两类:

  1. 系统自带 contentprovider
  2. 自定义 contentprovider

系统自带 contentprovider

顾名思义,这类 contentprovider 是系统自带的,就好比 相册 音频 通讯录 这些由系统提供的信息,系统已经内置了 contentprovider 我们只需要进行调用就行,比如相册这个:如何从相册读取图片


另一种就是自定义的 ContenProvider 对于这种 ContenProvider 我觉得使用最经常的地方就在于本地数据库的连接,我们经常需要是我们的应用与 Android 内置数据库进行交互,使用方法也很明了

  1. 定义一个 MyContentProvider 类继承 ContenProvider
  2. 在 Mainfest.xml 中注册这个 ContenProvider
  3. 重写 ContenProvider 中 delete insert update ... 等方法

我打算在总结 SQLite 时也好好归纳下,这种用法的要点和注意事项,如果大家对 ContenProvider 的使用很感兴趣,也可以看看这篇博客,写得非常详尽:点击跳转 https://www.jianshu.com/p/f5ec75a9cfea


四大组件大致就介绍到这里,如果对大家有所帮助,欢迎点赞呦~ 么么哒~~

猜你喜欢

转载自blog.csdn.net/qq_43377749/article/details/90705230