java - How to implement Yelp Api inside onPerformSync -


could guys give me little push here. i'm stuck trying run yelp api inside onperformsyn. how can possible this.? i'm getting error below. "no empty constructor" i'm using post try create constructor doesn't work me.
please appreciated.

note: after yelp response i'll storing data sqlite (scheme library) not end of code.

public class syncadapter extends abstractthreadedsyncadapter{     public final string log_tag = syncadapter.class.getsimplename();     public static final int sync_interval = 4;//60 * 180;     public static final int sync_flextime = sync_interval/3;     private static final long day_in_millis = 1000;//1000 * 60 * 60 * 24;     private static final int weather_notification_id = 3004;      private googleapiclient mgoogleapiclient;     private yelpapi yelpapi;     private location mlastlocation;      public syncadapter(context context, boolean autoinitialize) {         super(context, autoinitialize);  //        yelpapifactory apifactory = new yelpapifactory(buildconfig.yelp_consumer_key, buildconfig.yelp_consumer_secret, buildconfig.yelp_token, buildconfig.yelp_token_secret); //        yelpapi = apifactory.createapi();     }       @override     public void onperformsync(account account, bundle extras, string authority, contentproviderclient provider, syncresult syncresult) {           class yelpapi2 extends defaultapi10a {              @override             public string getaccesstokenendpoint() {                 return null;             }              @override             public string getauthorizationurl(token arg0) {                 return null;             }              @override             public string getrequesttokenendpoint() {                 return null;             }          }          class yelp {             oauthservice service;             token accesstoken;             public yelp(string consumerkey, string consumersecret,     string token, string tokensecret) {                 this.service = new    servicebuilder().provider(yelpapi2.class).apikey(consumerkey).apisecret(consumersecret).build();                 this.accesstoken = new token(token, tokensecret);             }              public string search(string term, double latitude, double longitude) {                 oauthrequest request = new oauthrequest(verb.get, "http://api.yelp.com/v2/search");                 request.addquerystringparameter("term", term);                 request.addquerystringparameter("ll", latitude + "," + longitude);                 this.service.signrequest(this.accesstoken, request);                 response response = request.send();                 return response.getbody();             }          }                yelp yelp = new yelp(buildconfig.yelp_consumer_key, buildconfig.yelp_consumer_secret, buildconfig.yelp_token, buildconfig.yelp_token_secret);             string response = yelp.search("church", 30.361471, -87.164326);              system.out.println(response);             } 

i followed tut, didn't .jar part, couldn't import it, instead used line in gradle.

        compile 'com.yelp.clientlib:yelp-android:2.0.0'  error i'm getting =========================================      fatal exception: syncadapterthread-1     process: mem.edu.joshua, pid: 14149     org.scribe.exceptions.oauthexception: error while creating api object     @ org.scribe.builder.servicebuilder.createapi(servicebuilder.java:59)     @ org.scribe.builder.servicebuilder.provider(servicebuilder.java:45)     @ mem.edu.joshua.sync.syncadapter$1yelp.<init>(syncadapter.java:99)     @ mem.edu.joshua.sync.syncadapter.onperformsync(syncadapter.java:116)     @ android.content.abstractthreadedsyncadapter$syncthread.run(abstractthreadedsyncadapter.java:259)      caused by: java.lang.instantiationexception: can't instantiate class mem.edu.joshua.sync.syncadapter$1yelpapi2; no empty constructor     @ java.lang.class.newinstanceimpl(native method)     @ java.lang.class.newinstance(class.java:1208)     [1]: http://stackoverflow.com/questions/11859403/no-empty-constructor-when-create-a-service   [2]: https://thysmichels.com/2011/12/30/yelp-api-example/#comment-18031 

the problems servicebuilder trying instantiate class trough reflection. cause problems when using local or inner class, since these classed require 'invisible' parameter. (related question: how instantiate inner class reflection in java?)

so solution extract yelp class , yelpapi2 class own file.


Comments