The android app works only in emulator -
the app working in emulator.i use android studio.but when export , install in mobile phone app doesn't working , closing.i clear code main activity , install again , opens. when start emulation android studio see logcat follows:
07-07 18:47:13.626 1886-1886/com.example.iratus.kvexplorer i/art﹕ not late-enabling -xcheck:jni (already on) 07-07 18:47:14.136 1886-1906/com.example.iratus.kvexplorer i/art﹕ background sticky concurrent mark sweep gc freed 2826(222kb) allocspace objects, 0(0b) los objects, 0% free, 17mb/17mb, paused 30.235ms total 65.361ms 07-07 18:47:14.194 1886-1917/com.example.iratus.kvexplorer d/openglrenderer﹕ render dirty regions requested: true 07-07 18:47:14.195 1886-1886/com.example.iratus.kvexplorer d/﹕ hostconnection::get() new host connection established 0xa69bf1b0, tid 1886 07-07 18:47:14.238 1886-1886/com.example.iratus.kvexplorer d/atlas﹕ validating map... 07-07 18:47:14.304 1886-1917/com.example.iratus.kvexplorer d/﹕ hostconnection::get() new host connection established 0xa69a8bb0, tid 1917 07-07 18:47:14.406 1886-1917/com.example.iratus.kvexplorer i/openglrenderer﹕ initialized egl, version 1.4 07-07 18:47:14.477 1886-1917/com.example.iratus.kvexplorer d/openglrenderer﹕ enabling debug mode 0 07-07 18:47:14.520 1886-1917/com.example.iratus.kvexplorer w/egl_emulation﹕ eglsurfaceattrib not implemented 07-07 18:47:14.521 1886-1917/com.example.iratus.kvexplorer w/openglrenderer﹕ failed set egl_swap_behavior on surface 0xa69a9e60, error=egl_success 07-07 18:47:18.275 1886-1886/com.example.iratus.kvexplorer d/database operations﹕ database created 07-07 18:47:18.278 1886-1886/com.example.iratus.kvexplorer w/fileutils﹕ failed chmod(/data/data/com.example.iratus.kvexplorer/databases/kv_db): android.system.errnoexception: chmod failed: eperm (operation not permitted) 07-07 18:47:18.290 1886-1886/com.example.iratus.kvexplorer i/choreographer﹕ skipped 155 frames! application may doing work on main thread. 07-07 18:47:18.360 1886-1886/com.example.iratus.kvexplorer d/database operations﹕ database created 07-07 18:47:18.361 1886-1886/com.example.iratus.kvexplorer w/fileutils﹕ failed chmod(/data/data/com.example.iratus.kvexplorer/databases/kv_db): android.system.errnoexception: chmod failed: eperm (operation not permitted) 07-07 18:47:18.426 1886-1917/com.example.iratus.kvexplorer w/egl_emulation﹕ eglsurfaceattrib not implemented 07-07 18:47:18.426 1886-1917/com.example.iratus.kvexplorer w/openglrenderer﹕ failed set egl_swap_behavior on surface 0xa69a9e60, error=egl_success 07-07 18:47:19.407 1886-1886/com.example.iratus.kvexplorer i/choreographer﹕ skipped 58 frames! application may doing work on main thread.
my main activity code is:
public class mainactivity extends actionbaractivity { context ctx = this; textview tv1; button buttong; public string fid; //sqlitedatabase db; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final arraylist<string> centerstring = new arraylist<>(arrays.aslist("ΒΑΣΙΛΙΚΩΝ", "ΓΑΛΑΡΙΝΟΥ", "ΛΙΒΑΔΙ", "ΜΟΝΟΠΗΓΑΔΟΥ", "ΠΕΡΙΣΤΕΡΑΣ", "ΣΟΥΡΩΤΗΣ", "ΒΥΖΑΝΤΙΟ", "ΘΕΡΜΗΣ", "ΚΑΛΑΜΑΡΙΑΣ", "ΦΟΙΝΙΚΑΣ", "ΑΓ.ΤΡΙΑΔΑΣ", "ΑΓΓΕΛΟΧΩΡΙΟΥ", "ΕΠΑΝΩΜΗΣ", "ΜΕΣΗΜΕΡΙΟΥ", "ΜΗΧΑΝΙΩΝΑΣ", "ΠΕΡΑΙΑΣ", "ΡΥΣΙΟΥ", "ΤΑΓΑΡΑΔΕΣ", "ΤΟΥΜΠΑ ΕΠΑΝΩΜΗΣ", "ΤΡΙΛΟΦΟΥ", "ΕΞΟΧΗ", "ΠΑΝΟΡΑΜΑ", "ΤΟΥΜΠΑΣ", "ΧΑΡΙΛΑΟΥ", "ΧΟΡΤΙΑΤΗΣ", "ΡΟΣΤΑΝ", "ΑΜΠΕΛΟΚΗΠΟΙ ΘΣΝ", "ΕΛΕΥΘΕΡΙΑ", "ΕΥΚΑΡΠΙΑΣ", "ΠΑΥΛΟΥ ΜΕΛΑ", "ΩΡΑΙΟΚΑΣΤΡΟΥ", "ΑΣΠΡΟΒΑΛΤΑΣ", "ΜΑΔΥΤΟΥ", "ΡΕΝΤΙΝΑΣ-ΜΟΔΙ", "ΣΤΑΥΡΟΥ", "ΑΓ ΑΘΑΝΑΣΙΟΣ", "ΑΓΧΙΑΛΟΣ", "ΑΝΑΤΟΛΙΚΟ", "ΒΑΘΥΛΑΚΟΣ", "ΓΕΦΥΡΑ", "ΔΙΑΒΑΤΩΝ", "ΜΕΣΑΙΟ", "Ν.ΜΕΣΗΜΒΡΙΑ", "ΝΕΟΧΩΡΟΥΔΑ", "ΠΡΟΧΩΜΑ", "ΣΙΝΔΟΣ", "ΧΑΛΑΣΤΡΑ", "ΑΠ.ΠΑΥΛΟΥ", "ΕΡΜΟΥ", "ΑΓ.ΒΑΣΙΛΕΙΟΥ", "ΑΝΑΛΗΨΗΣ", "ΑΣΣΗΡΟΥ", "ΒΕΡΤΙΣΚΟΥ", "ΔΟΡΚΑΔΑΣ", "ΔΡΥΜΟΥ", "ΚΑΒΑΛΑΡΙ", "ΚΟΛΧΙΚΟΥ", "ΚΡΙΘΙΑΣ", "ΛΑΓΚΑΔΑ", "ΛΕΥΚΟΧΩΡΙ", "ΛΗΤΗΣ", "ΞΥΛΟΥΠΟΛΗΣ", "ΟΣΣΑΣ", "ΠΕΝΤΕ ΒΡΥΣΕΣ", "ΒΑΣΙΛΟΥΔΙ", "ΖΑΓΚΛΙΒΕΡΙ", "ΚΑΛΑΜΩΤΟΥ", "ΚΟΚΚΑΛΟΥ", "ΛΑΓΚΑΔΙΚΙΩΝ", "Ν.ΑΠΟΛΛΩΝΙΑΣ", "ΠΕΤΡΟΚΕΡΑΣΑ", "ΠΡΟΦΗΤΗ", "ΒΑΡΝΑΣ", "ΚΑΛΟΧΩΡΙ", "ΠΛΑΤ.ΔΗΜΟΚΡΑΤ.", "ΡΕΤΖΙΚΗ-ΠΕΥΚΩΝ", "ΦΙΛΥΡΟΥ", "ΑΡΕΘΟΥΣΑΣ", "ΑΡΕΤΗ", "ΑΣΚΟΥ", "ΚΡΥΟΝΕΡΙΟΥ", "ΛΟΦΙΣΚΟΣ", "ΜΑΥΡΟΥΔΑΣ", "ΣΟΧΟΥ", "ΦΙΛΑΔΕΛΦΕΙΟΥ", "ΑΔΕΝΔΡΟ", "ΑΘΥΡΑ", "ΚΟΥΦΑΛΙΑ", "ΚΥΜΙΝΑ", "ΜΙΜΡΟ ΜΟΝΑΣΤΗΡΙ", "ΧΑΛΚΗΔΟΝΑΣ")); final map<string, integer> center_kv = new hashmap<>(); (int = 0; < centerstring.size(); i++) { center_kv.put(centerstring.get(i), + 1); } collections.sort(centerstring); final spinner sp = (spinner) findviewbyid(r.id.spinner); arrayadapter<string> spinneradapter = new arrayadapter<> (this, android.r.layout.simple_spinner_item, centerstring); spinneradapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); sp.setadapter(spinneradapter); final spinner sp2 = (spinner) findviewbyid(r.id.spinner2); final arraylist<string> selectedkv= new arraylist<>(); final arrayadapter<string> spinneradapter2 = new arrayadapter<> (this, android.r.layout.simple_spinner_item, selectedkv); sp.setonitemselectedlistener( new adapterview.onitemselectedlistener() { @override public void onitemselected(adapterview<?> parent, view view, int position, long id) { selectedkv.clear(); databaseoperations dop = new databaseoperations(ctx); cursor cr = dop.getinformation(dop); string name_k = sp.getselecteditem().tostring(); string ids = center_kv.get(name_k).tostring(); // arraylist<string> selectedkv = new arraylist<>(); cr.movetofirst(); string magic = ""; { if (ids.equals(cr.getstring(1))){ magic = cr.getstring(0); selectedkv.add(magic);} //log.d("addddddddddddddd", magic.tostring()); } while (cr.movetonext()); spinneradapter2.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); sp2.setadapter(spinneradapter2); fid = ids; } @override public void onnothingselected(adapterview<?> parent) { selectedkv.clear(); databaseoperations dop = new databaseoperations(ctx); cursor cr = dop.getinformation(dop); string name_k = sp.getselecteditem().tostring(); string ids = center_kv.get(name_k).tostring(); cr.movetofirst(); string magic = ""; { if (ids.equals(cr.getstring(1))){ magic = cr.getstring(0); selectedkv.add(magic);} } while (cr.movetonext()); spinneradapter2.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); sp2.setadapter(spinneradapter2); } } ); tv1 = (textview) findviewbyid(r.id.textview); buttong = (button) findviewbyid(r.id.buttongps); view.onclicklistener oclbtnok = new view.onclicklistener() { @override public void onclick(view v) { databaseoperations dop = new databaseoperations(ctx); cursor cr = dop.getinformation(dop); string selected_kv = sp2.getselecteditem().tostring(); string id =fid; cr.movetofirst(); string finalcoordinates = ""; { if (id.equals(cr.getstring(1))){ if (selected_kv.equals(cr.getstring(0))){ finalcoordinates = cr.getstring(2);} } } while (cr.movetonext()); intent intent = new intent(android.content.intent.action_view, uri.parse("geo:0,0?q="+finalcoordinates)); startactivity(intent); } }; buttong.setonclicklistener(oclbtnok); button buttoninfo = (button) findviewbyid(r.id.buttoninfo); view.onclicklistener infolisten = new view.onclicklistener() { @override public void onclick(view v) { file file = new file((environment.getexternalstoragedirectory().getabsolutepath()+"res/kvinformation/Αγγελοχώρι.pdf")); if(file.exists()) { intent target = new intent(intent.action_view); target.setdataandtype(uri.fromfile(file),"application/pdf"); target.setflags(intent.flag_activity_no_history); intent intent = intent.createchooser(target, "open pdf file"); try { startactivity(intent); } catch (activitynotfoundexception e) { // instruct user install pdf reader here, or } } else toast.maketext(getapplicationcontext(), "file path incorrect." , toast.length_long).show(); } }; buttoninfo.setonclicklistener(infolisten); } }
can me?
i add here logcat when use usb debugging phone , crashes
07-07 23:02:50.560 32685-32685/com.example.iratus.kvexplorer d/openglrenderer﹕ enabling debug mode 0 07-07 23:02:50.590 32685-32685/com.example.iratus.kvexplorer d/database operations﹕ database created 07-07 23:02:50.600 32685-32685/com.example.iratus.kvexplorer d/androidruntime﹕ shutting down vm 07-07 23:02:50.600 32685-32685/com.example.iratus.kvexplorer w/dalvikvm﹕ threadid=1: thread exiting uncaught exception (group=0x4101aac8) 07-07 23:02:50.600 32685-32685/com.example.iratus.kvexplorer e/androidruntime﹕ fatal exception: main android.database.cursorindexoutofboundsexception: index 0 requested, size of 0 @ android.database.abstractcursor.checkposition(abstractcursor.java:424) @ android.database.abstractwindowedcursor.checkposition(abstractwindowedcursor.java:136) @ android.database.abstractwindowedcursor.getstring(abstractwindowedcursor.java:50) @ com.example.iratus.kvexplorer.mainactivity$1.onitemselected(mainactivity.java:72) @ android.widget.adapterview.fireonselected(adapterview.java:899) @ android.widget.adapterview.access$200(adapterview.java:50) @ android.widget.adapterview$selectionnotifier.run(adapterview.java:863) @ android.os.handler.handlecallback(handler.java:725) @ android.os.handler.dispatchmessage(handler.java:92) @ android.os.looper.loop(looper.java:176) @ android.app.activitythread.main(activitythread.java:5299) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:511) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1102) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:869) @ dalvik.system.nativestart.main(native method) 07-07 23:02:50.620 32685-32685/com.example.iratus.kvexplorer i/process﹕ sending signal. pid: 32685 sig: 9
where have put database file?
this appears permissions issue fileutils - on database table - check if app has rights storage folder or if has ownership. per logcat, see line: 07-07 18:47:18.361 1886-1886/com.example.iratus.kvexplorer w/fileutils﹕ failed chmod(/data/data/com.example.iratus.kvexplorer/databases/kv_db): android.system.errnoexception: chmod failed: eperm (operation not permitted)
Comments
Post a Comment