Activity活动的最佳实践

==========================1. 知晓当前是在哪一个活动=========================

  //

  //新建一个BaseActivity继承Activity,重写onCreate()方法

  //让BaseActivity成为其他自建Activity活动的父类

  //

1 public class BaseActivity extends Activity
2 {
3     @Override
4     protected void onCreate(Bundle savedInstanceState)
5     {
6         super.onCreate(savedInstanceState);
7         Log.e("当前活动:", getClass().getSimpleName());//获取当前活动的类名
8     }
9 }

=========================2.随时随地退出程序=============================

//

//创建一个ActivityController类

//

 1 public class ActivityController
 2 {
 3     private static List<Activity> activities = new LinkedList<>();
 4
 5     public static void addActivity(Activity activity)
 6     {
 7         activities.add(activity);
 8     }
 9
10     public static void removeActivity(Activity activity)
11     {
12         activities.remove(activity);
13     }
14
15     public static void finishAll()
16     {
17         for (Activity activity : activities)
18         {
19             if (!activity.isFinishing())
20             {
21                 activity.finish();
22             }
23         }
24     }
25 }

//

//修改BaseActivity类

//

 1 public class BaseActivity extends Activity
 2 {
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState)
 5     {
 6         super.onCreate(savedInstanceState);
 7         Log.e("当前活动:", getClass().getSimpleName());//获取当前活动的类名
 8         ActivityController.addActivity(this);//将活动添加到集合中
 9     }
10
11     @Override
12     protected void onDestroy()
13     {
14         super.onDestroy();
15         ActivityController.removeActivity(this);////将活动从集合中移除
16     }
17 }

//

//在活动中退出程序时: 调用 ActivityController.finishAll() 方法

//

===================================3.启动活动的最佳写法=================================

//

//在自建的Activity中创建静态方法 actionStart(Context context, String data1, String data2, //..........)

//

 1 public class SecondActivity extends BaseActivity
 2 {
 3     /**
 4      * 启动活动的最佳写法
 5      * 需要几个参数,传几个参数
 6      */
 7     public static void actionStart(Context context, String data1, String data2)
 8     {
 9         Intent intent = new Intent(context, SecondActivity.class);
10         intent.putExtra("param1", data1);
11         intent.putExtra("param2", data2);
12         context.startActivity(intent);
13     }
14     //.............
15 }

//

//在某活动中调用静态方法SecondActivity.actionStart(Context context, String data1, String data2, //..........)

//跳转至SecondActivity

//

1 btn.setOnClickListener(new View.OnClickListener()
2         {
3             @Override
4             public void onClick(View v)
5             {
6                 SecondActivity.actionStart(FirstActivity.this, "要传递的数据1", "要传递的数据1");
7             }
8         });
时间: 2024-10-03 13:20:00

Activity活动的最佳实践的相关文章

Activity(活动)的最佳实践

下面是几种关于活动的最佳实践技巧,这些技巧在以后的工作中非常受用. 1.知晓当前是在哪一个活动 这个技巧将教会你,如何根据程序当前的界面就能判断这是哪一个活动. 第一步:新建一个BaseActivity继承自Activity,然后在BaseActivity中重写onCreate()方法 public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState)

(Android第一行代码实验一)活动的最佳实践

活动的最佳实践    1.知晓当前是在哪一个活动         这个技巧将教会你,如何根据程序当前的界面就能判断出这是哪一个活动.  首先需要新建一个 BaseActivity 继承自 Activity,然后在 BaseActivity中重写 onCreate()方法.         public class BaseActivity extends Activity {                @Override              protected void onCreat

从一个实例详解敏捷测试的最佳实践

简介: 敏捷软件开发是目前十分流行,并在业界逐步推广的软件开发模式.不同与传统的软件开发模式,敏捷开发模式有着自己鲜明的价值和方法.其中,敏捷测试部分也同以往的软件测试流程有所不同.这对测试人员提出了新的要求,带来了新的挑战.本文将结合一个软件项目实例,基于项目开发的不同阶段,详细介绍每个阶段的主要测试活动.文中将分析每个主要测试活动的前提条件和目标任务,并根据实例推荐最佳的解决方案. 第一部分:敏捷软件开发简介 敏捷软件开发(Agile Software Development)初起于九十年代

《开源安全运维平台OSSIM最佳实践》当当自营店 315活动 仅售6折

<开源安全运维平台OSSIM最佳实践>当当自营店 3-15活动 ,仅售 6 折. 购书地址: http://product.dangdang.com/23903741.html

《开源安全运维平台:OSSIM最佳实践》节日期间当当自营店 五折 优惠活动开始啦!

<开源安全运维平台--OSSIM最佳实践>节日期间,当当自营店 五折  优惠活动开始啦! 地址: http://product.dangdang.com/23903741.html

国内信息安全畅销书《开源安全运维平台--OSSIM最佳实践》年终 五折 优惠活动开始啦!

国内信息安全畅销书<开源安全运维平台--OSSIM最佳实践>年终五折优惠活动开始啦! 地址: http://product.dangdang.com/23903741.html

[活动]开发者最佳实践日·第11期-HTML5与Native App应用技术实战

在移动互联网时代大放异彩的不止原生应用,最近一段时间HTML5火热发展一片繁荣,从大家认为HTML标准不需要升级到HTML5正式定稿.随着硬件的升级.OS厂商策略变化,软件技术的成熟,用户需求的不断推动,针对HTML5与Native App 孰胜孰劣之争也由此拉开. 产业在同步演进,作为开发者应该选用什么样的应用以适应自己的产品更快速地传播与迭代.如何实现APP构建和发布的极致效率?如何做跨平台设计?如何快速地创建HTML5类型的移动游戏? 开发者最佳实践日第11期,七牛云存储邀请了成都当地明星

Google Developing for Android 二 - Memory 最佳实践 // lightSky‘Blog

Google Developing for Android 二 - Memory 最佳实践 |   分类于 Android最佳实践 原文:Developing for Android, II The Rules: Memory 在决定应用的行为,是否有好的用户体验以及整体的设备体验来说,内存的使用可能是独立因素中最重要的.内存因素包括应用的内存占用,以及内存搅动(导致的垃圾回收会对运行期间的性能有影响). 避免在循环中分配内存 内存分配虽然不可避免,但是应尽可能的避免,特别是在平凡的调用的代码块

Android最佳实践之性能 - 电池续航时间优化

Doze和App Standby的优化(API23) 参考地址:http://developer.android.com/training/monitoring-device-state/doze-standby.html 从Android 6.0 (API level 23)开始,Android提供了两个节电功能用来增加电池的续航时间.Doze 可以在设备长时间不使用时,通过延迟后台CPU和网络的活动来减少电池的消耗:App Standby将延迟没有交互的app网络活动. Doze和App S