java - Android Activity Force Closing in Android 4.1 -


this main activity's source, have tried start in android 2.3.7 , android 4.1 , above, runs successfuly in android 2.3.7 crashes in android 4.1.

public class calculatoractivity extends activity implements locationlistener  { protected static final string tag = "123"; public static handler h;     @override protected void oncreate(bundle savedinstancestate)  {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_calculator);     (locationmanager)getsystemservice(context.location_service);       final sharedpreferences unitpreference = preferencemanager.getdefaultsharedpreferences(this);     final string unitstring = unitpreference.getstring("unit_type", "");     final int unit = integer.parseint(unitstring);        changecityname();       changeusername();        if (unit==1)     {      textview kms1 = (textview) findviewbyid(r.id.textview7);     kms1.settext("kms.");      textview kml = (textview) findviewbyid(r.id.textview8);     kml.settext("km/lt");      textview kms2 = (textview) findviewbyid(r.id.textview9);     kms2.settext("kms.");      textview rs = (textview) findviewbyid(r.id.textview10);     rs.settext("rs.");     }      else     {         textview kms1 = (textview) findviewbyid(r.id.textview7);         kms1.settext("mi.");          textview kml = (textview) findviewbyid(r.id.textview8);         kml.settext("mi/ga");          textview kms2 = (textview) findviewbyid(r.id.textview9);         kms2.settext("mi.");          textview rs = (textview) findviewbyid(r.id.textview10);         rs.settext("$");     }       clickbutton();  };   private void changeusername()  { final sharedpreferences currentusername = getsharedpreferences("prefs_name",0); final string loggedinuser = currentusername.getstring("username", ""); textview loggedinusername = (textview) findviewbyid(r.id.textview11); loggedinusername.settext("logged in "+loggedinuser);  }   private void changecityname()  { final sharedpreferences citypreference = preferencemanager.getdefaultsharedpreferences(this); final string citystring = citypreference.getstring("example_list", ""); int city = integer.parseint(citystring); textview cityname = (textview) findviewbyid(r.id.textview12);  if (city==1) {     cityname.settext("panchkula   "); } else if (city==2) {     cityname.settext("chandigarh   "); } else if (city==3) {     cityname.settext("mohali   "); } else {     cityname.settext("your city   "); }   }    @override public void onresume() {     super.onresume();      final sharedpreferences unitpreference = preferencemanager.getdefaultsharedpreferences(this);     final string unitstring = unitpreference.getstring("unit_type", "");     final int unit = integer.parseint(unitstring);       final sharedpreferences citypreference = preferencemanager.getdefaultsharedpreferences(this);     final string citystring = citypreference.getstring("example_list", "");     int city = integer.parseint(citystring);       final sharedpreferences fuelpreference = preferencemanager.getdefaultsharedpreferences(this);     final string fuelstring = fuelpreference.getstring("fuel_type", "");     int fuel = integer.parseint(fuelstring);         if (unit==1)     {      textview kms1 = (textview) findviewbyid(r.id.textview7);     kms1.settext("kms.");      textview kml = (textview) findviewbyid(r.id.textview8);     kml.settext("km/lt");      textview kms2 = (textview) findviewbyid(r.id.textview9);     kms2.settext("kms.");      textview rs = (textview) findviewbyid(r.id.textview10);     rs.settext("rs.");     }      else     {         textview kms1 = (textview) findviewbyid(r.id.textview7);         kms1.settext("mi.");          textview kml = (textview) findviewbyid(r.id.textview8);         kml.settext("mi/ga");          textview kms2 = (textview) findviewbyid(r.id.textview9);         kms2.settext("mi.");          textview rs = (textview) findviewbyid(r.id.textview10);         rs.settext("$");     }     clickbutton();     changecityname();     changeusername();     h = new handler()     {         public void handlemessage(message msg)          {             super.handlemessage(msg);             switch (msg.what)             {             case 0:                 finish();                 break;             }          }      };  }  @override protected void onpause() {     super.onpause();     final sharedpreferences unitpreference = getsharedpreferences("unit_type",mode_private);     sharedpreferences.editor uniteditor = unitpreference.edit();     uniteditor.commit();   }  public void clickbutton()  {        final sharedpreferences unitpreference = preferencemanager.getdefaultsharedpreferences(this);     final string unitstring = unitpreference.getstring("unit_type", "");     final int unit = integer.parseint(unitstring);      final sharedpreferences citypreference = preferencemanager.getdefaultsharedpreferences(this);     final string citystring = citypreference.getstring("example_list", "");     int city = integer.parseint(citystring);      final sharedpreferences fuelpreference = preferencemanager.getdefaultsharedpreferences(this);     final string fuelstring = fuelpreference.getstring("fuel_type", "");     int fuel = integer.parseint(fuelstring);      sharedpreferences petrolpricesetting = getsharedpreferences("prefs_name", 0);     sharedpreferences dieselpricesetting = getsharedpreferences("prefs_name", 0);     float citypetrolprice =petrolpricesetting.getfloat("petrolprice", 70.0f);     float citydieselprice =dieselpricesetting.getfloat("dieselprice", 60.0f);          final double price;     if (fuel==1)     {         if (city==1)         {             price=69.19;         }         else if (city==2)         {             price=69.59;         }         else if (city==3)         {             price=76.18;         }         else          {             price=citypetrolprice;          }      }     else     {         if (city==1)         {             price=47.24;         }         else if (city==2)         {             price=49.42;         }         else if (city==3)         {             price=47.56;         }         else         {             price=citydieselprice;          }      }      button livecost = (button) findviewbyid(r.id.button3);     livecost.setonclicklistener(new onclicklistener()     {          @override         public void onclick(view arg0)          {             intent startlive = new intent(calculatoractivity.this,live.class);             calculatoractivity.this.startactivity(startlive);          }      });       button calculatemileage = (button) findviewbyid(r.id.button1);     calculatemileage.setonclicklistener(new onclicklistener()     {         @override         public void onclick(view arg0)         {             edittext distancetravelled= (edittext) findviewbyid(r.id.edittext1);             edittext refillingcost= (edittext) findviewbyid(r.id.edittext2);              if (distancetravelled.length()==0 || refillingcost.length()==0 )             {                 log.v(tag, "setting has been changed!");                 toast.maketext(getapplicationcontext(), "please fill both distance travelled , cost!", toast.length_short).show();             }              else              {             string stringdistancetravelled=distancetravelled.gettext().tostring();             string stringrefillingcost=refillingcost.gettext().tostring();             log.v(tag, "setting has been changed!");               float floatdistancetravelled =float.valueof(stringdistancetravelled);             float floatrefillingcost =float.valueof(stringrefillingcost);              double mileageanswer = (floatdistancetravelled/floatrefillingcost)*price;             final float floatmileageanswer = (float) mileageanswer;             double mileageanswerroundoff = math.round(floatmileageanswer*100.0)/100.0;              double mileageanswerimperial = mileageanswer*0.621371192;             final float floatmileageanswerimperial = (float) mileageanswerimperial;             double mileageanswerimperialroundoff = math.round(floatmileageanswerimperial*100.0)/100.0;              if (unit==1)             {             toast.maketext(getapplicationcontext(), mileageanswerroundoff+" km/l", toast.length_long).show();             }             else             {                 toast.maketext(getapplicationcontext(), mileageanswerimperialroundoff+" mi/ga", toast.length_long).show();             }          }         }});      button calculatecost= (button) findviewbyid(r.id.button2);     calculatecost.setonclicklistener(new onclicklistener()     {         @override         public void onclick(view arg0)         {             edittext mileage= (edittext) findviewbyid(r.id.edittext3);             edittext distance= (edittext) findviewbyid(r.id.edittext4);              if (mileage.gettext().length()==0 || distance.gettext().length()==0 )             {                 toast.maketext(getapplicationcontext(), "please fill both distance travel , mileage!", toast.length_short).show();             }             else              {                string stringmileage=mileage.gettext().tostring();             string stringdistance=distance.gettext().tostring();                   float floatmileage =float.valueof(stringmileage);             float floatdistance =float.valueof(stringdistance);              double costanswer = (floatdistance)*(price/floatmileage);             final float floatcostanswer = (float) costanswer;             double costanswerroundoff = math.round(floatcostanswer*100.0)/100.0;              double costanswerimperial = costanswer*0.621371192*0.01661;             final float floatcostanswerimperial = (float) costanswerimperial;             double costanswerimperialroundoff = math.round(floatcostanswerimperial*100.0)/100.0;              if (unit==1)                             {                 toast.maketext(getapplicationcontext(), "rs."+costanswerroundoff, toast.length_long).show();             }             else             {                 toast.maketext(getapplicationcontext(), "$"+costanswerimperialroundoff, toast.length_long).show();             }          }      }});   }     @override public boolean oncreateoptionsmenu(menu menu)  {      getmenuinflater().inflate(r.menu.activity_calculator, menu);     return true; }  public boolean onmenuitemselected(int featureid, menuitem item)  {      if (item.getitemid()==r.id.menu_settings)     {         intent startsettings = new intent(calculatoractivity.this,settingsactivity.class);         calculatoractivity.this.startactivity(startsettings);      }     else     {         intent startlogin = new intent(calculatoractivity.this,login.class);         calculatoractivity.this.startactivity(startlogin);         checkbox keeplog = (checkbox) findviewbyid(r.id.checkbox1);         boolean ischecked = false;         sharedpreferences settings = getsharedpreferences("prefs_name", 0);         sharedpreferences.editor editor = settings.edit();         editor.putboolean("ischecked", ischecked);         editor.commit();         finish();     }    return true; }  @override public void onlocationchanged(location location)  {  }  @override public void onproviderdisabled(string arg0)  {   }  @override public void onproviderenabled(string arg0)  {   }  @override public void onstatuschanged(string arg0, int arg1, bundle arg2)  {   }  } 

