android - App crashes with java.lang.RuntimeException: Unable to start activity ComponentInfo error -


my app has worked before app won't boot correctly. when app boot homebck.xml (which include source code below) automatically crashes , in toast says crash_toast_text in strings.xml.

also not toast appears share tray ex. enter image description here

that pops every single time. below have posted files think necessary me out!

error log:

06-03 18:27:11.420    9762-9762/com.celebration e/acra﹕ acra caught runtimeexception com.celebration     java.lang.runtimeexception: unable start activity componentinfo{com.celebration/com.abode.activity.mainactivity}: java.lang.arrayindexoutofboundsexception: length=10; index=10             @ android.app.activitythread.performlaunchactivity(activitythread.java:2298)             @ android.app.activitythread.handlelaunchactivity(activitythread.java:2360)             @ android.app.activitythread.access$800(activitythread.java:144)             @ android.app.activitythread$h.handlemessage(activitythread.java:1278)             @ android.os.handler.dispatchmessage(handler.java:102)             @ android.os.looper.loop(looper.java:135)             @ android.app.activitythread.main(activitythread.java:5221)             @ java.lang.reflect.method.invoke(native method)             @ java.lang.reflect.method.invoke(method.java:372)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:694)      caused by: java.lang.arrayindexoutofboundsexception: length=10; index=10             @ com.abode.activity.mainactivity.oncreate(mainactivity.java:155)             @ android.app.activity.performcreate(activity.java:5937)             @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1105)             @ android.app.activitythread.performlaunchactivity(activitythread.java:2251)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2360)             at android.app.activitythread.access$800(activitythread.java:144)             at android.app.activitythread$h.handlemessage(activitythread.java:1278)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:135)             at android.app.activitythread.main(activitythread.java:5221)             at java.lang.reflect.method.invoke(native method)             at java.lang.reflect.method.invoke(method.java:372)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:694) 

only snippet of mainactivity.java due 30000 character limit:

