Android基础

本文详细解读了Android四大组件:ContentProvider、Activity、Service和BroadcastReceiver的使用方法及应用场景,包括它们的生命周期、数据交互流程和启动模式。同时介绍了如何在Android应用中灵活运用这些组件以实现高效的数据管理和应用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android四大组件:ContentProvider Activity Service BroadcastReceiver


ContentProvider :继承ContentProvider 并覆盖相应的insert,delete,update,query方法,这里方法里面用拼接的数据库查询语句(其实就是省略了重复的关键字)的相应方法比较方便。Content Provider的入口需要在AndroidManifest.xml中配置

<provider android:name=”MyContentProvider” android:authorities=”包名.类名(该类继承了ContentProvider” />

 

Uri:( 因为Uri代表了要操作的数据,所以我们很经常需要解析Uri,并从Uri中获取数据)

 Uri uri = Uri.parse("content://com.changcheng.provider.contactprovider/contact")

      在Content Provider中使用的查询字符串有别于标准的SQL查询。很多诸如select, add, delete, modify等操作我们都使用一种特殊的URI来进行,这种URI由3个部分组成, “content://”,以及 代表数据的路径,和一个可选的标识数据的ID。以下是一些示例URI:

      content://media/internal/images  这个URI将返回设备上存储的所有图片
      content://contacts/people/  这个URI将返回设备上的所有联系人信息
      content://contacts/people/45 这个URI返回单个结果(联系人信息中ID为45的联系人记录)


Acticity:生命周期:onCreate() ,onStart(), onResume() ,onPause() ,onStop() , (onStop()之后可能有onRestart() ),onDestory(),具体如图:



Android系统相当于servlet容器(实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方法会在合适的时间被servlet容器调用。其实android中的Activity运行机制跟servlet有些相似之处),Activity相当于一个servlet,我们的Activity处在这个容器中,一切创建实例、初始化、销毁实例等过程都是容器来调用的,这也就是所谓的“Don't call me, I'll call you.”机制。

Activity的激活通过创建Intent意图再 激活,又分为显示激活setActivity(intent)和隐式激活(setXxx(根据AndroidManifest中Intent-Filter进行设置))。

多个Activity的切换通过(Intent意图实现),类比网页切换通过Servlet中的request.

Intent 还可以进行不同Activityde数据传递:

(从前往后传)前面那个Activity通过setXxx,后面那个Activity通过getIntent(),getXxx()获取。

( 从后往前传)前面那个Activity通过startActivityForResult()设置意图,后面那个Activity再创建Intent意图。


Activity的启动模式:Activity启动模式详解


Service :service 完全解析


BroadcastReceiver:BroadcastReceiver详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值