安卓开发-03-四大组件

文章目录

  • 一、四大组件
  • 二、组件一--基本程序单元activity
    • activity概述
    • 创建,配置activity
    • 启动和关闭activity
    • 多个activity使用
    • 使用Fragment
      • 生命周期
      • 创建fragment:extends Fragment
      • 在activity中添加Fragment
  • 三、组件二–应用核心Intent
    • 概念
    • Intent对象属性
    • Intent种类
      • 显式Intent
      • 隐式Intent
    • Intent过滤器
  • 四、Service服务
    • 概念
    • 分类
    • Service基本用法
      • 创建与配置
      • 启动
      • 停止
      • 生命周期
    • Bound Service
      • 生命周期
      • 基本步骤
    • Intent Service的基本用法
  • 五、消息、通知和广播
    • 通过Toast显示消息提示框
    • 使用AlertDialog实现对话框
      • 带取消、确定按钮的对话框
      • 列表对话框
      • 带单选列表项的列表对话框
      • 带多选列表项的列表对话框
      • 总结
    • 使用Notification显示通知
    • 使用BroadcastReceiver

一、四大组件

Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器。

二、组件一–基本程序单元activity

Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
在一个android应用中,一个Activity通常就是一个单独的屏幕,一个屏幕中有多个组件它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

activity概述

四个状态:运行状态,暂停状态,停止状态,销毁状态

生命周期
安卓开发-03-四大组件_第1张图片

创建,配置activity


④在主文件Android Manifest. xmI进行相应配置
安卓开发-03-四大组件_第2张图片

启动和关闭activity

启动分为两种方式:入口acvtivity和其他activity
入口通过配置intent过滤器
安卓开发-03-四大组件_第3张图片
其他:通过startactivity启动
安卓开发-03-四大组件_第4张图片
关闭:finish()
安卓开发-03-四大组件_第5张图片
PS:onCreate(null)可以实现刷新当前activity

多个activity使用

多个activity之间交换数据:使用Bundle在activity之间交换数据
安卓开发-03-四大组件_第6张图片
Bundle是键值对的组合,通过key找到value值
安卓开发-03-四大组件_第7张图片
传入数据

接收数据
安卓开发-03-四大组件_第8张图片
调用另一个activity并返回结果:startActivityForResult()方法
在这里插入图片描述
传入数据:
安卓开发-03-四大组件_第9张图片
接受数据
在这里插入图片描述
安卓开发-03-四大组件_第10张图片

使用Fragment

Fragment是Android开发中的一个重要组件,它可以理解为Activity的一部分,用于构建更灵活的用户界面。

1. 界面模块化:Fragment可以被看作是一个独立的界面模块,可以在一个Activity中嵌入多个Fragment,实现界面的模块化开发和重用。

2. 界面分割:使用Fragment可以将一个大的界面拆分成多个小的片段,每个Fragment负责自己的布局和逻辑,使得应用在不同的设备屏幕尺寸上能够更好地适配。

3. 生命周期管理:Fragment具有自己的生命周期,可以在不同的生命周期方法中执行特定的操作,例如初始化数据、响应用户交互以及保存和恢复状态等。

4. 布局灵活性:Fragment具有自己的布局文件,可以通过添加不同的Fragment来动态改变界面布局,以适应不同的需求和设备。

5. 交互通信:Fragment可以通过Activity作为中间人与其他Fragment或Activity进行通信,实现数据传递和事件分发。

6. 后退栈管理:Fragment可以与Activity的后退栈进行交互,实现类似Activity的返回和导航功能。

在activity中描述行为或用户界面,可以在多个activity中重用frament,也可在一个activity中使用多个frament建立多个UI面板

生命周期

activity的下属,activity停止,fragment随之停止
安卓开发-03-四大组件_第11张图片

创建fragment:extends Fragment

安卓开发-03-四大组件_第12张图片

在activity中添加Fragment

直接在布局文件中添加Fragment
安卓开发-03-四大组件_第13张图片
实际情况一般是动态添加Fragment:在activity运行时添加Fragment
安卓开发-03-四大组件_第14张图片

三、组件二–应用核心Intent

概念

安卓开发-03-四大组件_第15张图片
三个组件利用Intent进行组件之间的通信和数据传递。
安卓开发-03-四大组件_第16张图片

Intent对象属性

安卓开发-03-四大组件_第17张图片
通过设置component name启动activity
在这里插入图片描述
action和data:行为和传递的数据
action通过安卓给定的常量进行设置
data需要和action联合使用,不同常量data值不同
安卓开发-03-四大组件_第18张图片
安卓开发-03-四大组件_第19张图片
注意安卓需要设置运行打电话和发送短息的权限:
在这里插入图片描述
action和category:调用系统的activity。
category:描述执行动作的类别,通过安卓给定的常量进行设置
安卓开发-03-四大组件_第20张图片
Extras:提供附加信息,利用键值对进行保存,用于多个activity之间进行数据交换
Flags:指示安卓程序如何启动activity,以及启动以后如何处理
安卓开发-03-四大组件_第21张图片

Intent种类

显式Intent

明确知道目标组件的名称
安卓开发-03-四大组件_第22张图片
创建方法
在这里插入图片描述

隐式Intent

创建时不指定组件名称,只是定义要执行的action,category和data,自动匹配对应的目标组件
安卓开发-03-四大组件_第23张图片
安卓开发-03-四大组件_第24张图片

区别:
安卓开发-03-四大组件_第25张图片

Intent过滤器

根据某一个Intent中的action,category和data属性,对适合接受这个Intent的组件进行匹配和筛选的机制,应用于使用隐式Intent启动action的时候
安卓开发-03-四大组件_第26张图片
设置过滤器:通过标记在AndroidManifest.xml文件中配置
安卓开发-03-四大组件_第27张图片
常用两种过滤器
安卓开发-03-四大组件_第28张图片

四、Service服务

概念

能够在后台长时间运行,并且没有用户界面的应用程序组件。例如在后台下载文件,播放歌曲等

分类

安卓开发-03-四大组件_第29张图片

Service基本用法

创建与配置

安卓开发-03-四大组件_第30张图片

安卓开发-03-四大组件_第31张图片
需要重写这几个方法

启动

安卓开发-03-四大组件_第32张图片

停止

安卓开发-03-四大组件_第33张图片

生命周期

安卓开发-03-四大组件_第34张图片

Bound Service

用于和service和activity之间通信

生命周期

安卓开发-03-四大组件_第35张图片

基本步骤

安卓开发-03-四大组件_第36张图片
安卓开发-03-四大组件_第37张图片
安卓开发-03-四大组件_第38张图片

Intent Service的基本用法

安卓开发-03-四大组件_第39张图片

五、消息、通知和广播

通过Toast显示消息提示框

特点:
	没有控制按钮
	不会获得焦点
	过一会儿自动消失	

安卓开发-03-四大组件_第40张图片
在这里插入图片描述

使用AlertDialog实现对话框

安卓开发-03-四大组件_第41张图片

带取消、确定按钮的对话框

列表对话框

安卓开发-03-四大组件_第42张图片

带单选列表项的列表对话框

安卓开发-03-四大组件_第43张图片

带多选列表项的列表对话框

总结

安卓开发-03-四大组件_第44张图片

使用Notification显示通知

安卓开发-03-四大组件_第45张图片

安卓开发-03-四大组件_第46张图片

使用BroadcastReceiver

安卓开发-03-四大组件_第47张图片
安卓开发-03-四大组件_第48张图片
安卓开发-03-四大组件_第49张图片
安卓开发-03-四大组件_第50张图片

你可能感兴趣的:(安卓开发,android,前端,java)