簡體   English   中英

獲取響應404和應用崩潰的改進

[英]getting response 404 and app crash retrofit

我試圖在我的android應用程序中實現獲取和存儲廣告相關int值的改造。 我從API收到類似{"banner_on":"1","int_on":"1","int_click":"3"}

我在這樣的啟動畫面中使用代碼

Retrofit retrofit = ApiClient.getClient();
            ApiService apiService = retrofit.create(ApiService.class);
            apiService.getads().enqueue(new Callback<Ads>() {
                @Override
                public void onResponse(Call<Ads> call, Response<Ads> response) {

                        constant.banner_on = response.body().banner_on();
                        constant.int_on = response.body().int_on();
                        constant.int_click = response.body().int_click();

                }

                 @Override
                 public void onFailure(Call<Ads> call, Throwable t) {

                 }
            });

我的廣告模型如下所示

public final class Ads {
    @SerializedName("success")

    private int banner_on;
    private int int_on;
    private int int_click;

    public int banner_on() {
        return banner_on;
    }
    public int int_on() {
        return int_on;
    }
    public int int_click() {
        return int_click;
    }
}

我的ApiService如下所示

 @GET("getads.php")
    Call<Ads>getads();

我收到如下錯誤

java.lang.NullPointerException: Attempt to invoke virtual method 'int com.myapp.example.model.Ads.banner_on()' on a null object reference

讓我知道是否有人可以糾正我的錯誤之處。 謝謝

如果請求失敗,則response.body()將為null。

if(response.isSuccessful()) //use response.body();
else // use response.errorBody();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM