Android AsyncTask RunTimeException -
i'm getting following runtimeexception when executing asynctask's execute() method. execute asynctask clicking on button listener shown below error log.
05-15 12:56:50.045: w/dalvikvm(25830): threadid=12: thread exiting uncaught exception (group=0x415052a0) 05-15 12:56:50.070: e/androidruntime(25830): fatal exception: asynctask #1 05-15 12:56:50.070: e/androidruntime(25830): java.lang.runtimeexception: error occured while executing doinbackground() 05-15 12:56:50.070: e/androidruntime(25830): @ android.os.asynctask$3.done(asynctask.java:299) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.futuretask$sync.innersetexception(futuretask.java:273) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.futuretask.setexception(futuretask.java:124) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:307) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.futuretask.run(futuretask.java:137) 05-15 12:56:50.070: e/androidruntime(25830): @ android.os.asynctask$serialexecutor$1.run(asynctask.java:230) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1076) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:569) 05-15 12:56:50.070: e/androidruntime(25830): @ java.lang.thread.run(thread.java:856) 05-15 12:56:50.070: e/androidruntime(25830): caused by: java.lang.illegalargumentexception: name must not empty: null 05-15 12:56:50.070: e/androidruntime(25830): @ android.os.parcel.readexception(parcel.java:1429) 05-15 12:56:50.070: e/androidruntime(25830): @ android.os.parcel.readexception(parcel.java:1379) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.android.gms.internal.x$a$a.a(unknown source) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.android.gms.auth.googleauthutil.gettoken(unknown source) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.android.gms.auth.googleauthutil.gettoken(unknown source) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.api.client.googleapis.extensions.android.gms.auth.googleaccountcredential.gettoken(googleaccountcredential.java:192) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.api.client.googleapis.extensions.android.gms.auth.googleaccountcredential$requesthandler.intercept(googleaccountcredential.java:217) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.api.client.http.httprequest.execute(httprequest.java:836) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.api.client.googleapis.services.abstractgoogleclientrequest.executeunparsed(abstractgoogleclientrequest.java:412) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.api.client.googleapis.services.abstractgoogleclientrequest.executeunparsed(abstractgoogleclientrequest.java:345) 05-15 12:56:50.070: e/androidruntime(25830): @ com.google.api.client.googleapis.services.abstractgoogleclientrequest.execute(abstractgoogleclientrequest.java:463) 05-15 12:56:50.070: e/androidruntime(25830): @ com.fooworks.foomanager.eventsactivity$1$1.doinbackground(eventsactivity.java:94) 05-15 12:56:50.070: e/androidruntime(25830): @ com.fooworks.foomanager.eventsactivity$1$1.doinbackground(eventsactivity.java:1) 05-15 12:56:50.070: e/androidruntime(25830): @ android.os.asynctask$2.call(asynctask.java:287) 05-15 12:56:50.070: e/androidruntime(25830): @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:305) 05-15 12:56:50.070: e/androidruntime(25830): ... 5 more 05-15 12:56:50.100: d/dalvikvm(25830): gc_concurrent freed 331k, 7% free 12486k/13319k, paused 13ms+13ms, total 47ms here code:
package com.fooworks.foomanager; import java.io.ioexception; import java.util.collections; import java.util.list; import android.accounts.account; import android.accounts.accountmanager; import android.app.activity; import android.content.context; import android.content.intent; import android.content.sharedpreferences; import android.os.asynctask; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.textview; import com.google.android.gms.auth.googleauthexception; import com.google.android.gms.auth.googleauthutil; import com.google.android.gms.auth.googleplayservicesavailabilityexception; import com.google.android.gms.auth.userrecoverableauthexception; import com.google.api.client.extensions.android.http.androidhttp; import com.google.api.client.googleapis.extensions.android.accounts.googleaccountmanager; import com.google.api.client.googleapis.extensions.android.gms.auth.googleaccountcredential; import com.google.api.client.googleapis.extensions.android.gms.auth.googleplayservicesavailabilityioexception; import com.google.api.client.googleapis.extensions.android.gms.auth.userrecoverableauthioexception; import com.google.api.client.http.httptransport; import com.google.api.client.json.jsonfactory; import com.google.api.client.json.gson.gsonfactory; import com.google.api.services.calendar.calendarscopes; import com.google.api.services.calendar.model.calendarlist; public class eventsactivity extends entriesactivity { public static final string client_id = "850381918262.apps.googleusercontent.com"; public static final string api_key = "aizasyc7t5n2akn2hmdrcbbnkimpgbhg9hhuyqc"; public static final string pref_googleaccount_name = "googleaccountname"; public static final int request_account_picker = 8; // take care not // overlap requests // in superclass final httptransport transport = androidhttp.newcompatibletransport(); final jsonfactory jsonfactory = new gsonfactory(); googleaccountcredential credential; com.google.api.services.calendar.calendar calendarclient; void choosegoogleaccount() { googleaccountmanager googleaccountmanager = new googleaccountmanager(this); account[] accounts = googleaccountmanager.getaccounts(); } private static final string scope = "oauth2:https://www.googleapis.com/auth/userinfo.profile"; //private static final string scope = "oauth2:https://www.googleapis.com/auth/calendar"; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); system.out.println("here!!!"); system.out.println(calendarscopes.calendar); credential = googleaccountcredential.usingoauth2(this, calendarscopes.calendar); calendarclient = new com.google.api.services.calendar.calendar.builder( transport, jsonfactory, credential).setapplicationname("client event manager/1.0") .build(); button testbutton = (button) findviewbyid(r.id.test); testbutton.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { new asynctask<void, void, void>() { @override protected void doinbackground(void... params) { try { //this line causing error: calendarlist calendarlist = calendarclient.calendarlist().list().execute(); system.out.println(calendarlist.getitems()); } catch (final googleplayservicesavailabilityioexception availabilityexception) { system.out.println("hello exception 0!"); system.out.println(availabilityexception.getconnectionstatuscode()); } catch (userrecoverableauthioexception userrecoverableexception) { system.out.println("hello exception !"); eventsactivity.this.startactivityforresult(userrecoverableexception.getintent(), 99); } catch (ioexception e) { system.out.println("hello exception 2!"); e.printstacktrace(); } return null; } }.execute(); } }); } could please shed light on causing error , how fix it?
try way
new asynctask<string, void, string>() { @override protected string doinbackground(void... params) { return null; } @override protected void onpostexecute(string result) { super.onpostexecute(result); } }
Comments
Post a Comment