私のJSON onResponse改造でヌル点の例外を取得しています:は方法
{
"status": "1",
"login": "sucess"
}
これは私のモデルクラスです:
public class LoginModel {
@SerializedName("status")
@Expose
private String status;
@SerializedName("login")
@Expose
private String login;
...}
これは私のインターフェイスです:
public interface RestInterface {
String url = "http://192.168.10.2/tourist/v1";
@FormUrlEncoded
@POST("/login")
Call<LoginModel> Login(@Field("email") String email,
@Field("pass") String passs);
}
これが私です呼び出し方法:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(RestInterface.url)
.addConverterFactory(GsonConverterFactory.create())
.build();
//Creating Rest Services
final RestInterface restInterface = retrofit.create(RestInterface.class);
//Calling method to get check login
Call<LoginModel> response = restInterface.Login(Email.getText().toString(), Password.getText().toString());
response.enqueue(new Callback<LoginModel>() {
@Override
public void onResponse(Response<LoginModel> response, Retrofit retrofit) {
finish();
startActivity(getIntent());
Email.setText("");
Password.setText("");
LoginModel lm = response.body();
if (lm.getStatus().equals("1")) { //login Success
Toast.makeText(LoginActivity.this, "Login In SuccessFully", Toast.LENGTH_SHORT).show();
Intent i = new Intent(LoginActivity.this,AfterLoginActivity.class);
startActivity(i);
} else if (lm.getStatus().equals("0")) // login failure
{
Toast.makeText(LoginActivity.this, "Invalid UserName/Password ", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Throwable t) {
finish();
startActivity(getIntent());
// String merror = error.getMessage();
Toast.makeText(LoginActivity.this, "try again", Toast.LENGTH_LONG).show(); }
});
行=> lm.getstatus()。equals(1);でヌルポイント例外が発生しています。 改造1.9で正常に動作していましたが、Retrofit 2に変更しました。現在、ヌルポイントの例外が発生しています。
例外ログを使用してください試してみてください。 – Amir
@Amir別のコードを教えてもらえますか?それはGETリクエストメソッドを改造しており、それは直接onFailure()に行きます。応答がないことを意味します。 –