版权声明:转载请说明去处,文章仅供学习参考 https://blog.csdn.net/qq_38487155/article/details/81317955
一、自定义日志工具:当我们在编写App时需要大量使用日志工具,可是当App发布后不需要日志工具时总不能一条一条去改动,所以我们应该使用自定义日志工具来操作日志打印
import android.util.Log;
//自定义日志工具LogUtil
/*
* 通过设置LEVEL可以控制日志打印,当LEVEL默认设置为VERBOSE打印所有日志,当LEVEL设置为NOTHING时
* 屏蔽所有日志
*/
public class LogUtil {
public static final int VERBOSE=1;
public static final int DEBUG=2;
public static final int INFO=3;
public static final int WARN=4;
public static final int ERROR=5;
public static final int NOTHING=6;
public static final int LEVEL=VERBOSE;
public static void v(String tag,String msg) {
if(LEVEL<=VERBOSE) {
Log.v(tag, msg);
}
}
public static void d(String tag,String msg) {
if(LEVEL<=DEBUG) {
Log.d(tag, msg);
}
}
public static void i(String tag,String msg) {
if(LEVEL<=INFO) {
Log.i(tag, msg);
}
}
public static void w(String tag,String msg) {
if(LEVEL<=WARN) {
Log.w(tag, msg);
}
}
public static void e(String tag,String msg) {
if(LEVEL<=ERROR) {
Log.e(tag, msg);
}
}
}
二、Intent里传输自定义类方法
/*
* Intent传输对象方法:
* 1、让类继承Serializable接口,设置类里所有变量的get和set方法
* 2、实例化类对象,通过set方法设置好对象里数据,与其它数据一样用键值对方式放入Intent
* 3、取出用:(类名)getIntent().getSerializableExtra(键名);
*/
三、全局范围获取上下文情境对象(Context):添加以下一个类
//通过MyApplication.getContext()获得一个全局都能获取到的Context对象,可以在Toast等地方使用
public class MyApplication extends Application{
private static Context context;
public void onCreate() {
context=getApplicationContext();
}
public static Context getContext() {
return context;
}
}
四、随时随地退出活动
/*
* 小技巧Two:瞬间退出程序
* 1、创建活动管理类ActivityCollector
* 2、写一个基类BaseActivity,当活动onCreate()时添加至ActivityCollector里,
* onDestroy()时删除该活动
* 3、让所有类继承于BaseActivity
*/
public class BaseActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//getClass():获得当前类
//getSimpleName():获得当前活动名
Log.d("BaseActivity",getClass().getSimpleName());
ActivityCollector.addActivity(this);
}
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
//随时退出所有活动只需要调用ActivityCollector的finishAll方法
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();
}
}
}
}