Create SQLite database in android

前端 未结 8 598
故里飘歌
故里飘歌 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条回答
  •  -上瘾入骨i
    2020-11-29 03:54

    this is the full source code to direct use,

        public class CardDBDAO {
    
            protected SQLiteDatabase database;
            private DataBaseHelper dbHelper;
            private Context mContext;
    
            public CardDBDAO(Context context) {
                this.mContext = context;
                dbHelper = DataBaseHelper.getHelper(mContext);
                open();
    
            }
    
            public void open() throws SQLException {
                if(dbHelper == null)
                    dbHelper = DataBaseHelper.getHelper(mContext);
                database = dbHelper.getWritableDatabase();
            }
    
        }
    
    
    
        public class DataBaseHelper extends SQLiteOpenHelper {
    
            private static final String DATABASE_NAME = "mydbnamedb";
            private static final int DATABASE_VERSION = 1;
    
            public static final String CARDS_TABLE = "tbl_cards";
            public static final String POICATEGORIES_TABLE = "tbl_poicategories";
            public static final String POILANGS_TABLE = "tbl_poilangs";
    
            public static final String ID_COLUMN = "id";
    
            public static final String POI_ID = "poi_id";
            public static final String POICATEGORIES_COLUMN = "poi_categories";
    
            public static final String POILANGS_COLUMN = "poi_langs";
    
            public static final String CARDS = "cards";
            public static final String CARD_ID = "card_id";
            public static final String CARDS_PCAT_ID = "pcat_id";
    
            public static final String CREATE_PLANG_TABLE = "CREATE TABLE "
                    + POILANGS_TABLE + "(" + ID_COLUMN + " INTEGER PRIMARY KEY,"
                    + POILANGS_COLUMN + " TEXT, " + POI_ID + " TEXT)";
    
            public static final String CREATE_PCAT_TABLE = "CREATE TABLE "
                    + POICATEGORIES_TABLE + "(" + ID_COLUMN + " INTEGER PRIMARY KEY,"
                    + POICATEGORIES_COLUMN + " TEXT, " + POI_ID + " TEXT)";
    
            public static final String CREATE_CARDS_TABLE = "CREATE TABLE "
                    + CARDS_TABLE + "(" + ID_COLUMN + " INTEGER PRIMARY KEY," + CARD_ID
                    + " TEXT, " + CARDS_PCAT_ID + " TEXT, " + CARDS + " TEXT)";
    
            private static DataBaseHelper instance;
    
            public static synchronized DataBaseHelper getHelper(Context context) {
                if (instance == null)
                    instance = new DataBaseHelper(context);
                return instance;
            }
    
            private DataBaseHelper(Context context) {
                super(context, DATABASE_NAME, null, DATABASE_VERSION);
            }
    
            @Override
            public void onOpen(SQLiteDatabase db) {
                super.onOpen(db);
                if (!db.isReadOnly()) {
                    // Enable foreign key constraints
                    // db.execSQL("PRAGMA foreign_keys=ON;");
                }
            }
    
            @Override
            public void onCreate(SQLiteDatabase db) {
                db.execSQL(CREATE_PCAT_TABLE);
                db.execSQL(CREATE_PLANG_TABLE);
                db.execSQL(CREATE_CARDS_TABLE);
            }
    
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
            }
        }
    
    
    
    
        public class PoiLangDAO extends CardDBDAO {
    
                private static final String WHERE_ID_EQUALS = DataBaseHelper.ID_COLUMN
                        + " =?";
    
                public PoiLangDAO(Context context) {
                    super(context);
                }
    
                public long save(PLang plang_data) {
    
                    ContentValues values = new ContentValues();
                    values.put(DataBaseHelper.POI_ID, plang_data.getPoi_id());
                    values.put(DataBaseHelper.POILANGS_COLUMN, plang_data.getLangarr());
    
                    return database
                            .insert(DataBaseHelper.POILANGS_TABLE, null, values);
                }
    
                public long update(PLang plang_data) {
                    ContentValues values = new ContentValues();
                    values.put(DataBaseHelper.POI_ID, plang_data.getPoi_id());
                    values.put(DataBaseHelper.POILANGS_COLUMN, plang_data.getLangarr());
    
                    long result = database.update(DataBaseHelper.POILANGS_TABLE,
                            values, WHERE_ID_EQUALS,
                            new String[] { String.valueOf(plang_data.getId()) });
                    Log.d("Update Result:", "=" + result);
                    return result;
    
                }
    
                public int deleteDept(PLang plang_data) {
                    return database.delete(DataBaseHelper.POILANGS_TABLE,
                            WHERE_ID_EQUALS, new String[] { plang_data.getId() + "" });
                }
    
                public List getPLangs1() {
                    List plang_list = new ArrayList();
                    Cursor cursor = database.query(DataBaseHelper.POILANGS_TABLE,
                            new String[] { DataBaseHelper.ID_COLUMN, DataBaseHelper.POI_ID,
                                    DataBaseHelper.POILANGS_COLUMN }, null, null, null,
                            null, null);
    
                    while (cursor.moveToNext()) {
                        PLang plang_bin = new PLang();
                        plang_bin.setId(cursor.getInt(0));
                        plang_bin.setPoi_id(cursor.getString(1));
                        plang_bin.setLangarr(cursor.getString(2));
                        plang_list.add(plang_bin);
                    }
                    return plang_list;
                }
    
                public List getPLangs(String pid) {
                    List plang_list = new ArrayList();
    
                    String selection = DataBaseHelper.POI_ID + "=?";
                    String[] selectionArgs = { pid };
    
                    Cursor cursor = database.query(DataBaseHelper.POILANGS_TABLE,
                            new String[] { DataBaseHelper.ID_COLUMN, DataBaseHelper.POI_ID,
                                    DataBaseHelper.POILANGS_COLUMN }, selection,
                            selectionArgs, null, null, null);
    
                    while (cursor.moveToNext()) {
                        PLang plang_bin = new PLang();
                        plang_bin.setId(cursor.getInt(0));
                        plang_bin.setPoi_id(cursor.getString(1));
                        plang_bin.setLangarr(cursor.getString(2));
                        plang_list.add(plang_bin);
                    }
                    return plang_list;
                }
    
                public void loadPLangs(String poi_id, String langarrs) {
                    PLang plangbin = new PLang(poi_id, langarrs);
    
                    List plang_arr = new ArrayList();
                    plang_arr.add(plangbin);
    
                    for (PLang dept : plang_arr) {
                        ContentValues values = new ContentValues();
                        values.put(DataBaseHelper.POI_ID, dept.getPoi_id());
                        values.put(DataBaseHelper.POILANGS_COLUMN, dept.getLangarr());
                        database.insert(DataBaseHelper.POILANGS_TABLE, null, values);
                    }
                }
    
            }
    
    
    
    
            public class PLang {
    
                public PLang() {
                    super();
                }
    
                public PLang(String poi_id, String langarrs) {
                    // TODO Auto-generated constructor stub
    
                    this.poi_id = poi_id;
                    this.langarr = langarrs;
                }
    
                public int getId() {
                    return id;
                }
    
                public void setId(int id) {
                    this.id = id;
                }
    
                public String getPoi_id() {
                    return poi_id;
                }
    
                public void setPoi_id(String poi_id) {
                    this.poi_id = poi_id;
                }
    
                public String getLangarr() {
                    return langarr;
                }
    
                public void setLangarr(String langarr) {
                    this.langarr = langarr;
                }
    
                private int id;
                private String poi_id;
                private String langarr;
    
        }
    

提交回复
热议问题