【问题标题】:How to pass DatabaseReference to class in android while using intent?使用意图时如何将DatabaseReference传递给android中的类?
【发布时间】:2018-11-12 08:40:20
【问题描述】:

我正在使用意图调用一个服务类,该服务类扩展了其他一些类(意图除外)。

我想在调用服务类时传递 DatabaseReference。

有什么可能的方法来做到这一点?我曾想过使用 SharedPrefrences,但我也想不出一种传递上下文的方法。

也可以在新类中创建数据库引用,但我在 MainActivity 中使用身份验证,所以这样做也有点棘手。

我的服务等级:

public class NLService extends NotificationListenerService {

     private DatabaseReference mDatabaseReference;

}

【问题讨论】:

  • 为什么不是 DatabaseReference 实例?您从单例模式中获得 DatabaseReference 的实例。您不需要将 DatabaseReference 作为参数传递。
  • @hjchin 不知道,你能解释一下吗。谢谢!

标签: android android-intent sharedpreferences


【解决方案1】:

您不需要传递 DatabaseReference,您也可以在 MainActivity 中使用实例。

class MainActivity{
   DatabaseReference myDBRef = FirebaseDatabase.getInstance().getReference();

   if(FirebaseAuth.getInstance().getCurrentUser() != null) { 
      // do your task
   }
}

【讨论】:

    【解决方案2】:

    假设 DatabaseReference 是 Firebase SDK 的一部分,

    在您的 NLService 类中

    public class NLService extends NotificationListenerService {
        private DatabaseReference mDatabaseReference myRef1 = FirebaseDatabase.getInstance().getReference();     
    }
    

    它对你有用吗?

    【讨论】:

    • 是的,确实如此。非常感谢。 PS:看来我对Android的了解很浅。
    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 2018-07-10
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多