Create SQLite database in android

前端 未结 8 604
故里飘歌
故里飘歌 2020-11-29 03:12

I want to create a SQLite database in my app, which contains three tables, I will add data into tables and will use them later on.

but I like to keep database ,as if

8条回答
  •  一生所求
    2020-11-29 04:03

    A simple database example to insert Todo List of day today life in DB and get list of all todo list.

    public class MyDatabaseHelper extends SQLiteOpenHelper {
    
    // Logcat tag
    private static final String LOG = "DatabaseHelper";
    
    // Database Version
    private static final int DATABASE_VERSION = 1;
    
    // Database Name
    private static final String DATABASE_NAME = "SQLiteDemoDB";
    
    // Table Names
    private static final String TABLE_TODO = "todos";
    
    // column names
    private static final String KEY_ID = "id";
    private static final String KEY_CREATED_AT = "created_at";
    private static final String KEY_TODO = "todoDescr";
    
    // *********************************************************************************************
    public MyDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    
    @Override
    public void onCreate(SQLiteDatabase db) {
    
        db.execSQL(CREATE_TABLE_TODO);
    
    
    }
    
    // Upgrading database **************************************************************************
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Drop older table if existed
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_TODO);
    
    
        // Create tables again
        onCreate(db);
    }
    
    // Creating Table TABLE_TEAM
    String CREATE_TABLE_TODO = "CREATE TABLE " + TABLE_TODO + "("
            + KEY_ID + " integer primary key autoincrement, "
            + KEY_TODO + " text, "
            + KEY_CREATED_AT + " text" + ")";
    
    
    // insert values of todo
    public boolean InsertTodoDetails(String todo, String createdAt) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(KEY_TODO, todo);
        contentValues.put(KEY_CREATED_AT, createdAt);
    
    
        long rowInserted = db.insert(TABLE_TODO, null, contentValues);
        db.close();
        return true;
    }
    
    
    // Select values of todo
    public Cursor GetAllTodoDetails() {
        SQLiteDatabase db = this.getReadableDatabase();
    
    
        String query = "SELECT * FROM " + TABLE_TODO;
        Cursor mcursor = db.rawQuery(query, null);
    
        if (mcursor != null) {
            mcursor.moveToFirst();
        }
    
        return mcursor;
    
    }
    
    
    
    }
    

    My activity To save and get the record.

    public class MyDbActivity extends AppCompatActivity {
    
        @Bind(R.id.edt_todo)
        EditText edtTodo;
        @Bind(R.id.btn_save)
        Button btnSave;
    
        MyDatabaseHelper db;
        @Bind(R.id.btn_getTodo)
        Button btnGetTodo;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my_db);
            ButterKnife.bind(this);
    
    // creating database object
            db = new MyDatabaseHelper(this);
    
    
        }
    
        @OnClick(R.id.btn_save)
        public void onViewClicked() {
    
    
            String datetime = "";
            try {
                SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                datetime = dateformat.format(new Date());
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            db.InsertTodoDetails(edtTodo.getText().toString().trim(), datetime);
    
        }
    
        @OnClick(R.id.btn_getTodo)
        public void onGetTodoClicked() {
            String todos = "";
            Cursor TodoList = db.GetAllTodoDetails();
            if (TodoList.moveToFirst()) {
                do {
                    if (todos.equals("")) {
                        todos = TodoList.getString(TodoList.getColumnIndex("todoDescr"));
    
                    } else {
                        todos = todos + ", " + TodoList.getString(TodoList.getColumnIndex("todoDescr"));
                    }
                    // do what ever you want here
                } while (TodoList.moveToNext());
            }
            TodoList.close();
            Toast.makeText(this, "" + todos, Toast.LENGTH_SHORT).show();
    
        }
    }
    

提交回复
热议问题