Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要快速检查电池估计器代码吗_Java_Android - Fatal编程技术网

Java 需要快速检查电池估计器代码吗

Java 需要快速检查电池估计器代码吗,java,android,Java,Android,我正在制作电池管理器-它几乎完成了,但我想有一个电池估计器,它将显示我的电池将运行我的电话多长时间 我只想知道最简单的方法,我很清楚这只是一个近似值 public void onCreate() { BroadcastReceiver batteryReceiver = new BroadcastReceiver() { int scale = -1; int level = -1; int voltage = -1; int temp = -1; @Ov

我正在制作电池管理器-它几乎完成了,但我想有一个电池估计器,它将显示我的电池将运行我的电话多长时间

我只想知道最简单的方法,我很清楚这只是一个近似值

public void onCreate() {
BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
    int scale = -1;
    int level = -1;
    int voltage = -1;
    int temp = -1;
    @Override
    public void onReceive(Context context, Intent intent) {
        level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
        scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
        temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
        voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
        Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
    }
};
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryReceiver, filter);
}

我的java中有这行代码,当我在我的设备上运行这个应用程序时,它显示什么都没有。我应该在这里或xml文件中更改/添加什么


此代码取自:

该代码(按原样)只将消息写入日志,因此您在设备上看不到任何内容也就不足为奇了。您必须将它获得的数字(或从中派生的数字)插入应用程序的GUI。正如链接的问题所强调的,客户剩余寿命的估计很容易出错,因为你不知道用户下一步会做什么(因此剩余费用会持续多久)。您所能做的就是保存电池电量的历史数据与时间,尝试“根据最后1/2/4小时的使用情况,剩余电池将持续xx小时”。谢谢您的回答,这有助于我了解当前情况。我还有一个问题:试着获取电池的当前电压,几秒钟后再获取一次,这样就不会花费太多时间来获取信息。我只想做一些类似的事情:点击一个按钮,几秒钟后它会给我答案,是否可能有一个不超过+/-30分钟的适当时间间隔?因为根据你所说的,它需要一些数据库,使其更加复杂,我还不太喜欢创建数据库:/有两个方面:(1)测量过去的使用情况和(2)预测未来的使用情况。第二,正如你最初的链接所暗示的,充其量只能是一个有根据的猜测。首先,你可以用相隔几秒钟的两个读数来估计过去的使用情况,但这只能给你一个在短时间内使用情况的“快照”:如果在这段时间内出现了一个需要CPU的应用程序或服务,这将扭曲数据:读数之间的较长时间将平均这些变化。您不需要存储多个读数/cont/cont…打开应用程序后立即阅读并记住这一点。然后在几秒钟后重新读取一个新读数,对电池使用情况进行一个非常粗略的“瞬时”测量。定期读取新读数,并根据原始读数重新计算使用量。随着时间的推移,“电池使用率”的平均值将变为一个信息量更大的数字。这段代码(按原样)只向日志中写入一条消息,因此在设备上看不到任何东西也就不足为奇了。您必须将它获得的数字(或从中派生的数字)插入应用程序的GUI。正如链接的问题所强调的,客户剩余寿命的估计很容易出错,因为你不知道用户下一步会做什么(因此剩余费用会持续多久)。您所能做的就是保存电池电量的历史数据与时间,尝试“根据最后1/2/4小时的使用情况,剩余电池将持续xx小时”。谢谢您的回答,这有助于我了解当前情况。我还有一个问题:试着获取电池的当前电压,几秒钟后再获取一次,这样就不会花费太多时间来获取信息。我只想做一些类似的事情:点击一个按钮,几秒钟后它会给我答案,是否可能有一个不超过+/-30分钟的适当时间间隔?因为根据你所说的,它需要一些数据库,使其更加复杂,我还不太喜欢创建数据库:/有两个方面:(1)测量过去的使用情况和(2)预测未来的使用情况。第二,正如你最初的链接所暗示的,充其量只能是一个有根据的猜测。首先,你可以用相隔几秒钟的两个读数来估计过去的使用情况,但这只能给你一个在短时间内使用情况的“快照”:如果在这段时间内出现了一个需要CPU的应用程序或服务,这将扭曲数据:读数之间的较长时间将平均这些变化。您不需要存储多个读数/cont/cont…打开应用程序后立即阅读并记住这一点。然后在几秒钟后重新读取一个新读数,对电池使用情况进行一个非常粗略的“瞬时”测量。定期读取新读数,并根据原始读数重新计算使用量。随着时间的推移,“电池使用率”将趋于平均,从而得出一个信息量更大的数字。