Sqlite 数据库存储
数据存储的集中方式:
1. SharedPreferences存储 一般保存一些配置信息等简单信息 如:是否是第一次启动应用,保存用户信息(一个用户) 2. Internal Storage内部存储 数据存储在设备内部,建议存储一些小量数据 3. External Storage外部存储(SD) Java的IO操作 4. Sqlite 数据库存储 (insert,update,delete,select) Sqlite是一种嵌入式数据库系统。 5. 网络存储
以下案例是Sqlite 数据库存储 简单介绍一下SQLite数据库的语法: SQLite 数据库
步骤1 需要创建一个继承SQLiteOpenHelper的数据库,下面是创建数据库的代码结构 class * extends SQLiteOpenHelper { private static String dbname = "note.db" ; // 构造函数 public DBHelper(Context context) { super(context,dbname,null,1); } @Override ... onCreate(SqliteDatabase db,...) { db.execSQL(建表语句) } @Override ... onUpgrade(SqliteDatabase db,int oldVersion,int newVersion) { db.execSQL(删除表) onCreate(db) ; } }步骤2 通过JAVA语言访问创建的这个数据库 2)执行数据库操作 以下是代码实现步骤1:创建数据库 public class DBHelper extends SQLiteOpenHelper{ //声明和数据库相关一些常量 private static String dbname = "note.db"; public static final String TABLE_NOTE = "tb_note"; public static final String COLUMN_ID = "_id"; public static final String COLUMN_TITLE = "title"; public static final String COLUMN_CONTENT = "content"; public static final String COLUMN_DATE = "date"; public DBHelper(Context context) { super(context,1); } //onCreate此方法为回调方法,每次执行钱会检查手机文件夹中是否含有note.db这个数据库,只检查名字 //如果含有则不再执行这个方法 @Override public void onCreate(SQLiteDatabase db) { String sql = "create table" + TABLE_NOTE + "(" + COLUMN_ID + "integer primary key autoincrement," + COLUMN_TITLE + "text not null," + COLUMN_CONTENT + "text" + COLUMN_DATE + "text" + ")"; db.execSQL(sql); } //如果oldVersion版本与newVersion版本不一致则删除表TABLE_NOTE @Override public void onUpgrade(SQLiteDatabase db,int newVersion) { db.execSQL("drop table" +TABLE_NOTE) ; onCreate(db); } } 代码实现步骤2 public class MainActivity extends Activity { private SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); db = new DBHelper(this).getWritableDatabase(); db.execSQL("insert into " + DBHelper.TABLE_NOTE + " values(null,'title','content','2015-08-26')") ; // 21 ContentValues values = new ContentValues() ; values.put(DBHelper.COLUMN_TITLE,"标题") ; values.put(DBHelper.COLUMN_DATE,"2015-08-27") ; db.insert(DBHelper.TABLE_NOTE,values) ; Toast.makeText(this,"insert over!",Toast.LENGTH_LONG).show(); // 更新语句 // 1 db.execSQL("update " + DBHelper.TABLE_NOTE + " set "+DBHelper.COLUMN_CONTENT + "='吃饭'") ; // 2 values.clear() ; values.put(DBHelper.COLUMN_CONTENT,"晚上去超市买零食!"); values.put(DBHelper.COLUMN_DATE,"2015-09-27") ; db.update( DBHelper.TABLE_NOTE,values,DBHelper.COLUMN_ID + "=? or " + DBHelper.COLUMN_ID + "=?",// 描述where条件 new String[]{"1","3"} // where中?的值构成的String数组 ) ; Toast.makeText(this,"update over!",Toast.LENGTH_LONG).show(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |