1

java.lang.NullPointerException: Attempt to invoke virtual method 'long com.example.carpetcatalog.DataBaza.insertYec_product(com.example.carpetcatalog.Models.YecProductForDB)' on a null object reference at com.example.carpetcatalog.MainActivity$4.onResponse(MainActivity.java:374)

public void networkCallbackForProduct() {
        Call<List<Yec_product>> productresponse = ApiClient.getRetrofit().create(ApiInterFace.class).getproductfromAPI();
        productresponse.enqueue(new Callback<List<Yec_product>>() {
            @Override
            public void onResponse(Call<List<Yec_product>> call, Response<List<Yec_product>> response) {
                if (!response.isSuccessful()) {
                    Toast.makeText(MainActivity.this, response.code(), Toast.LENGTH_SHORT).show();
                }
                List<Yec_product> productList = response.body();
                for (Yec_product product : productList) {
                    YecProductForDB yecProductForDB = new YecProductForDB(product.getId(), product.getCode(), product.getName(), product.getImage_url(), product.getPrice(), product.getQuality_id(), product.getRoom_id(), product.getChanged());
                  long natija=dataBaza.insertYec_product(yecProductForDB);
                  if (natija==-1){
                      Toast.makeText(MainActivity.this, "error insert baza product", Toast.LENGTH_SHORT).show();
                    finish();
                  }

                }
            }

            @Override
            public void onFailure(Call<List<Yec_product>> call, Throwable t) {
                Toast.makeText(MainActivity.this, "error" + t.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });

    }

Database classs*******************************
Jens
  • 67,715
  • 15
  • 98
  • 113
  • Looks like `dataBaza` is not initialized. BTW. Take care of java naming conventions. Do not use underscores in your method names. Write it in camelCase – Jens Jun 16 '21 at 05:17

0 Answers0