android - 写入 Firebase 时 Geofire 崩溃
问题描述
我正在编写一个程序来将用户的 LatLng 数据上传到 Firebase。它通过单击按钮btnAddPickUpLocation 工作并将其上传到数据库。用户详细信息和 Uid 已在代码的其他部分启动,没有问题。
Lat Lng 当前是硬编码的,因此不是由于这个变量源。
当我设置 Toast 以返回 Uid 时它完美返回,当我注释掉它时它不会崩溃
mGeofire.setLocation(Uid, new GeoLocation(37.7853889, -122.4056973));
知道这句话有什么问题吗?
相关代码如下。
RelativeLayout contentView = findViewById(R.id.contentView);
btnAddPickUpLocation = contentView.findViewById(R.id.btnAddPickUpLocation);
btnAddPickUpLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//AddPickUpLocation(FirebaseAuth.getInstance().getCurrentUser().getUid());
String Uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
Toast.makeText(getApplicationContext(), "hello " + Uid, Toast.LENGTH_LONG).show();
//addPickUpLocation(FirebaseAuth.getInstance().getCurrentUser().getUid());
dbAddPickUpLocation = FirebaseDatabase.getInstance().getReference("Favourites");
mGeofire = new GeoFire(dbAddPickUpLocation);
mGeofire.setLocation(Uid, new GeoLocation(37.7853889, -122.4056973));
}
异常详情如下
06-29 16:31:55.992 24528-24528/com.abc.getataxi E/AndroidRuntime: 致命例外: 主进程: com.abc.getataxi, PID: 24528 java.lang.NoSuchMethodError: 没有虚拟方法 setValue(Ljava/lang /Object;Ljava/lang/Object;)Lcom/google/firebase/tasks/Task; 在 Lcom/google/firebase/database/DatabaseReference 类中;或其超类('com.google.firebase.database.DatabaseReference' 的声明出现在 /data/app/com.abc.getataxi-51bdN05Z7tlQu3bNLaX2nQ==/split_lib_dependencies_apk.apk)在 com.firebase.geofire.GeoFire.setLocation( GeoFire.java:182) 在 com.firebase.geofire.GeoFire.setLocation(GeoFire.java:154) 在 com.abc.getataxi.UserMainPage$2.onClick(UserMainPage.java:299) 在 android.view.View.performClick( View.java:6294) 在 android.view.View$PerformClick.run(View.java:
解决方案
设法通过变通解决它。对于任何寻找的人,添加一个完成侦听器参数,如下所示。
mGeofire.setLocation(Uid, new GeoLocation(37.7853889, -122.4056973), new GeoFire.CompletionListener() {
@Override
public void onComplete(String key, DatabaseError error) {
Toast.makeText(getApplicationContext(), "Done ", Toast.LENGTH_LONG).show();
}
});
推荐阅读
- java - 在多个文件中查找以特定字符集开头的单词并将整个单词替换为另一个单词
- git - 在对工作树执行签出时推送到裸 Git 存储库失败
- python - ValueError:形状 (None, 12) 和 (None, None, 12) 在 Google Colab 中不兼容
- c++ - 名称后带有第二个说明符的 typedef 结构
- linkedin - LinkedIn og:从自己的网站上的 url scraper 无法读取图像内容
- go-templates - 如何有条件地在 go 模板中声明变量?
- excel - 验证特定列的单元格中的数据:25 行限制?
- ios - 将 LiDAR 测量投影到与 ARAnchors 相同的坐标系中
- python - Python 输入,不需要的重复提示
- javascript - 如何使用 React mobx lite 按 id 正确获取数据?