android fragment sqlite query crashed -


this question has answer here:

i had use sqlite query while. however, when migrate these codes fragment of app. code crash right after query. variables seemed ok when step these codes. guess "context" not given right value, however, not find it. below codes, please me find problem.

problem solved: forgot copy file assets database directory.

fragment.java

import android.content.context; import android.database.cursor; import android.os.bundle; import android.support.v4.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.listview;  public class fragment1 extends fragment {      private int position;     private listview lv;     private static dboperator dbop;     private cursor cursor;     private context context;      @override     public view oncreateview(layoutinflater inflater, viewgroup container,                              bundle savedinstancestate) {          context=getactivity();          view rootview = inflater.inflate(r.layout.fragment_list, container, false);         lv=(listview) rootview.findviewbyid(r.id.list);         dbop = new dboperator(context);         dbop.open();          filllistchatrooms();             return rootview;      }       @override     public void ondestroyview(){         dbop.close();     }      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);      }      private void filllistchatrooms() {          int visibility;          cursor = dbop.readchatrooms();          listadapterchatrooms adapter = new listadapterchatrooms(context, cursor, dbop);          lv.setadapter(adapter);     } } 

dboperator.java

import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlexception; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.os.environment;  import java.io.ioexception; import java.util.locale;  public class dboperator {       private static final string dbname_friends = "friends.db";      private static final int dbversion= 1;      public static final string tablecategories = "categories";     public static final string columnidc = "id_c";      public static final string tableinterests = "interests";     public static final string columnidi = "id_i";       public static final string columnidu = "id_u";     public static final string columnname = "name";     public static final string columnlastchattimestamp = "last_chat_timestamp";     public static final string columnmatchedpercentage = "matched_percentage";     public static final string columnicon = "icon";     public static final string columnchatlog = "chat_log";       public static final string columnidd = "id_d";     public static final string columntimestamp = "timestamp";     public static final string columncontentfile = "content_file";      public static final string tablechatrooms = "chatrooms";     public static final string columnidcr = "id_cr";     public static final string columnchattype = "type";     public static final string columnunreadmessages = "unread_messages";       private string language;      private final context context;     private dbopenhelper dbhelper_friends;     private sqlitedatabase  db_friends;      private final string sdpath;      private string dbpath_friends ;      private static boolean flagdbmodified_friends=false;       dboperator(context ctx){         context=ctx;           dbpath_friends = ctx.getdatabasepath(dbname_friends).getpath();          sdpath= environment.getexternalstoragedirectory().getpath();         locale current= ctx.getresources().getconfiguration().locale;         language=current.getcountry();          switch (language)         {             case "de":                 break;             case "zh-rtw":                 language="tw";                break;             default:                 language="en";                 break;         }      }      public string getlanguage()     {         return language;     }      public void open() throws sqlexception {          boolean flagdbexist;          flagdbexist=fileop.checkfileexist(dbpath_friends);         if (!flagdbexist )  copydbfromserver(dbname_friends);         dbhelper_friends= new dbopenhelper(context, dbname_friends );         db_friends=dbhelper_friends.getwritabledatabase();       }      public void close() {          dbhelper_friends.close();     }      private void copydbfromserver(string dbname)     {      }      private void backupdb(string source, string target) throws ioexception{          fileop.copyfile(source, target);      }      public cursor readchatrooms(){       cursor c;         // below crash start c=db_friends.query(tablechatrooms,null,null,null,null,null,columnchattype);           return c;      }         public class dbopenhelper extends sqliteopenhelper {          public dbopenhelper(context context, string dbname) {             super(context, dbname, null, dbversion);             //  super(context, name, factory, version);             // todo auto-generated constructor stub         }          @override         public void oncreate(sqlitedatabase sqldb) {             // todo auto-generated method stub            }           @override         public void onupgrade(sqlitedatabase arg0, int arg1, int arg2) {             // todo auto-generated method stub          }     } } 

call onactivitycreated() method of fragment

    @override     public void onactivitycreated(bundle savedinstancestate) {         super.onactivitycreated(savedinstancestate);      context=getactivity()     dbop = new dboperator(context);     dbop.open();     filllistchatrooms();      }  

Comments