How to use internal storage android? -


i have file : language.txt in internal storage. tried reading file string , check string choose values database. can't understand why it's not working. dbdao class class managing databasehelpers.

this code:

public class dbdao {     protected sqlitedatabase database;     private databasehelper dbhelper;     private databasehelper_fr dbhelper_fr;     private context mcontext; public dbdao(context context) {         this.mcontext = context;         dbhelper = new databasehelper(mcontext);         open();     }  public void open() throws sqlexception {          if(fileexists(mcontext, "language.txt"))         {             lang = main.readfile();         }         else         {             main.writefile("english");             lang = "english";         }         if (lang == "english") {             if (dbhelper == null)                 dbhelper = new databasehelper(mcontext);             database = dbhelper.getwritabledatabase();         }          else if (lang == "france") {             if (dbhelper_fr == null)                 dbhelper_fr = new databasehelper_fr(mcontext);             database = dbhelper_fr.getwritabledatabase();         }     }     public boolean fileexists(context context, string filename) {         file file = context.getfilestreampath(filename);         if (file == null || !file.exists()) {             return false;         }         return true;     }      // write text file         public void writefile(string writestring) {             // add-write text file             try {                 fileoutputstream fileout = mcontext.openfileoutput("language.txt", mcontext.mode_private);                 outputstreamwriter outputwriter = new outputstreamwriter(fileout);                 outputwriter.write(writestring);                 outputwriter.close();              } catch (exception e) {                 e.printstacktrace();             }         }          // read text file         public string readfile() {             // reading text file             string s = "";             try {                 fileinputstream filein = mcontext.openfileinput("language.txt");                 inputstreamreader inputread = new inputstreamreader(filein);                 char[] inputbuffer = new char[100];                 int charread;                 while ((charread = inputread.read(inputbuffer)) > 0) {                     // char string conversion                     string readstring = string                             .copyvalueof(inputbuffer, 0, charread);                     s += readstring;                 }                 inputread.close();              } catch (exception e) {                 e.printstacktrace();             }             return s;         } } 

and results:

04-28 00:16:31.686: e/androidruntime(1400): java.lang.runtimeexception: unable start activity componentinfo{us.datn_02/us.datn_02.mainactivity}: java.lang.nullpointerexception 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2184) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2233) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activitythread.access$800(activitythread.java:135) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activitythread$h.handlemessage(activitythread.java:1196) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.os.handler.dispatchmessage(handler.java:102) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.os.looper.loop(looper.java:136) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activitythread.main(activitythread.java:5001) 04-28 00:16:31.686: e/androidruntime(1400):     @ java.lang.reflect.method.invokenative(native method) 04-28 00:16:31.686: e/androidruntime(1400):     @ java.lang.reflect.method.invoke(method.java:515) 04-28 00:16:31.686: e/androidruntime(1400):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:785) 04-28 00:16:31.686: e/androidruntime(1400):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:601) 04-28 00:16:31.686: e/androidruntime(1400):     @ dalvik.system.nativestart.main(native method) 04-28 00:16:31.686: e/androidruntime(1400): caused by: java.lang.nullpointerexception 04-28 00:16:31.686: e/androidruntime(1400):     @ us.datn_02.db.cauhoidao.gettenchude(cauhoidao.java:257) 04-28 00:16:31.686: e/androidruntime(1400):     @ us.datn_02.mainactivity.oncreate(mainactivity.java:57) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activity.performcreate(activity.java:5231) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 04-28 00:16:31.686: e/androidruntime(1400):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2148) 04-28 00:16:31.686: e/androidruntime(1400):     ... 11 more 

is wrong? can 1 me please? thanks.