java - 在将数据发送到 Firebase 之前,我可以将 android 电池电量信息添加到我的位置吗?
问题描述
我正在创建一个 android gps 跟踪应用程序,到目前为止,我的位置已使用 Location 类上传到 firebase:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference(path);
Location location = locationResult.getLastLocation();
if (location != null) {
//Save the location data to the database//
ref.setValue(location);
Log.d(TAG, "Location sent");
}
我还可以获得电池电量:
public float getBatteryLevel(){
Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
if(level == -1 || scale == -1){
return 50.0f;
}
return ((float)level/(float)scale) * 100.0f;
}
我想做的是将电池电量字段添加到该位置,以便将其作为一个发送到 Firebase。我可以扩展“位置”类以包含“电池”字段和在发送前更新此字段的方法吗?
解决方案
作为 DatabaseReference.set(Object),您可以创建包含位置数据和电池数据的自定义对象(getter、setter)。之后,您可以将值设置为 Firebase。
推荐阅读
- python - python 新手 - 处理嵌套循环。我正在尝试从海龟导入中绘制 4 个正方形,但代码仅绘制 1
- go - 谷歌云函数延迟
- python - 我想在 kivy 中加入我的 python 项目的多项选择测验
- c# - 打开从项目中特定表单继承的表单时,Visual Studio 崩溃
- java - 不同机器上的单个进程与单台机器上的多线程,核心等于单 CPU 机器的数量
- date - 日期到 Excel 时间戳
- python - 想要覆盖或操作 PDF 的页面大小
- sql-server-2012 - 是否可以对镜像数据库执行查询?(MS SQL 服务器 2012)
- python - (令人惊讶的挑战?)Numpy Vectorization
- javascript - 使用预定道具渲染条件组件