本系列将使用 Android Studio 将《第一行代码》(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路。PS:其实我就是现学现卖,希望我能坚持刷完。
系列链接在此:
Activity 的生命周期、启动模式、一键退出 App。
Activity 类中定义了七个回调方法,覆盖了其生命周期的每一个环节。
以上七个方法中除了 onRestart() 方法,其他都是两两相对的,从而又可以将活动分为三种生存期。
加深对 Activity 生命周期的理解,可以看看下面这篇文章。
Android 是使用返回栈来管理 Activity 的。Activity 有四种启动模式,可以在 AndroidManifest.xml 中通过给 activity 标签增加 launchMode 属性来选择启动模式。
加深对 Activity 启动模式的理解,可以看看下面这篇文章。
如果在操作一个 App 时已经进入了好几个界面,想退出的时候可能需要按好几次 Back 键才行。书中给出了一个很不错的方案。
public class ActivityCollector { public static List<Activityactivities =new ArrayList<Activity>(); public static void addActivity(Activity activity){ activities.add(activity); } public static void removeActivity(Activity activity){ activities.remove(activity); } public static void finishAll(){ for(Activity activity : activities){ if(!activity.isFinishing()){ activity.finish(); } } } }
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); ActivityCollector.addActivity(this); } @Override protected void onDestroy(){ super.onDestroy(); ActivityCollector.removeActivity(this); } }
在所有的 Activity 中继承 BaseActivity
在需要一键退出的地方调用 ActivityCollector.finishAll()
尽管我试图在本文中尽量完整的进行描述,但受限于篇幅和我的个人水平,本文难免有所遗漏,欢迎在评论中指出。如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!