美文网首页
关于Android活动两个技巧记录(当前是哪个活动&活动

关于Android活动两个技巧记录(当前是哪个活动&活动

作者: RunHuaOil | 来源:发表于2016-09-24 01:38 被阅读272次

本文技巧对《第一行代码》内容的笔记,觉得是不错的技巧,记录下来

1.知晓当前处于哪个活动


在Android开发中接手一个陌生的项目时可能会不知道当前界面对应哪个活动,这时候我们用下面介绍的技巧,在Logcat中打印出当前活动的名称。我们知道,每一个活动都会继承于Activity,我们要做的是新建一个自己的活动(BaseActivity)同样继承于Activity,但是我们项目中的活动不再继承于android.app包下的Activity,而是继承于我们的BaseActivity,在BaseActivity中插手管理我们的活动。

BaseActivity的代码:

public class BaseActivity extends Activity {
        @Override    
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Log.d("Test",getClass().getSimpleName() );    
        }    
}

BaseActivity继承Activity后在onCreate方法中添加了一句Log来输出当前调用该方法的活动名称,而我们自己创建的活动就继承于BaseActivity ,每当我们的活动onCreate时,便会调用父类的onCreate,从而打印该活动的名称。
运行如下:

2.管理活动,统一销毁他们


我们知道销毁活动可以用 finish() 方法,假如我们要按一个按钮统一销毁程序所创建的所有活动呢?这里我们按着上面第一个技巧的思路,我们用一个 ArrayList 来储存所创建的活动,并提供一个方法来统一销毁 List 里面所有的活动。
 首先我们创建一个ActivityCollector类来管理活动的创建和销毁操作,代码如下:

public class ActivityCollector {    
    public static List<Activity> activities = 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();          
                     }        
          }    
    }  
}

ActivityCollector 类中我们提供了三个静态方法,可以不用new直接使用,接下来是在上文的 BaseActivity 中加入我们的ActivityCollector
BaseActivity 代码如下:

这里重写了 onCreate 和 onDestroy 方法,分别在其中添加 ActivityCollector类的 addActivity 和 removeActivity 方法,每创建一个活动添加进我们的活动列表中,若活动销毁了,则从 活动列表 中移除。那销毁所有活动的 finishAll()方法呢,这里我们新建一个 button ,在 button 的点击事件中运行我们的
finishAll() 方法,即可销毁所有活动。
代码如下:

两个小技巧就 Get 到啦

本文代码 Github 地址 https://github.com/RunHuaOil/AndroidPractice/tree/master/BaseActivity

相关文章

  • 关于Android活动两个技巧记录(当前是哪个活动&活动

    本文技巧对《第一行代码》内容的笔记,觉得是不错的技巧,记录下来 1.知晓当前处于哪个活动 在Android开发中接...

  • 知晓当前在哪个活动

  • 活动的生命周期

    我们知道Android中的活动是可重叠的。我们每启动一个新的活动,就会覆盖当前的活动,然后点击Back就会销毁最上...

  • 活动记录

    为了“十二月风采”舞蹈活动与朗诵《有一天》准备千千万万遍,最终终于落下了帷幕。 平常不断练习与付出的汗水不说罢了,...

  • 活动记录

    开场:简单拉个历史线,回到宋代。 从清明上河图用香之广,到用香的方式。 香有哪些形态用法:从线香到香粉 用途:香的...

  • 活动的启动模式

    活动的启动模式 设置活动的启动模式 在ActivityManifest.xml文件里修改需要修改哪个活动,修改哪个...

  • 201-210

    活动101、巧用婉语 活动目的,初步懂得用词的重要性,学习委婉的表达自己意见,提高沟通技巧。 活动流程每两个人分为...

  • 关于活动

    今天完成了一个圣诞联谊活动。每次活动都会把自己弄的身心俱疲,想把每个细节都做好,可是总是会出点问题。有人退...

  • 电商的优惠类型

    当前电商的优惠活动类型:1、返积分;2、抽奖活动;3、满减活动;4、团购活动;5、秒杀活动。 对于优惠活动需要关注...

  • 完美销毁当前活动

    安卓系统为我们提供了销毁当前页面的方法——finish();但是很多时候,我们的安卓物理按键也可以直接back. ...

网友评论

      本文标题:关于Android活动两个技巧记录(当前是哪个活动&活动

      本文链接:https://www.haomeiwen.com/subject/bfqxyttx.html