Network singleton with retrofit in android - null reference exception -


i have following singleton

public class apishared {      public string api_base_url = "http://url.com/";     public static apishared instance;     public apimanager client;      private context context;     private retrofit retrofit;      private apishared (context context) {          this.context = context;          retrofit = new retrofit.builder()                 .baseurl(api_base_url)                 .addconverterfactory(gsonconverterfactory.create())                 .build();          client = retrofit.create(apimanager.class);      }      public static apishared init(context context){          if (null == instance){             instance = new apishared(context);         }         return instance;     } } 

and in mainactivity inside oncreate call

call<list<category>> call = apishared.instance.client.categories(); 

and when start app

java.lang.nullpointerexception: attempt read field 'com.example.me.fooder.apimanager com.example.me.fooder.apishared.client' on null object reference

what doing wrong ?

you're screwing singleton pattern. instance should private static. init() named getinstance (although that's not required) , way access instance. call like: apishared.init().client.categories();


Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -