Following Source is simplify my source code.
public class exfragment extends Fragment implements FragmentLifeCycle{
Context mContext;
DB db;
public exfragment(){
}
public exfragment(Context context){
mContext = context;
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState)
db = new DB(mContext, "name.db", null, 1);
}
public void selectName(){
db = DB.getReadableDatabase();
}
}
This source code makes a error Because there is no constructor without arguments so, add a constructor without argument.
After I executed application including my source, click home button for executing in background.
and then I executed some applications until they cause memory lack. When I restart application with my source code, application makes FATAL EXCEPTION
.
db = DB.getReadableDatabase() method.
I think that it is caused by context problem. Because I insert constructor without argument, the context become Null.
please refer to following logcat message
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: Caused by: java.lang.NullPointerException
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at sslab.com.sms_service.SmsReceiveListFragment.selectSmsList(SmsReceiveListFragment.java:494)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at sslab.com.sms_service.SmsReceiveListFragment.callSmsList(SmsReceiveListFragment.java:189)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at sslab.com.sms_service.SmsReceiveListFragment.onCreateView(SmsReceiveListFragment.java:103)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1230)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2042)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:165)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:543)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.Activity.performStart(Activity.java:5018)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:130)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
04-15 18:47:23.969 24132-24132/sslab.com.sms_service E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)