java - Why do I get an "unreachable code" and "variable not initialized" compilation error? -
hi new java , trying develop existing anti-ragging application support newer api lollipop gingerbread. have decompiled apk , extracted source code , built in gradle system.
although source code correct,i getting 3 errors in java code...not been able figure out week.
the app contains 4 screens. main screen send button send message, second settings screen 2 buttons set message want send , set contacts whom want send message... other 2 screens custom dialog layouts of set meaasge & contact.
no errors in main java file giving reference
mainactivity.java:
package com.eminem.sharath.antiragging; import android.content.intent; import android.content.sharedpreferences; import android.location.location; import android.location.locationlistener; import android.location.locationmanager; import android.os.bundle; import android.support.v7.app.actionbar; import android.support.v7.app.appcompatactivity; import android.telephony.smsmanager; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.imagebutton; import android.widget.toast; public class mainactivity extends appcompatactivity { string[] arrr1; private imagebutton ib1; private double latitude; private locationmanager lm; private double longitude; private sharedpreferences sp; private sharedpreferences sp1; protected void oncreate(bundle parambundle) { super.oncreate(parambundle); setcontentview(r.layout.activity_main); actionbar actionbar = getsupportactionbar(); actionbar.setlogo(r.mipmap.ic_launcher); actionbar.setdisplayshowhomeenabled(true); actionbar.setdisplayuselogoenabled(true); this.ib1 = (imagebutton)findviewbyid(r.id.imagebutton1); this.lm = (locationmanager)getsystemservice(location_service); this.ib1.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { mainactivity.this.sp = mainactivity.this.getsharedpreferences("demo", 1); final string str1 = mainactivity.this.sp.getstring("aaa", ""); mainactivity.this.sp1 = mainactivity.this.getsharedpreferences("sdat", 1); string str2 = mainactivity.this.sp1.getstring("snum", ""); mainactivity.this.arrr1 = str2.split(","); toast.maketext(mainactivity.this.getapplicationcontext(), str2 + str1, toast.length_short).show(); system.out.println("lllllllllllllllllllllllllllllllllllllllllllllllll" + str2 + str1); mainactivity.this.lm.requestlocationupdates("gps", 1000l, 5.0f, new locationlistener() { public void onlocationchanged(location paramanonymous2location) { location locallocation = mainactivity.this.lm.getlastknownlocation("gps"); mainactivity.this.latitude = locallocation.getlatitude(); mainactivity.this.longitude = locallocation.getlongitude(); toast.maketext(mainactivity.this.getapplicationcontext(), "latitude:" + mainactivity.this.latitude + "\n" + "longitude:" + mainactivity.this.longitude, toast.length_short).show(); string str = "http://maps.google.com/maps?=" + mainactivity.this.latitude + "," + mainactivity.this.longitude; (int = 0; ; i++) { if (i >= mainactivity.this.arrr1.length) { return; } system.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + mainactivity.this.arrr1); smsmanager.getdefault().sendtextmessage(mainactivity.this.arrr1[i], null, str1 + " come @ location" + str, null, null); } } public void onproviderdisabled(string paramanonymous2string) { } public void onproviderenabled(string paramanonymous2string) { } public void onstatuschanged(string paramanonymous2string, int paramanonymous2int, bundle paramanonymous2bundle) { } }); } }); } @override public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.menu_main, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { startactivity(new intent(getapplicationcontext(), settingss.class)); return super.onoptionsitemselected(item); } }
the 3 errors in settings file...i have commented error name beside error reference.
settings.java:
package com.eminem.sharath.antiragging; import android.app.dialog; import android.content.contentresolver; import android.content.sharedpreferences; import android.content.sharedpreferences.editor; import android.database.cursor; import android.os.bundle; import android.provider.contactscontract; import android.provider.contactscontract.commondatakinds.phone; import android.support.v7.app.appcompatactivity; import android.text.editable; import android.view.view; import android.view.view.onclicklistener; import android.widget.arrayadapter; import android.widget.button; import android.widget.edittext; import android.widget.multiautocompletetextview; import android.widget.multiautocompletetextview.commatokenizer; import android.widget.toast; import java.io.printstream; import java.util.arraylist; public class settingss extends appcompatactivity { private arraylist<string> alist = new arraylist(); private button b1; private button b2; sharedpreferences.editor ed; private string setnum = ""; sharedpreferences sp; protected void oncreate(bundle parambundle) { super.oncreate(parambundle); setcontentview(r.layout.contact); this.b1 = ((button)findviewbyid(r.id.button1)); this.b2 = ((button)findviewbyid(r.id.button2)); this.b1.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { settingss.this.showdialog(1); } }); this.b2.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { settingss.this.showdialog(2); } }); } protected dialog oncreatedialog(int paramint) { if (paramint == 1) { final dialog localdialog1 = new dialog(this); localdialog1.setcontentview(r.layout.tosetmessage); localdialog1.settitle("set message"); final edittext localedittext = (edittext)findviewbyid(r.id.edittext1); button localbutton1 = (button)findviewbyid(r.id.button1); button localbutton2 = ((button) findviewbyid(r.id.button2)); localbutton2.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { settingss.this.sp = settingss.this.getsharedpreferences("demo", 2); settingss.this.ed = settingss.this.sp.edit(); settingss.this.ed.putstring("aaa", localedittext.gettext().tostring()); settingss.this.ed.commit(); localdialog1.dismiss(); } }); localbutton1.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { localdialog1.dismiss(); } }); localdialog1.show(); } while(true) { return super.oncreatedialog(paramint); /*error: unreachale statement*/ if (paramint == 2) { final dialog localdialog2 = new dialog(this); localdialog2.setcontentview(r.layout.multiautotext); localdialog2.settitle("set contacts"); final multiautocompletetextview localmultiautocompletetextview = (multiautocompletetextview)localdialog2.findviewbyid(r.id.multiautocompletetextview1); button localbutton2 = (button)localdialog2.findviewbyid(r.id.button1); button localbutton3 = (button)localdialog2.findviewbyid(r.id.button2); cursor localcursor = getcontentresolver().query(contactscontract.commondatakinds.phone.content_uri, null, null, null, "display_name asc"); if (localcursor.movetofirst()) { { string str1 = localcursor.getstring(localcursor.getcolumnindex("display_name")); string str2 = localcursor.getstring(localcursor.getcolumnindex("data1")); string str3 = str1 + "%" + str2; this.alist.add(str3); } while (localcursor.movetonext()); arrayadapter localarrayadapter = new arrayadapter(this, r.layout.simple_list_item, this.alist); localmultiautocompletetextview.settokenizer(new multiautocompletetextview.commatokenizer()); localmultiautocompletetextview.setadapter(localarrayadapter); } localbutton2.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { string[] arrayofstring = localmultiautocompletetextview.gettext().tostring().split(","); int = 0; if (i >= arrayofstring.length) { system.out.println("************************" + settingss.this.setnum); toast.maketext(settingss.this.getapplicationcontext(), settingss.this.setnum, toast.length_short).show(); settingss.this.sp = settingss.this.getsharedpreferences("sdat", 2); settingss.this.ed = settingss.this.sp.edit(); settingss.this.ed.putstring("snum", settingss.this.setnum); settingss.this.ed.commit(); settingss.this.setnum = ""; settingss.this.finish(); return; } string str2; if (arrayofstring[i].contains("%")) str2 = arrayofstring[i].split("%")[1]; string str1; (settingss.this.setnum = (settingss.this.setnum + /*error: variable str2 might not have been initialized*/ str2 + ",");; settingss.this.setnum = (settingss.this.setnum + str1 + ",")) { i++; break; /*error: unreachale statement*/ str1 = arrayofstring[i]; } } }); localbutton3.setonclicklistener(new view.onclicklistener() { public void onclick(view paramanonymousview) { localdialog2.dismiss(); } }); localdialog2.show(); } } } }
please me debug application.
i have no intention take credits application because haven't developed it...just want play user interface , give taste of new api.
for /*error: variable str2 might not have been initialized*/
:
change string str2;
string str2 = "";
as other 2 errors, have return;
, break;
before lines.
statements after unconditional return
, break
unreachable, i.e. there no way code there (subsequent lines) execute.
Comments
Post a Comment