Войти, используя стратегию модернизации - PullRequest
0 голосов
/ 28 октября 2019

Надеюсь, все хорошо!

Я новичок в разработке Android (около 3 недель). Мой инструктор дал мне проект, в который я должен войти, показать предметы внутри. Он предоставил мне API. Он спрашивает, что я использую MVVM и Retrofit.

Поэтому я пытаюсь войти в систему. Ответ при входе в систему:

{
   "msg":"success",
   "userid":"2",
   "usertype":"tenant",
   "useremail":"abc@xyz.com",
   "appapikey":"28a013c206583bc57fc2cfa4e11dfa14"
}

Когда я делаю retrofit, все, что он делает, это дает мне ответ, а не то, действительны ли мои учетные данные для входа или нет. В ответе есть msg для определения успешности входа в систему или нет. Что я должен делать?

Должен ли я получить ответ, разобрать его и получить значение msg, или я должен использовать что-то еще, например, Volley?

Это мой userLogin метод

   fun userLogin(email: String, password: String){

        var apiInterface: ApiInterface = ApiClient().onRetrofitCreate()!!.create(ApiInterface::class.java)

        var userCall = apiInterface.userLogin(email, password)

        userCall.enqueue(object : retrofit2.Callback<JsonObject> {
            override fun onFailure(call: Call<JsonObject>, t: Throwable) {
                Log.e("LOGIN RESPONSE", t.message.toString())
                Toast.makeText(view!!.context, "FAILED", Toast.LENGTH_SHORT).show()
            }

            override fun onResponse(call: Call<JsonObject>, response: Response<JsonObject>) {
                var userLogin = response.body()

                Log.i("USER OBJECT", response.body().toString())

                var i = Intent(view!!.context, LandingActivityL::class.java)
                startActivity(i)
            }
        })
    }

Это мой модернизированный интерфейс.

interface ApiInterface {

    @GET("pro_mgt_login.php?")
    fun userLogin(@Query("email") email: String,
                  @Query("password") password: String): retrofit2.Call<JsonObject>

}

Я новый ученик, поэтому, если у вас есть какие-либо рекомендации по хорошей практике кодирования, я буду более чем счастлив узнать от вас!

Спасибо!

...