AndroidStudio开发遇见问题总结

持续更新,以便查阅

1:cant resolve sympbol RecyclerView

说明添加的依赖有问题,按照路径D:\ANDROIDSDK\extras\android\m2repository\com\android\support\recyclerview-v7,看自己sdk中实际有什么依赖来看 去添加依赖。

红框内这一项要和电脑中的版本对应上。还有一种情况是:程序中没有加载上RecyclerView

2:在接手别人的项目时 经常会遇见不知道当前运行的是哪个activity

在androidStudio中,当使用真机或者模拟器调试应用时,应用运行到某一个页面。而开发人员不知道当前UI的类的时候,可以通过如下命令快速找到对应的activity.

可以打开androidStudio自带的终端,定位到SDK的adb文件下面。

这是定位方法

D:\Aldx\DeviceManagerApp11>cd D:\ANDROIDSDK\platform-tools

分开输入,先输入adb shell

然后再输入 dumpsys activity | grep 'mFoc'
3:在开发中需要数学计算时 的一个工具类

public class Arith {
    /**
     * 提供精确加法计算的add方法
     *
     * @param value1 被加数
     * @param value2 加数
     * @return 两个参数的和
     */
    public static double add(double value1, double value2) {
        BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
        BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
        return b1.add(b2).doubleValue();
    }

    /**
     * 提供精确减法运算的sub方法
     *
     * @param value1 被减数
     * @param value2 减数
     * @return 两个参数的差
     */
    public static double sub(double value1, double value2) {
        BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
        BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
        return b1.subtract(b2).doubleValue();
    }

    /**
     * 提供精确乘法运算的mul方法
     *
     * @param value1 被乘数
     * @param value2 乘数
     * @return 两个参数的积
     */
    public static double mul(double value1, double value2) {
        BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
        BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
        return b1.multiply(b2).doubleValue();
    }

    /**
     * 提供精确的除法运算方法div
     *
     * @param value1 被除数
     * @param value2 除数
     * @param scale  精确范围
     * @return 两个参数的商
     * @throws IllegalAccessException
     */
    public static double div(double value1, double value2, int scale) throws IllegalAccessException {
        //如果精确范围小于0,抛出异常信息
        if (scale < 0) {
            throw new IllegalAccessException("精确度不能小于0");
        }
        BigDecimal b1 = new BigDecimal(Double.toString(value1));
        BigDecimal b2 = new BigDecimal(Double.toString(value2));
        //默认保留两位会有错误,这里设置保留小数点后4位
        return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
    }
}

3 报错Service not registered

执行UnBindService时报错Service not registered

服务未注册,其实就是要先bindService(),才可以运行UnBindService();

猜你喜欢

转载自blog.csdn.net/weixin_42415553/article/details/86165844
今日推荐