Activity(活动)的最佳实践
来源:互联网 发布:淘宝多个商品能分开送 编辑:程序博客网 时间:2024/05/16 10:47
下面是几种关于活动的最佳实践技巧,这些技巧在以后的工作中非常受用。
1.知晓当前是在哪一个活动
这个技巧将教会你,如何根据程序当前的界面就能判断这是哪一个活动。
第一步:新建一个BaseActivity继承自Activity,然后在BaseActivity中重写onCreate()方法
public class BaseActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);Log.d("BaseActivity", getClass().getSimpleName());}}
第二步:让其他Activity不再继承自Activity,而直接继承自BaseActivity。虽然项目中的活动不再直接继承自Activity,但是它们仍然完全继承了Activity的所有特性。
2.随时随地退出程序
思路十分简单,只需要用一个专门的集合类对所有的活动进行管理即可。
第一步:新建一个ActivityController类作为活动管理器
public class ActivityController {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){activity.finish();}}}
第二步:
在onCreate()方法中添加activity
ActivityController.addActivity(this);
在onDestroy()方法中移除activity
ActivityController.removeActivity(this);
在任何地方退出程序调用:
ActivityController.finishAll();
3.启动活动的最佳写法
启动活动的方法大家都会,首先通过Intent构建出当前意图,然后调用startActivity()或者startActivityForResult()方法将活动启动,如果有数据传递,也可以借助Intent来完成。
我写这个的目的是解决这样一种窘境:我要从FirstActivity传递数据到SencodActivity,但是SecondActivity不是自己写的,需要询问编写者或者自己阅读代码,其实换一种写法,该问题迎刃而解。
public static void actionStart(Context context, String data1, String data2) {Intent intent = new Intent(context, SecondActivity.class);intent.putExtra("param1", data1);intent.putExtra("param2", data2);context.startActivity(intent);}这样写的好处一目了然,我不需要知道SencodActivity中具体代码细节,也不用询问代码编写者,只需要看该方法的参数就明了,这样写简化了启动活动的代码,启动代码如下:
SecondActivity.actionStart(FirstActivity.this,"data1","data2");
养成一个良好的习惯,给你编写的每个活动都添加类似的启动方法,这样不仅可以让启动活动变得异常简单,还可以省不少同事询问你的时间。
- Activity(活动)的最佳实践
- Activity活动的最佳实践
- 活动的最佳实践
- 活动的最佳实践
- 活动的最佳实践
- Activity 的最佳实践
- Activity最佳的实践
- Activity的最佳实践
- Activity的最佳实践
- Activity的最佳实践
- 活动的最佳实践之启动活动的最佳方法
- Acitivty最佳实践2----自定义activity栈,方便管理活动
- 活动的最佳实践--第一行代码
- 32.启动活动的最佳写法-活动实践
- 活动的最佳实践之 啟動活動的最佳寫法
- 安卓开发:活动的最佳实践3--启动活动的最佳写法
- 协同开发 启动activity的最佳实践
- Activity跳转最佳实践
- Git常用命令集合速查表
- iOS开发网络篇—数据缓存
- 数据库-数据模型(分类、三要素、概念)
- 利用港大图书馆搜索文献
- zzuli OJ 1017: 表面积和体积
- Activity(活动)的最佳实践
- 如何固定你的Ubuntu应用的方向
- SpringMVC之Controller传递JSON数据到页面
- c#线程同步
- 代理模式--动态代理
- 设计模式-模板模式
- 别人的App(1)
- [刷题]Rotate List
- Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例