layout file:

<textview     android:id="@+id/textview2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentleft="true"     android:layout_below="@+id/textview1"     android:layout_marginleft="24dp"     android:layout_margintop="32dp"     android:text="distance: "     android:textappearance="?android:attr/textappearancemedium"     android:textcolor="@android:color/white" />  <textview     android:id="@+id/textview3"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignleft="@+id/textview2"     android:layout_below="@+id/textview2"     android:layout_margintop="39dp"     android:text="cost:"     android:textappearance="?android:attr/textappearancemedium"     android:textcolor="@android:color/white" />  <edittext     android:id="@+id/edittext2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/textview3"     android:layout_alignbottom="@+id/textview3"     android:layout_alignleft="@+id/edittext1"     android:ems="10"     android:inputtype="numberdecimal"     android:width="50dp" />  <textview     android:id="@+id/textview10"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbottom="@+id/edittext2"     android:layout_toleftof="@+id/edittext2"     android:text="rs."     android:textappearance="?android:attr/textappearancesmall"     android:textcolor="@android:color/white" />  <textview     android:id="@+id/textview9"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbottom="@+id/textview6"     android:layout_torightof="@+id/edittext4"     android:text="kms."     android:textappearance="?android:attr/textappearancesmall"     android:textcolor="@android:color/white" />  <edittext     android:id="@+id/edittext1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignright="@+id/textview1"     android:layout_aligntop="@+id/textview2"     android:ems="10"     android:height="10dp"     android:inputtype="numberdecimal"     android:maxheight="10dp"     android:width="50dp" />  <textview     android:id="@+id/textview7"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/edittext1"     android:layout_alignbottom="@+id/edittext1"     android:layout_torightof="@+id/edittext1"     android:text="kms."     android:textappearance="?android:attr/textappearancesmall"     android:textcolor="@android:color/white" />  <edittext     android:id="@+id/edittext3"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/textview5"     android:layout_alignbottom="@+id/textview5"     android:layout_torightof="@+id/textview10"     android:ems="10"     android:inputtype="numberdecimal"     android:width="50dp" />  <textview     android:id="@+id/textview4"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignright="@+id/button1"     android:layout_below="@+id/button1"     android:layout_margintop="26dp"     android:text="distance cost calculator"     android:textappearance="?android:attr/textappearancelarge"     android:textcolor="@android:color/white"     android:textstyle="bold" />  <textview     android:id="@+id/textview1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparenttop="true"     android:layout_centerhorizontal="true"     android:layout_margintop="36dp"     android:text="mileage calculator"     android:textappearance="?android:attr/textappearancelarge"     android:textcolor="@android:color/white"     android:textstyle="bold" />  <edittext     android:id="@+id/edittext4"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/textview6"     android:layout_alignbottom="@+id/textview6"     android:layout_toleftof="@+id/textview7"     android:ems="10"     android:inputtype="numberdecimal"     android:width="50dp" >      <requestfocus /> </edittext>  <textview     android:id="@+id/textview6"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignleft="@+id/textview3"     android:layout_below="@+id/textview4"     android:layout_margintop="32dp"     android:text="distance: "     android:textappearance="?android:attr/textappearancemedium"     android:textcolor="@android:color/white" />  <textview     android:id="@+id/textview5"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignleft="@+id/textview6"     android:layout_below="@+id/edittext4"     android:layout_margintop="34dp"     android:text="mileage: "     android:textappearance="?android:attr/textappearancemedium"     android:textcolor="@android:color/white" />  <button     android:id="@+id/button3"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/button2"     android:layout_alignbottom="@+id/button2"     android:layout_alignright="@+id/textview8"     android:background="@drawable/btn_normal"     android:paddingbottom="12dp"     android:paddingleft="20dp"     android:paddingright="20dp"     android:paddingtop="12dp"     android:text="live cost"     android:textcolor="@android:color/white" />  <button     android:id="@+id/button2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@+id/edittext3"     android:layout_margintop="18dp"     android:layout_toleftof="@+id/button3"     android:background="@drawable/btn_normal"     android:paddingbottom="12dp"     android:paddingleft="15dp"     android:paddingright="15dp"     android:paddingtop="12dp"     android:text="calculate cost"     android:textcolor="@android:color/white" />  <button     android:id="@+id/button1"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_below="@+id/edittext2"     android:layout_centerhorizontal="true"     android:layout_margintop="17dp"     android:background="@drawable/btn_normal"     android:paddingbottom="12dp"     android:paddingleft="55dp"     android:paddingright="55dp"     android:paddingtop="12dp"     android:text="calculate mileage"     android:textcolor="@android:color/white" />  <textview     android:id="@+id/textview8"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignbaseline="@+id/edittext3"     android:layout_alignbottom="@+id/edittext3"     android:layout_alignleft="@+id/textview9"     android:text="km/lt"     android:textappearance="?android:attr/textappearancesmall"     android:textcolor="@android:color/white" />  <textview     android:id="@+id/textview11"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentbottom="true"     android:layout_alignparentleft="true"     android:paddingbottom="5dp"     android:paddingleft="5dp"     android:text="logged in as" />  <textview     android:id="@+id/textview12"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentbottom="true"     android:layout_alignparentright="true"     android:paddingbottom="5dp"     android:text="city"     android:textappearance="?android:attr/textappearancesmall" /> 

