Android编程权威指南(第三版)第七章学习笔记

无关技术

凡一家之中,勤敬二字能守得几分,未有不兴,若全无一分,无有不败.

本章概要

本章主要讲了Android Studio添加依赖库的方式,Fragment的生命周期,以及优先使用支持库Fragment的原因.

Fragment的生命周期

Fragment代表Activity来工作,所以它的状态来代表Activity的状态,这种对应很重要.

onAttach(Context),onCreate(Bundle),onCreateView()
全部在setContentView方法中调用

创建onActivityCreated(Bundle)-->onCreate

onStart() --> onStart

onResume() --> onResume

onPause() --> onPause

onStop() --> onStop

onDestroyView -->Activity 关闭

onDestroy(),onDetach() -->onDestroy

Activity托管Fragment的两种方式

  1. 在布局中添加fragment
  2. 在代码中添加Fragment

第一种方式简单,但不够灵活.
第二种是创建的fragment添加到fragment队列中,然后交由FragmentManager来调度.

FragmentManager的使用

在Activity中
FragmentManager fm = getSupportFragmentManager();

FragmentManager可以根据布局id来获取相应的Fragment
`

Fragment fragment = fm.findFragmentById(R.id.fragment_container);

`

if(fragment==null){
    fragment = new CrimeFragment();
    fm.beginTransaction()
        .add(R.id.fragment_container,fragment)
        .commit();
    }

`
创建一个Fragment事务,执行一个添加操作,然后提交该事务.

为什么选择支持库中的fragment

原声版本的Fragment内置在系统中,如果应用要支持各个系统版本,在不同设备上运行的Fragment可能会有不同的表现.比如某个bug,在系统版本里已修正,而在4.0里却没有.而在支持库中的Fragment,在发布时会打包在应用里,使用支持库中的fragment在不同的设备里运行,都会有相同的表现.

另外,Google每年会多次更新支持库,并借此更新新特性,修复bug.所以支持库使用最新版本的就可以了.Android支持库是无冕之王.

本章没有挑战练习

你可能感兴趣的:(Android编程权威指南(第三版)第七章学习笔记)