android studio生命周期代码,Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期...

前情提要(Previously)

本系列将使用 Android Studio 将《第一行代码》(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路。

PS:其实我就是现学现卖,希望我能坚持刷完。

在前面刚学习了Fragment,这次来了解一下她的生命周期。

系列目录在此:

Fragment 的生命周期

先来看一下 Fragment 的生命周期图解吧。

09158286846c022a9c7c400e4dca3428.png

与 Activity 的 关系

Fragment 必须是依存于 Activity 而存在的,因此 Activity 的生命周期会直接影响到 Fragment 的生命周期。Android 官网这张图很好的说明了两者生命周期的关系,如下

216143216d1c668237220f11eb3be485.png

跟 Activity 比较,多了下面几个回调函数:

onAttach(),当 Fragment 和 Activity 建立关联时调用。

onCreateView(),当为 Fragment 创建视图时调用。

onActivityCreated(),与 Fragment 关联的 Activity 已经创建完毕时调用。

onDEstroyView(),当与 Fragment 关联的视图被移除时调用。

onDetach(),当 Fragment 和 Activity 接触关联是调用。

体验 Fragment 的生命周期

打开上一篇 Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础 中的 FragmentTest 项目,修改 RightFragment 中的代码,重写每一个回调方法在里面加上输出日志,代码如下:

public class RightFragment extends Fragment {

public static final String TAG = "RightFragment";

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

Log.d(TAG, "onAttach");

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Log.d(TAG, "onCreate");

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

Log.d(TAG, "onCreateView");

View view = inflater.inflate(R.layout.right_fragment, container, false);

return view;

}

@Override

public void onActivityCreated(Bundle savedInstanceState) {

super.onActivityCreated(savedInstanceState);

Log.d(TAG, "onActivityCreated");

}

@Override

public void onStart() {

super.onStart();

Log.d(TAG, "onStart");

}

@Override

public void onResume() {

super.onResume();

Log.d(TAG, "onResume");

}

@Override

public void onPause() {

super.onPause();

Log.d(TAG, "onPause");

}

@Override

public void onStop() {

super.onStop();

Log.d(TAG, "onStop");

}

@Override

public void onDestroyView() {

super.onDestroyView();

Log.d(TAG, "onDestroyView");

}

@Override

public void onDestroy() {

super.onDestroy();

Log.d(TAG, "onDestroy");

}

@Override

public void onDetach() {

super.onDetach();

Log.d(TAG, "onDetach");

}

}

运行,RightFragment 第一次加载,查看 Logcat 中的日志,如下图

375d708ca5453abc7f3a36bb93684f26.png

点击 LeftFragment 中的 Button,AnotherRightFragment 替换 RightFragment 出现,查看日志,如下图

b0c198d13e02992047e9f81a76eca635.png

按 Back 键,RightFragment 出现,查看日志,如下图

085a2253001df0655a070daedab3ce5e.png

再按 Back 键,程序退出,查看日志,如下图

b8d7d4df8f7b6efa29cd9aec135aa2b6.png

OK 了,我们对 Fragment 的生命周期已经了解的差不多,更深刻的理解以后用到的时候再说了。

其它(Miscellaneous)

尽管我试图在本文中尽量完整的进行描述,但受限于篇幅和我的个人水平,本文难免有所遗漏,欢迎在评论中指出。

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!

关于作者(About Me)

本文谢绝转载,如需转载需征得作者本人同意,谢谢。

Android Studio 单刷《第一行代码》系列目录

前言(Prologue) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld

前言(Prologue) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

Android Studio 单刷《第一行代码》系列 07 —— Broadcast 广播

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 04 —— Activity 相关

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 03 —— Activity 基础

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

【java学习系列】 Android第一本书《第一行代码》

开始Java的学习,从Android,开始吧.开始阅读和调试demo例子. 下面是 的思维导图:

随机推荐

【10-25】intelliji ide 学习笔记

快捷键 /** alter+enter 导包,异常处理等提示 psvm 快速main函数 sout 快速sysout语句 fi 快速for循环 ctrl+d 重复一行 Ctrl+X 删除行 Ctrl+ ...

Adapter适配器

1.概念 *连接后端数据和前端显示的适配器接口 *数据和UI之间的重要连接   2. ArrayAdapter  ArrayAdapter构造器如下: ArrayAdapter(Context con ...

linux free 命令

命 令: free 功能说明:显示内存状态. 语 法: free [-bkmotV][-s ] 补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共 ...

CodeForces 321A

A. Ciel and Robot time limit per test 1 second memory limit per test 256 megabytes input standard in ...

给windows 7安装文件添加USB3.0驱动

给Air安装win7进入语言与区域选择之后,发现键盘触摸板都失灵.   原因:新款的 Macbook Air 2013 因为使用了 USB3.0 端口键盘和触摸板设备,所以在安装 Windows 7 ...

Shell符号展开

字符 展开 * 这个 “*” 字符意味着匹配文件名中的任意字符 shell 把 “*” 展开成了另外的东西 ,在 echo 命令被执行前. ~家目录 算术表达式展开 算术表达式展开使用这种格式: $( ...

testlink 下载地址

testlink 下载地址 https://sourceforge.net/projects/testlink/files/TestLink%201.9/

centOS7 mini配置linux服务器(三) 配置防火墙以及IPtables切换

一.firewall介绍 CentOS 7中防火墙是一个非常的强大的功能,在CentOS 6.5中在iptables防火墙中进行了升级了. 1.官方介绍 The dynamic firewall da ...

dotnet core使用开源组件FastHttpApi进行web应用开发(转)

FastHttpApi相对于asp.net mvc来说有着更轻量和性能上的优势,性能上面就不在这里介绍了(具体可查看 https://github.com/IKende/FastHttpApi). ...

python常见排序算法解析

python——常见排序算法解析   算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值