Как проверить, успешно ли мой пользователь вошел в мое приложение Jetpack Compose, созданное с помощью Kotlin?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как проверить, успешно ли мой пользователь вошел в мое приложение Jetpack Compose, созданное с помощью Kotlin?

Сообщение Anonymous »

Итак, я создал приложение, в котором проверяю вход пользователя по его номеру телефона и паролю. Это то, что я установил как onClick в кнопке входа:

Код: Выделить всё

Button(
onClick={
coroutineScope.launch {
var defloginstatus= async{sendLoginDataToDataBase(phoneNumber = initialInput1,password=initialInput2)}
loginstatus= runBlocking { defloginstatus.await() }
Log.d("MyTag",loginstatus.toString())
}
}
)
Теперь в функции sendLoginDataToDataBase() я написал:

Код: Выделить всё

var loginstatus=0
/*
* 0 is the default
* -1 means phone Number not found
* 1 means login success
* -2 means login failure
* -3 means error in data fetching
*/
val database =Firebase.database(/*My DataBase URL*/)
var myRef:DatabaseReference
myRef=database.getReference("Users")
myRef.child(phoneNumber).get().addOnSuccessListener {
val keys=it.value
val setPassword=""
Log.d("MyTag","$keys")
if(keys==null){
loginstatus=-1
}
else{
if(setPassword==password){
loginstatus=1
Log.d("MyTag","Logged in")
}
else {
loginstatus=-2
}
}
}
.addOnFailureListener{
loginstatus=-3
}
Log.d("MyTag","Completed Execution")
return loginstatus
Я решил поработать с переменной setPassword позже. Теперь, на данный момент, я испытываю следующее: на физическом устройстве при нажатии кнопки «Войти» приложение просто зависает. Более того, если я удалю отсюда систему async-await, функция станет асинхронной и всегда установит для переменной loginstatus значение 0. Но для дальнейшей реализации это значение необходимо изменить.
Здесь есть какие-нибудь направления? Я застрял...

Подробнее здесь: https://stackoverflow.com/questions/784 ... app-made-w
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»