· 4 years ago · Jun 02, 2021, 07:58 PM
1package com.example.bmicalculator;
2
3import android.database.Cursor;
4import android.database.sqlite.SQLiteDatabase;
5import android.widget.Toast;
6
7import androidx.appcompat.app.AppCompatActivity;
8
9import java.sql.SQLException;
10
11public abstract class DBActivity extends AppCompatActivity {
12
13 protected void initDB() {
14
15 ExecSQL(
16 "CREATE TABLE if not exists INFORMATION(" +
17 "ID integer PRIMARY KEY AUTOINCREMENT, " +
18 "Weight real not null, " +
19 "Height real not null, " +
20 "Result real not null" +
21 ");",
22 null,
23 ()->{
24 Toast.makeText(this, "Init db successfull", Toast.LENGTH_LONG).show();
25 },
26 (error)->{
27 Toast.makeText(this, error, Toast.LENGTH_LONG).show();
28 }
29 );
30 }
31
32 protected void SelectSQL(String SelectQuery, String[] args, OnSelectSuccess success)
33 throws Exception{
34
35 SQLiteDatabase db =
36 SQLiteDatabase.openOrCreateDatabase(getFilesDir().getPath() + "/BMI.db",
37 null);
38 db.beginTransaction();
39 Cursor cursor = db.rawQuery(SelectQuery, args);
40 while (cursor.moveToNext()){
41 String ID = cursor.getString(cursor.getColumnIndex("ID"));
42 String Weight = cursor.getString(cursor.getColumnIndex("Weight"));
43 String Height = cursor.getString(cursor.getColumnIndex("Height"));
44 String Result = cursor.getString(cursor.getColumnIndex("Result"));
45 success.OnElementSelected(ID, Weight, Height, Result);
46 }
47 db.endTransaction();
48 db.close();
49 }
50
51 protected void ExecSQL(String SQL, Object[] args, OnQuerySuccessOrError successOrError)
52 {
53 SQLiteDatabase db = null;
54 try {
55 db =
56 SQLiteDatabase.openOrCreateDatabase(getFilesDir().getPath() + "/BMI.db",
57 null
58 );
59 if(args == null) {
60 db.execSQL(SQL);
61 }else{
62 db.execSQL(SQL, args);
63 }
64 successOrError.OnSuccess();
65
66 }catch (Exception e){
67 successOrError.OnError(e.getMessage().toString());
68 }finally {
69 if (db != null)
70 db.close();
71 }
72 }
73
74 protected interface OnQuerySuccessOrError{
75 public void OnSuccess();
76 public void OnError(String error);
77 }
78
79 protected interface OnSelectSuccess{
80 public void OnElementSelected(String ID, String Weight, String Height, String Result);
81 }
82}
83