public class mainactivity extends actionbaractivity {     public static file path = new file(environment.getexternalstoragedirectory() + "");     public static item[] filelist;     public static boolean firstlvl = true;     public static listadapter adapter;     private final int fileupload = 100;     public imageloader imageloader;     public static final string url = "http://celebration.anazro.com/appdata/images/celebration.jpg";     public static final string url1 = "http://celebration.anazro.com/appdata/images/celebration2.jpg";     public static final string url2 = "http://celebration.anazro.com/appdata/images/celebration3.jpg";     public static final string url3 = "http://celebration.anazro.com/appdata/images/celebration4.jpg";     public static final string url4 = "http://celebration.anazro.com/appdata/images/celebration5.jpg";    // public static final string url5 = "";    // public static final string url6 = "";    // public static final string url7 = "";     public static string chosenfile;     public static arraylist<string> str = new arraylist<string>();     public static string ss;     public aboutpopup aboutpopup;       private drawerlayout mdrawerlayout;     private listview mdrawerlist;     private actionbardrawertoggle mdrawertoggle;      // nav drawer title     private charsequence mdrawertitle;     // used store app title     private charsequence mtitle;     // slide menu items     private string[] navmenutitles;     private typedarray navmenuicons;      //old code     private arraylist<navdraweritem> navdraweritems;      private navdrawerlistadapter navadapter;     layoutinflater inflater;     private view viewforpopup;     public alarmmanager alarm;     //experiment code     public static  livesdksampleapplication mycontextmanager;      public static weakreference wractivity = null;       @override     protected void oncreate(bundle savedinstancestate) {           super.oncreate(savedinstancestate);         setcontentview(r.layout.drawer_main);         wractivity = new weakreference<mainactivity>(this);          globals.application = getapplication();         mycontextmanager = ((livesdksampleapplication) getapplicationcontext());         mycontextmanager.setcontext(this);         mtitle = mdrawertitle = gettitle();         navmenutitles = getresources().getstringarray(r.array.nav_drawer_items);         navmenuicons = getresources().obtaintypedarray(r.array.nav_drawer_icons);          mdrawerlayout = (drawerlayout) findviewbyid(r.id.drawer_layout);         mdrawerlist = (listview) findviewbyid(r.id.left_drawer);         viewforpopup = (view)findviewbyid(r.id.view);          alarm = (alarmmanager) mainactivity.this.getsystemservice(context.alarm_service);          navdraweritems = new arraylist<navdraweritem>();          navdraweritems.add(new navdraweritem(navmenutitles[0], navmenuicons.getresourceid(0, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[1], navmenuicons.getresourceid(1, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[2], navmenuicons.getresourceid(2, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[3], navmenuicons.getresourceid(3, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[4], navmenuicons.getresourceid(4, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[5], navmenuicons.getresourceid(5, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[6], navmenuicons.getresourceid(6, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[7], navmenuicons.getresourceid(7, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[8], navmenuicons.getresourceid(8, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[9], navmenuicons.getresourceid(9, -1)));         navdraweritems.add(new navdraweritem(navmenutitles[10], navmenuicons.getresourceid(10, -1)));         navmenuicons.recycle();          mdrawerlist.setonitemclicklistener(new draweritemclicklistener());          navadapter = new navdrawerlistadapter(getapplicationcontext(),navdraweritems);          mdrawerlist.setadapter(navadapter);         // enabling action bar app icon , behaving toggle button         getsupportactionbar().setdisplayhomeasupenabled(true);         getsupportactionbar().setdisplayshowhomeenabled(true);         getsupportactionbar().sethomebuttonenabled(true);         getsupportactionbar().setlogo(r.drawable.logo);        // getsupportactionbar().setdisplayuselogoenabled(true);          mdrawertoggle = new actionbardrawertoggle(this, mdrawerlayout, r.drawable.side_bar, r.string.app_name, r.string.app_name) {             public void ondrawerclosed(view view) {                 getsupportactionbar().settitle(mtitle);                 // calling onprepareoptionsmenu() show action bar icons                 invalidateoptionsmenu();              }              public void ondraweropened(view drawerview) {                 getsupportactionbar().settitle(mdrawertitle);                 // calling onprepareoptionsmenu() hide action bar icons                 invalidateoptionsmenu();             }         };         mdrawerlayout.setdrawerlistener(mdrawertoggle);          if (savedinstancestate == null) {             // on first time display view first nav item             selectitem(0);         }     }      @override     protected void onsaveinstancestate(bundle outstate) {         super.onsaveinstancestate(outstate);      }      //a method found in stackoverflow, don't remember author, determine right screen orientation independently of phone or tablet device       @override     public void onresume() {         super.onresume();         getsupportfragmentmanager()                 .begintransaction()                 .detach(fragment)                 .attach(fragment)                 .commit();      }       @override     public void ondestroy(){         super.ondestroy();     }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.main, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.        /* int id = item.getitemid();         if (id == r.id.action_settings)         {             return true;         }*/         switch (item.getitemid()) {              case android.r.id.home: {                 if (mdrawerlayout.isdraweropen(mdrawerlist)) {                     mdrawerlayout.closedrawer(mdrawerlist);                 } else {                     mdrawerlayout.opendrawer(mdrawerlist);                 }                 break;             }              case r.id.admin:{                 adminpopup adminpopup = new adminpopup(this);                 adminpopup.showatlocation(viewforpopup,0,0);                 break;             }            }         return super.onoptionsitemselected(item);     }      private class draweritemclicklistener implements listview.onitemclicklistener {         @override         public void onitemclick(adapterview<?> parent, view view, int position,                                 long id) {             selectitem(position);         }     } 

this xml code slideshow:

<linearlayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"     android:id="@+id/homefragment"     android:background="@color/white">       <android.support.v4.view.viewpager         android:id="@+id/view_pager"         android:layout_width="match_parent"         android:layout_height="0dp"          android:layout_weight="10" />      <linearlayout         android:orientation="horizontal"         android:layout_width="match_parent"         android:layout_height="0dp"         android:layout_gravity="center_horizontal"         android:layout_weight="1">          <imageview             android:id="@+id/image_information"             android:layout_width="0dp"             android:layout_height="match_parent"             android:src="@drawable/ic_information"             android:layout_weight="1" />          <imageview             android:id="@+id/image_save"             android:layout_width="0dp"             android:layout_height="match_parent"             android:src="@drawable/ic_save"             android:layout_weight="1"             />          <imageview             android:id="@+id/image_wallpaper"             android:layout_width="0dp"             android:layout_height="match_parent"             android:src="@drawable/ic_share"             android:layout_weight="1"/>       </linearlayout>   </linearlayout> 

this last java file slideshow

public class slideshow extends fragment {     // bitmap bitmap=memorycache.get(url);    public static final string url =            "http://api.androidhive.info/json/movies/2.jpg";     viewpager m_viewpager;     networkimageadapter m_adapter;     imageadapter m_imageadapter;     arraylist<networkimageview> m_networkimageviews;     arraylist<imageview> m_imageview;     imageview imageview;     context context;     imageloader imageloader = appcontroller.getinstance().getimageloader();       @override     public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {          context = getactivity();         view rootview = inflater.inflate(r.layout.slideshow, container, false);         m_viewpager = (viewpager) rootview.findviewbyid(r.id.slide_view_pager);         m_networkimageviews = new arraylist<networkimageview>();         m_networkimageviews.clear();          networkimageview m_newworkimageview = new networkimageview(context);         m_newworkimageview.setimageurl(url, imageloader);         m_networkimageviews.add(m_newworkimageview);         m_adapter = new networkimageadapter(m_networkimageviews);           //m_imageview = new arraylist<imageview>();         //imageview = new imageview(context);    /*       getxmltask task = new getxmltask();         // execute task         task.execute(new string[] { url }); */           return rootview;     }      public static bitmap getbitmapfromurl(string src) {         try {             url url = new url(src);             httpurlconnection connection = (httpurlconnection) url.openconnection();             connection.setdoinput(true);             connection.connect();             inputstream input = connection.getinputstream();             bitmap mybitmap = bitmapfactory.decodestream(input);             return mybitmap;         } catch (ioexception e) {             e.printstacktrace();             return null;         }     } // autho        private class getxmltask extends asynctask<string, void, bitmap> {         @override         protected bitmap doinbackground(string... urls) {             bitmap map = null;             (string url : urls) {                 map = downloadimage(url);             }             return map;         }          // sets bitmap returned doinbackground         @override         protected void onpostexecute(bitmap result) {             imageview.setimagebitmap(result);             m_imageview.add(imageview);             m_imageadapter  = new imageadapter(m_imageview);             m_viewpager.setadapter(m_imageadapter);          }          // creates bitmap inputstream , returns         private bitmap downloadimage(string url) {             bitmap bitmap = null;             inputstream stream = null;             bitmapfactory.options bmoptions = new bitmapfactory.options();             bmoptions.insamplesize = 1;              try {                 stream = gethttpconnection(url);                 bitmap = bitmapfactory.                         decodestream(stream, null, bmoptions);                 stream.close();             } catch (ioexception e1) {                 e1.printstacktrace();             }             return bitmap;         }          // makes httpurlconnection , returns inputstream         private inputstream gethttpconnection(string urlstring)                 throws ioexception {             inputstream stream = null;             url url = new url(urlstring);             urlconnection connection = url.openconnection();              try {                 httpurlconnection httpconnection = (httpurlconnection) connection;                 httpconnection.setrequestmethod("get");                 httpconnection.connect();                  if (httpconnection.getresponsecode() == httpurlconnection.http_ok) {                     stream = httpconnection.getinputstream();                 }             } catch (exception ex) {                 ex.printstacktrace();             }             return stream;         }     }     } 

remove line:

navdraweritems.add(new navdraweritem(navmenutitles[10], navmenuicons.getresourceid(10, -1))); 

and consider replacing block of near-identical calls loop:

for (int = 0; < 10; ++i) {   navdraweritems.add(new navdraweritem(navmenutitles[i], navmenuicons.getresourceid(i, -1))); } 

Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -