本系列将使用 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()
尽管我试图在本文中尽量完整的进行描述,但受限于篇幅和我的个人水平,本文难免有所遗漏,欢迎在评论中指出。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!