Android常用类汇总(长期更新、博客引用)

base类准备

右键java包下项目,创建一个新package,命名base。

BaseActivity.java

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

import com.example.xxx.utils.LogUtil;

import butterknife.ButterKnife;


public abstract class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LogUtil.i(getClass().getSimpleName());//获取当前activity名字
        setContentView();
        ButterKnife.bind(this);
        initData();
        initView();
        initEvent();
    }

    /**
     * setContentView
     */
    protected abstract void setContentView();
    /**
     * 初始化View
     */
    protected abstract void initView();
    /**
     * 初始化数据
     */
    protected abstract void initData();
    /**
     * 初始化事件
     */
    protected abstract void initEvent();

}

Utils类准备

右键java包下项目,创建一个新package,命名Utils。

utility n.公用事业;功用,效用;有用的物体或器械;公用事业公司
——fanyi.baidu.com

LogUtil.java

import android.util.Log;

/**
 * Logcat日志工具
 */
public class LogUtil {
    private static final boolean debug = true; // TODO:正式上线为false
    private static final String TAG = "松鼠鳜鱼";

    public static void v(String tag, String msg) {
        if (debug) { Log.v(tag, msg); }
    }
    public static void v(String msg) {
        if (debug) { Log.v(TAG, msg); }
    }
    public static void d(String tag, String msg) {
        if (debug) { Log.d(tag, msg); }
    }
    public static void d(String msg) {
        if (debug) { Log.d(TAG, msg); }
    }
    public static void i(String tag, String msg) {
        if (debug) { Log.i(tag, msg); }
    }
    public static void i(String msg) {
        if (debug) { Log.i(TAG, msg); }
    }
    public static void w(String tag, String msg) {
        if (debug) { Log.w(tag, msg); }
    }
    public static void w(String msg) {
        if (debug) { Log.w(TAG, msg); }
    }
    public static void e(String tag, String msg) {
        if (debug) { Log.e(tag, msg); }
    }
    public static void e(String msg) {
        if (debug) { Log.e(TAG, msg); }
    }
}

ScreenUtil.java

import android.content.Context;
import android.util.DisplayMetrics;
import android.view.WindowManager;

/**
 * 作者    没有感情的S686
 * 时间    2018/12/15 21:21
 * 描述     获取屏幕数据工具类
 * 	      宽(px)/密度=屏幕实际宽度(dp),高(px)/密度=屏幕实际高度(dp)
 *        获取屏幕宽高,减去margin,padding,从而可以获取组件宽高
 */
public class ScreenUtil {
    private ScreenUtil() {
        throw new UnsupportedOperationException("cannot be instantiated");
    }
    /**
     * 获得屏幕宽度
     * @param context activity or fragment
     * @return 屏幕宽度
     */
    public static int getScreenWidth(Context context) {
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics metrics = new DisplayMetrics();//描述关于显示器的一般信息,如大小、密度和字体缩放。
        wm.getDefaultDisplay().getMetrics(metrics);
        return metrics.widthPixels;
    }
    /**
     * 获得屏幕高度
     * @param context activity or fragment
     * @return 屏幕高度
     */
    public static int getScreenHeight(Context context){
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics metrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(metrics);
        return metrics.heightPixels;
    }
    /**
     * 获得屏幕密度
     * @param context activity or fragment
     * @return 屏幕密度
     */
    public static float getDensity(Context context){
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics metrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(metrics);
        return metrics.density;
    }
}

猜你喜欢

转载自blog.csdn.net/NULL_thing/article/details/85041819