manifest: changing theme in manifest has no effect, have tried themes run other successful activities!

log:

08-01 10:38:14.374: e/trace(14994): error opening trace file: no such file or directory (2) 08-01 10:38:14.390: v/activitythread(14994): com.basic.mileagecalculatorwithsettings white listed hwui 08-01 10:38:14.452: i/system.out(14994): sending wait chunk 08-01 10:38:14.452: w/activitythread(14994): application com.basic.mileagecalculatorwithsettings waiting debugger on port 8100... 08-01 10:38:14.499: i/dalvikvm(14994): debugger active 08-01 10:38:14.655: i/system.out(14994): debugger has connected 08-01 10:38:14.655: i/system.out(14994): waiting debugger settle... 08-01 10:38:14.858: i/system.out(14994): waiting debugger settle... 08-01 10:38:15.061: i/system.out(14994): waiting debugger settle... 08-01 10:38:15.257: i/system.out(14994): waiting debugger settle... 08-01 10:38:15.460: i/system.out(14994): waiting debugger settle... 08-01 10:38:15.663: i/system.out(14994): waiting debugger settle... 08-01 10:38:15.858: i/system.out(14994): waiting debugger settle... 08-01 10:38:16.061: i/system.out(14994): waiting debugger settle... 08-01 10:38:16.265: i/system.out(14994): waiting debugger settle... 08-01 10:38:16.460: i/system.out(14994): waiting debugger settle... 08-01 10:38:16.663: i/system.out(14994): debugger has settled (1366) 08-01 10:38:29.194: d/androidruntime(14994): shutting down vm 08-01 10:38:29.194: w/dalvikvm(14994): threadid=1: thread exiting uncaught exception (group=0x40aa0440) 08-01 10:38:29.257: e/androidruntime(14994): fatal exception: main 08-01 10:38:29.257: e/androidruntime(14994): java.lang.runtimeexception: unable start activity componentinfo{com.basic.mileagecalculatorwithsettings/com.basic.mileagecalculatorwithsettings.calculatoractivity}: java.lang.numberformatexception: invalid int: "" 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2187) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2212) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activitythread.access$600(activitythread.java:144) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activitythread$h.handlemessage(activitythread.java:1210) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.os.handler.dispatchmessage(handler.java:99) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.os.looper.loop(looper.java:137) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activitythread.main(activitythread.java:4966) 08-01 10:38:29.257: e/androidruntime(14994):    @ java.lang.reflect.method.invokenative(native method) 08-01 10:38:29.257: e/androidruntime(14994):    @ java.lang.reflect.method.invoke(method.java:511) 08-01 10:38:29.257: e/androidruntime(14994):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:791) 08-01 10:38:29.257: e/androidruntime(14994):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:558) 08-01 10:38:29.257: e/androidruntime(14994):    @ dalvik.system.nativestart.main(native method) 08-01 10:38:29.257: e/androidruntime(14994): caused by: java.lang.numberformatexception: invalid int: "" 08-01 10:38:29.257: e/androidruntime(14994):    @ java.lang.integer.invalidint(integer.java:138) 08-01 10:38:29.257: e/androidruntime(14994):    @ java.lang.integer.parseint(integer.java:359) 08-01 10:38:29.257: e/androidruntime(14994):    @ java.lang.integer.parseint(integer.java:332) 08-01 10:38:29.257: e/androidruntime(14994):    @ com.basic.mileagecalculatorwithsettings.calculatoractivity.oncreate(calculatoractivity.java:55) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activity.performcreate(activity.java:5008) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1079) 08-01 10:38:29.257: e/androidruntime(14994):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2141) 08-01 10:38:29.257: e/androidruntime(14994):    ... 11 more 

the error think invalid int: "". reason?

final string unitstring = unitpreference.getstring("unit_type", ""); final int unit = integer.parseint(unitstring); 

should fail on every android version!

try:

final string unitstring = unitpreference.getstring("unit_type", "0"); final int unit = integer.parseint(unitstring); 

note: better way achieve store "unit_type" int, not string


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -