FirebaseAuth по-прежнему обнуляется в приложении для модернизации помещений Kotlin Firebase

# #android #firebase #kotlin

Вопрос:

Я разрабатывал приложение в Котлине, где я внедряю модернизацию Firebase и библиотеку комнат для различных целей.

Поэтому моя проблема возникает, когда я пытаюсь позвонить пользователю FirebaseUser, чтобы выполнить поиск в базе данных комнат, где сохраняется имя пользователя, и загрузить информацию о нем/ней.

Мой пользователь firebase равен нулю, независимо от того, сколько времени он ждет.

Фрагмент, в котором возникает исключение, выглядит следующим образом:

Фрагмент дневника.кт

 class DiaryFragment : Fragment(R.layout.fragment_diary), AdapterDetail.OnItemClickListenerDiary{   private var _binding: FragmentDiaryBinding? = null  private val binding get() = _binding!!  private lateinit var user: String  private lateinit var viewModel : DiaryViewModel  private lateinit var mAuth : FirebaseAuth  override fun onCreate(savedInstanceState: Bundle?) {  super.onCreate(savedInstanceState)  FirebaseApp.initializeApp(context!!);  mAuth = FirebaseAuth.getInstance();  }   override fun onViewCreated(view: View, savedInstanceState: Bundle?) {  super.onViewCreated(view, savedInstanceState)   _binding = FragmentDiaryBinding.bind(view)   //TODO(Use ViewModel to recover the data.)  mAuth = FirebaseAuth.getInstance();  val adapter = AdapterDetail(this)  //Set the ViewModel of the DiaryFragment.  //TODO(Solucionar NullPointerException)  //TODO(FirebaseUser llega null )  user = mAuth.currentUser?.email.toString()  checkUser(user, adapter)  /*viewModel = ViewModelProvider(this)[DiaryViewModel::class.java]*/  val btnRetryDiary = binding.btnRetryDiary  btnRetryDiary.setOnClickListener(View.OnClickListener {  checkUser(user, adapter)  })   }  fun checkUser(user:String, adapter: AdapterDetail){  if(user!="null"){  Toast.makeText(context, "Already Sign in !", Toast.LENGTH_LONG).show()  viewModel = DiaryViewModel(context?.applicationContext as Application, RoomUnsplashPhoto(10,"null",null,null,user))  viewModel.getPhotoUser(user)!!.observe(viewLifecycleOwner){  adapter.submitData(viewLifecycleOwner.lifecycle, it as PagingDatalt;UnsplashPhotogt;)  binding.apply {  recycleViewDiary.setHasFixedSize(true)  recycleViewDiary.itemAnimator = null  recycleViewDiary.adapter = adapter  }  }  setHasOptionsMenu(true)  }else{  Toast.makeText(context, "¡¡ User esta a null !!", Toast.LENGTH_LONG).show()  }  }  override fun onItemClick(photo: UnsplashPhoto) {  val action = DiaryFragmentDirections.actionDiaryFragmentToDetailFragment(photo)  findNavController().navigate(action)  }   override fun onDestroy() {  super.onDestroy()  _binding = null  } }  

мое приложение build.gradle, касающееся firebase, заключается в следующем:

 //Firebase  implementation platform('com.google.firebase:firebase-bom:28.4.1')   implementation 'com.google.firebase:firebase-auth-ktx'  

Если вы можете помочь, заранее поблагодарите !

Комментарии:

1. Фрагмент, в котором возникает исключение, выглядит следующим образом. О каком именно исключении вы говорите?

2. Исключение не возникает из-за нулевой проверки пользователя FirebaseUser, который используется в качестве атрибута в базе данных моей комнаты. Проблема в том, что Firebaseauth.getInstance() всегда равен нулю

3. Вы уверены, что прошли проверку подлинности? Скорее всего, это не так, отсюда и NPE, верно?

4. Я использую 2 поставщика для аутентификации, Google и электронную почту, и оба работают нормально, даже когда я отлаживаю, пользователь правильно установил адрес электронной почты поставщика. Так что да, аутентификация работает