· 8 years ago · Dec 15, 2017, 07:04 AM
1package com.example.hismartversearch;
2
3import android.content.Context;
4import android.database.Cursor;
5import android.database.SQLException;
6import android.database.sqlite.SQLiteDatabase;
7import android.database.sqlite.SQLiteOpenHelper;
8
9 public class Db extends SQLiteOpenHelper {
10
11
12
13 public Db(Context context) {
14 super(context, "Db.sqlite", null, 1);
15
16 }
17
18 @Override
19 public void onCreate(SQLiteDatabase db) {
20 }
21
22 public Cursor getdata(String sql) {
23
24 // error at this line bellow
25 SQLiteDatabase db = getWritableDatabase();
26 Cursor c = db.rawQuery(sql, null);
27 return c;
28 }
29
30 public void querydata(String sql) {
31 SQLiteDatabase db = getWritableDatabase();
32 db.execSQL(sql);
33 }
34
35 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
36 }
37
38
39 public void delete_table(String table_name) {
40 SQLiteDatabase db = getWritableDatabase();
41 db.execSQL("delete from " + table_name);
42 }
43
44 public void delete_row(String tenbang, String tencot, String giatri) {
45 SQLiteDatabase db = getWritableDatabase();
46 db.delete(tenbang, tencot + "=" + giatri, null);
47 }
48 }
49
50public class TabOneFragment extends Fragment implements SearchView.OnQueryTextListener {
51Db db = new Db(getActivity());
52 @Override
53 public void onCreate(Bundle savedInstanceState) {
54 super.onCreate(savedInstanceState);
55 }
56
57 @Override
58 public View onCreateView(LayoutInflater inflater, ViewGroup container,
59 Bundle savedInstanceState) {
60
61 View view = inflater.inflate(R.layout.tab_one_fragment, container, false);
62
63 recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
64
65 final RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(), 2);
66 recyclerView.setLayoutManager(mLayoutManager);
67 recyclerView.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(5), true));
68 recyclerView.setItemAnimator(new DefaultItemAnimator());
69 recyclerView.setAdapter(adapter);
70 return view;
71
72
73 }
74
75 @Override
76 public boolean onQueryTextSubmit(String query) {
77 return false;
78 }
79
80 @Override
81 public boolean onQueryTextChange(String newText) {
82 return false;
83 }
84
85// error at line in logcat when i create table.
86
87 public void LoadDtaWeb() {
88
89 db.querydata("Create table if not exists tbl_mon_app (_ID integer primary key, IDMon integer not null, IDCH integer not null, TenMon text not null, Gia text not null, ImgUrl text not null, ImgLocal text)");
90
91 }
92}
93//some text hidden to save space display
94
9512-15 13:15:30.763 29533-29533/com.example.hieul.hismartversearch E/AndroidRuntime: FATAL EXCEPTION: main
96 Process: com.example.hieul.hismartversearch, PID: 29533
97 java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler)' on a null object reference
98 at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
99 at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
100 at com.example.hieul.hismartversearch.Db.querydata(Db.java:33)
101 at com.example.hieul.hismartversearch.TabOneFragment.LoadDtaWeb(TabOneFragment.java:309)
102 at com.example.hieul.hismartversearch.TabOneFragment.onCreateView(TabOneFragment.java:131)
103 at android.support.v4.app.Fragment.performCreateView(Fragment.java:2261)
104 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
105 at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
106 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
107 at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
108 at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2590)
109 at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377)
110 at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
111 at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2209)
112 at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:649)
113 at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:167)
114 at android.support.v4.view.ViewPager.populate(ViewPager.java:1238)
115 at android.support.v4.view.ViewPager.populate(ViewPager.java:1086)
116 at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1616)
117 at android.view.View.measure(View.java:20151)
118 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
119 at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:719)
120 at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:91)
121 at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:1361)
122 at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:789)
123 at android.view.View.measure(View.java:20151)
124 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
125 at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
126 at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
127 at android.view.View.measure(View.java:20151)
128 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
129 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
130 at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
131 at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
132 at android.view.View.measure(View.java:20151)
133 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
134 at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
135 at android.view.View.measure(View.java:20151)
136 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
137 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
138 at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
139 at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
140 at android.view.View.measure(View.java:20151)
141 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
142 at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
143 at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3143)
144 at android.view.View.measure(View.java:20151)
145 at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2594)
146 at android.vi