} //创建表 @Override public void onCreate(SQLiteDatabase db) { //用SQL语句来创建表 String sql = "create table if not exists " + TABLE_NAME + "(_id integer primary key autoincrement,name varchar(20),age integer)"; //执行语句 db.execSQL(sql); Log.e("sql", "onCreate: " + "表创建成功"); } //用于更新数据库 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //当当前版本和老版本不一样的时候 if (newVersion != oldVersion) { } }
}
DataBaseActivity如下:
public class DataBaseActivity extends AppCompatActivity {
private DataBaseHelp helper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_data_base); //初始化辅助类 helper = new DataBaseHelp(this); } //创建数据库 public void btncreate(View view) { //getWritableDatabase()打开数据库 SQLiteDatabase db = helper.getWritableDatabase(); //当数据库不用时关闭数据库(为了防止博主Demo出错。。。。。) db.close(); } //添加数据 public void btninsert(View view) { SQLiteDatabase db = helper.getWritableDatabase(); //Android为了方便程序员SQL开发,提供了一个贼好的API: ContentValues(添加数据交给它) ContentValues values = new ContentValues(); //放值 values.put("name", "张三"); values.put("age", 18); db.insert(DataBaseHelp.TABLE_NAME, null, values); values.put("name", "李四"); values.put("age", 19); db.insert(DataBaseHelp.TABLE_NAME, null, values); values.put("name", "王五"); values.put("age", 20); db.insert(DataBaseHelp.TABLE_NAME, null, values); //关闭数据库 db.close(); } //删除数据 public void btndelete(View view) { SQLiteDatabase db = helper.getWritableDatabase(); /*table :表名 * whereClause:满足删除条件 格式:例子: "name=?" * whereArgs:满足删除的条件*/ db.delete(DataBaseHelp.TABLE_NAME, "name=?", new String[]{"张三"}); //关闭数据库 db.close(); } //修改数据 public void btnupdate(View view) { SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "BoRe"); values.put("age", 7); /* * table:表名 * values:更新的数据 * whereClaues:更新条件 格式:例子: "name=?" * whereArgs:满足更新的条件*/ db.update(DataBaseHelp.TABLE_NAME, values, "name=?", new String[]{"李四"}); //关闭数据库 db.close(); } //查找数据 public void btnselect(View view) { SQLiteDatabase db = helper.getWritableDatabase(); /* *table :表名 * colums:被查询的列(字段) * selection :查询条件 * selectionArgs:满足查询条件 * group:指定分组 * having:分组筛选数据的关键字 * orderby:排序*/ Cursor cursor = db.query(DataBaseHelp.TABLE_NAME, new String[]{"name", "age"}, null, null, null, null, null); //数据拿到了,已经在cursor游标中,现在要遍历游标 //先拿到我们关心的列的索引 int nameIndex = cursor.getColumnIndex("name"); int ageIndex = cursor.getColumnIndex("age"); while (cursor.moveToNext()) { //通过列的索引去获取单个格子的值 String name = cursor.getString(nameIndex); int age = cursor.getInt(ageIndex); Log.e("Select", "btnselect: " + name + age); } //关闭数据库 db.close();
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
CodeChina开源项目地址:https://codechina.csdn.net/m0_60958482/android_p7
…(img-9FZxsvjj-1630833775697)]
[外链图片转存中…(img-yZlm3xeb-1630833775699)]
[外链图片转存中…(img-OloaIk2q-1630833775701)]
CodeChina开源项目地址:https://codechina.csdn.net/m0_60958482/android_p7
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。