Android小技巧
2016-02-16 13:21
295 查看
一、知晓当前是在哪一个活动
public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); } }
这里新建一个BaseActivity继承自Activity,再让其他的活动继承自BaseActivity,通过打印信息就可以知道当前是哪一个活动了。
二、随时随地退出程序
当一个应用有多个活动,需要按很多次的Back键才能退出程序,home键只是把程序挂到后台,这时,就可以有一个退出键。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(); } } } }
更改上面的类
public class BaseActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); ActivityCollector.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.removeActivity(this); } } }
在退出按钮中响应事件ActivityCollector.finishAll();可以在代码后面再加上杀掉当前进程的代码,以保证程序完全退出。
三、启动活动的最佳写法
一个活动需要两个非常重要的字符串参数,用intent启动其他人可能不知道这两个参数,我们可以直接在活动中写一个方法来让别人知道。public class SecondActivity extends BaseActivity { 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); } …… }
别人在其他活动中就可以轻松的知道启动这个活动所需要的两个参数SecondActivity.actionStart(FirstActivity.this, “data1”, “data2”);
相关文章推荐
- Android 图片缓存之内存缓存技术LruCache,软引用
- 一个现代化的JSON库Moshi针对Android和Java
- Android NDK打印日志
- ANDROID_MARS学习笔记_S01原始版_015_Socket
- Android数据库操作
- Android 部分内容设置颜色、字体、超链接、图片
- Android 系统下模拟触点击的功能与权限
- Android模仿QQ空间图片上传——原理
- ThinkAndroid框架
- 使用内部(com.android.internal)和隐藏(@hide)API手记
- Android AutoCompleteTextView连接数据库自动提示的方法(附demo源码下载)
- 4.14 Android 拍照
- 【Android Studio】入门---快捷键
- Android 如何让EditText不自动获取焦点 在项目中,一进入一个页面, EditText默认就会自动获取焦点。 那么如何取消这个默认行为呢? 在网上找了好久,有点 监听软键盘事件
- Android Socket 发送与接收数据问题: 发送后的数据接收到总是粘包
- Android关于小米相册悬浮标题栏、冻结标题栏的实现方式(嵌套型RecycleView)
- android setClickable setEnabled setFocusable
- android getX()、getY()、getRawX()、getRawY()、getSrrollX()、getScrollY()、scrollTo()、scrollBy()对比
- Android编程实现识别与挂载U盘的方法
- Android安全-代码安全5-调试器和模拟器的检测