Android学习笔记----Activity的三个小的技巧
2016-03-04 16:41
423 查看
/**********************************************************/
知晓当前的活动是哪一个活动
首先按如下方式创建一个BaseActivity继承Activity,然后让后来的Activity继承这个BaseActivity即可。
随时随地的退出程序
首先新建一个ActivityCollector类,作为活动管理器
然后创建一个BaseActivity继承Activity
然后让后来的Activity继承这个BaseActivity即可,在想要退出代码的地方调用ActivityCollector.finishAll()方法即可。
启动活动的最佳写法
通过startActivity()方法启动一个活动,如果需要通过Intent给被启动的活动传递数据,则可以在被启动的Activity中定义如下的方法
这样被启动的Activity的所需要的全部的数据,都在方法参数中体现出来了,这样即使不用阅读Activity的源码或者询问编写代码的人,也可以非常清晰的知道启动Activity需要传递那些数据。另外这样写也简化了启动代码,只需要一行代码,就可以启动Activity.
注:上述三个方法,是在阅读郭琳老师的《Android第一行代码》中学习的到的方法,在此表示感谢。
知晓当前的活动是哪一个活动
首先按如下方式创建一个BaseActivity继承Activity,然后让后来的Activity继承这个BaseActivity即可。
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity",getClass().getSimpleName()); } @Override protected void onDestroy() { super.onDestroy(); } }
随时随地的退出程序
首先新建一个ActivityCollector类,作为活动管理器
public class ActivityCollector { public static List<Activity> activities = new ArrayList<>(); public static void add(Activity activity){ activities.add(activity); } public static void remove(Activity activity){ activities.remove(activity); } public static void removeAll(){ for(Activity activity:activities){ if(!activity.isFinishing()){ activity.finish(); } } } }
然后创建一个BaseActivity继承Activity
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity",getClass().getSimpleName()); ActivityCollector.add(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.remove(this); } }
然后让后来的Activity继承这个BaseActivity即可,在想要退出代码的地方调用ActivityCollector.finishAll()方法即可。
启动活动的最佳写法
通过startActivity()方法启动一个活动,如果需要通过Intent给被启动的活动传递数据,则可以在被启动的Activity中定义如下的方法
public class SecondActivity extends Activity{ 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); } ......... }
这样被启动的Activity的所需要的全部的数据,都在方法参数中体现出来了,这样即使不用阅读Activity的源码或者询问编写代码的人,也可以非常清晰的知道启动Activity需要传递那些数据。另外这样写也简化了启动代码,只需要一行代码,就可以启动Activity.
注:上述三个方法,是在阅读郭琳老师的《Android第一行代码》中学习的到的方法,在此表示感谢。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories