· 6 years ago · Jun 21, 2019, 08:00 PM
1package com.example.mainactivity;
2
3import android.app.Activity;
4import android.content.Intent;
5import android.os.Bundle;
6import android.view.View;
7import android.view.View.OnClickListener;
8import android.widget.Button;
9import android.widget.EditText;
10
11import com.example.sqlite.DBManager;
12
13public class AddStudentActivity extends Activity implements OnClickListener {
14
15 private Button addTodoBtn;
16 private EditText subjectEditText;
17 private EditText descEditText;
18
19 private DBManager dbManager;
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setTitle("Add Record");
25
26 setContentView(R.layout.activity_add_record);
27 subjectEditText = (EditText) findViewById(R.id.name_edittext);
28 descEditText = (EditText) findViewById(R.id.surname_edittext);
29 addTodoBtn = (Button) findViewById(R.id.add_record);
30 dbManager = new DBManager(this);
31 dbManager.open();
32 addTodoBtn.setOnClickListener(this);
33 }
34
35 @Override
36 public void onClick(View v) {
37 switch (v.getId()) {
38 case R.id.add_record:
39
40 final String name = subjectEditText.getText().toString();
41 final String desc = descEditText.getText().toString();
42
43 dbManager.insert(name, desc);
44 Intent main = new Intent(AddStudentActivity.this, StudentListActivity.class)
45 .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
46
47 startActivity(main);
48 break;
49 }
50 }
51
52}
53
54..........
55
56package com.example.mainactivity;
57
58import android.content.Intent;
59import android.database.Cursor;
60import android.os.Bundle;
61import android.view.Menu;
62import android.view.MenuItem;
63import android.widget.SimpleCursorAdapter;
64
65import androidx.appcompat.app.AppCompatActivity;
66
67import com.example.sqlite.DBManager;
68import com.example.sqlite.StudentModelClass;
69
70public class MainActivity extends AppCompatActivity {
71
72 private DBManager dbManager;
73 private SimpleCursorAdapter adapter;
74
75 final String[] from = new String[]{StudentModelClass.STUDENT_ID,
76 StudentModelClass.STUDENT_NAME, StudentModelClass.STUDENT_SURNAME};
77
78 final int[] to = new int[]{R.id.id, R.id.name, R.id.name};
79
80 @Override
81 protected void onCreate(Bundle savedInstanceState) {
82 super.onCreate(savedInstanceState);
83
84
85 dbManager = new DBManager(this);
86 dbManager.open();
87 Cursor cursor = dbManager.fetch();
88
89
90 adapter = new SimpleCursorAdapter(this, R.layout.activity_view_record, cursor, from, to, 0);
91 adapter.notifyDataSetChanged();
92
93 setContentView(R.layout.activity_main);
94
95 Intent main = new Intent(MainActivity.this, StudentListActivity.class)
96 .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
97 startActivity(main);
98
99
100 }
101
102 @Override
103 public boolean onCreateOptionsMenu(Menu menu) {
104 getMenuInflater().inflate(R.menu.main, menu);
105 return true;
106 }
107
108 @Override
109 public boolean onOptionsItemSelected(MenuItem item) {
110
111 int id = item.getItemId();
112 if (id == R.id.add_record) {
113
114 Intent add_mem = new Intent(this, AddStudentActivity.class);
115 startActivity(add_mem);
116
117 }
118 return super.onOptionsItemSelected(item);
119 }
120
121}
122.....
123
124package com.example.mainactivity;
125
126import android.app.Activity;
127import android.content.Intent;
128import android.os.Bundle;
129import android.view.View;
130import android.view.View.OnClickListener;
131import android.widget.Button;
132import android.widget.EditText;
133
134import com.example.sqlite.DBManager;
135
136public class ModifyStudentsActivity extends Activity implements OnClickListener {
137
138 private EditText titleText;
139 private Button updateBtn, deleteBtn;
140 private EditText descText;
141
142 private long _id;
143
144 private DBManager dbManager;
145
146 @Override
147 protected void onCreate(Bundle savedInstanceState) {
148 super.onCreate(savedInstanceState);
149
150 setTitle("Modify Record");
151
152 setContentView(R.layout.activity_modify_record);
153
154 dbManager = new DBManager(this);
155 dbManager.open();
156
157 titleText = (EditText) findViewById(R.id.name_edittext);
158 descText = (EditText) findViewById(R.id.surname_edittext);
159
160 updateBtn = (Button) findViewById(R.id.btn_update);
161 deleteBtn = (Button) findViewById(R.id.btn_delete);
162
163 Intent intent = getIntent();
164 String id = intent.getStringExtra("id");
165 String name = intent.getStringExtra("title");
166 String desc = intent.getStringExtra("desc");
167
168 _id = Long.parseLong(id);
169
170 titleText.setText(name);
171 descText.setText(desc);
172
173 updateBtn.setOnClickListener(this);
174 deleteBtn.setOnClickListener(this);
175 }
176
177 @Override
178 public void onClick(View v) {
179 switch (v.getId()) {
180 case R.id.btn_update:
181 String title = titleText.getText().toString();
182 String desc = descText.getText().toString();
183
184 dbManager.update(_id, title, desc);
185 this.returnHome();
186 break;
187
188 case R.id.btn_delete:
189 dbManager.delete(_id);
190 this.returnHome();
191 break;
192 }
193 }
194
195 public void returnHome() {
196 Intent home_intent = new Intent(getApplicationContext(), StudentListActivity.class)
197 .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
198 startActivity(home_intent);
199 }
200}
201
202..........
203
204package com.example.mainactivity;
205
206import androidx.appcompat.app.AppCompatActivity;
207
208import android.content.Intent;
209import android.database.Cursor;
210import android.os.Bundle;
211import android.view.Menu;
212import android.view.MenuItem;
213import android.view.View;
214import android.widget.AdapterView;
215import android.widget.ListView;
216import android.widget.SimpleCursorAdapter;
217import android.widget.TextView;
218
219import com.example.sqlite.DBManager;
220import com.example.sqlite.StudentModelClass;
221
222public class StudentListActivity extends AppCompatActivity {
223 private DBManager dbManager;
224
225 private ListView listView;
226
227 private SimpleCursorAdapter adapter;
228
229 final String[] from = new String[]{StudentModelClass.STUDENT_ID,
230 StudentModelClass.STUDENT_NAME, StudentModelClass.STUDENT_SURNAME};
231
232 final int[] to = new int[]{R.id.id, R.id.name, R.id.surname};
233
234 @Override
235 protected void onCreate(Bundle savedInstanceState) {
236 super.onCreate(savedInstanceState);
237
238 setContentView(R.layout.activity_list);
239
240 dbManager = new DBManager(this);
241 dbManager.open();
242 Cursor cursor = dbManager.fetch();
243
244 listView = (ListView) findViewById(R.id.listview);
245 listView.setEmptyView(findViewById(R.id.empty));
246
247 adapter = new SimpleCursorAdapter(this, R.layout.activity_view_record, cursor, from, to, 0);
248 adapter.notifyDataSetChanged();
249
250 listView.setAdapter(adapter);
251
252 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
253 @Override
254 public void onItemClick(AdapterView<?> parent, View view, int position, long viewId) {
255 TextView idTextView = (TextView) view.findViewById(R.id.id);
256 TextView titleTextView = (TextView) view.findViewById(R.id.name);
257 TextView descTextView = (TextView) view.findViewById(R.id.surname);
258
259 String id = idTextView.getText().toString();
260 String title = titleTextView.getText().toString();
261 String desc = descTextView.getText().toString();
262
263 Intent modify_intent = new Intent(getApplicationContext(), ModifyStudentsActivity.class);
264 modify_intent.putExtra("title", title);
265 modify_intent.putExtra("desc", desc);
266 modify_intent.putExtra("id", id);
267
268 startActivity(modify_intent);
269 }
270 });
271 }
272
273 @Override
274 public boolean onCreateOptionsMenu(Menu menu) {
275 getMenuInflater().inflate(R.menu.main, menu);
276 return true;
277 }
278
279 @Override
280 public boolean onOptionsItemSelected(MenuItem item) {
281
282 int id = item.getItemId();
283 if (id == R.id.add_record) {
284
285 Intent add_mem = new Intent(this, AddStudentActivity.class);
286 startActivity(add_mem);
287
288 }
289 return super.onOptionsItemSelected(item);
290 }
291
292}
293
294.............
295package com.example.sqlite;
296
297import android.content.ContentValues;
298import android.content.Context;
299import android.database.Cursor;
300import android.database.SQLException;
301import android.database.sqlite.SQLiteDatabase;
302
303public class DBManager {
304
305 private OpenHelper dbHelper;
306 private Context context;
307 private SQLiteDatabase database;
308
309 public DBManager(Context c) {
310 context = c;
311 }
312
313 public DBManager open() throws SQLException {
314 dbHelper = new OpenHelper(context);
315 database = dbHelper.getWritableDatabase();
316 return this;
317 }
318
319 public void close() {
320 dbHelper.close();
321 }
322
323 public void insert(String name, String surname) {
324 ContentValues contentValue = new ContentValues();
325 contentValue.put(StudentModelClass.STUDENT_NAME, name);
326 contentValue.put(StudentModelClass.STUDENT_SURNAME, surname);
327 database.insert(StudentModelClass.STUDENT_TABLE_NAME, null, contentValue);
328 }
329
330 public Cursor fetch() {
331 String[] columns = new String[] { StudentModelClass.STUDENT_ID, StudentModelClass.STUDENT_NAME, StudentModelClass.STUDENT_SURNAME };
332 Cursor cursor = database.query(StudentModelClass.STUDENT_TABLE_NAME, columns, null, null, null, null, null);
333 if (cursor != null) {
334 cursor.moveToFirst();
335 }
336 return cursor;
337 }
338
339 public int update(long _id, String name, String desc) {
340 ContentValues contentValues = new ContentValues();
341 contentValues.put(StudentModelClass.STUDENT_NAME, name);
342 contentValues.put(StudentModelClass.STUDENT_SURNAME, desc);
343 int i = database.update(StudentModelClass.STUDENT_TABLE_NAME, contentValues, StudentModelClass.STUDENT_ID + " = " + _id, null);
344 return i;
345 }
346
347 public void delete(long _id) {
348 database.delete(StudentModelClass.STUDENT_TABLE_NAME, StudentModelClass.STUDENT_ID + "=" + _id, null);
349 }
350
351}
352
353...........
354package com.example.sqlite;
355
356import android.database.sqlite.SQLiteOpenHelper;
357
358
359import android.content.Context;
360import android.database.sqlite.SQLiteDatabase;
361
362public class OpenHelper extends SQLiteOpenHelper {
363 // Database Information
364 static final String DATABASE_NAME = "students.db";
365
366 // database version
367 static final int DB_VERSION = 1;
368 public OpenHelper(Context context) {
369 super(context, DATABASE_NAME, null, DB_VERSION);
370 }
371
372 @Override
373 public void onCreate(SQLiteDatabase db) {
374 db.execSQL(StudentModelClass.CREATE_TABLE_STUDENT);
375 }
376
377 @Override
378 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
379 db.execSQL("DROP TABLE IF EXISTS " + StudentModelClass.STUDENT_TABLE_NAME);
380 onCreate(db);
381 }
382}
383
384.............
385
386package com.example.sqlite;
387
388public class StudentModelClass {
389
390 // Table Name
391 public static final String STUDENT_TABLE_NAME = "STUDENTS";
392 // Table columns
393 public static final String STUDENT_ID = "_id";
394 public static final String STUDENT_NAME = "name";
395 public static final String STUDENT_SURNAME = "surname";
396
397
398 // Creating table query
399 public static final String CREATE_TABLE_STUDENT = "create table " + STUDENT_TABLE_NAME + "(" + STUDENT_ID
400 + " INTEGER PRIMARY KEY AUTOINCREMENT, " + STUDENT_NAME + " TEXT NOT NULL, " + STUDENT_SURNAME + " TEXT);";
401
402
403}