第二步:在Activity文件中初始化辅助类
第三步:创建数据库(第一个button点击事件)
第四步(增删改查,另外四个点击事件);
插入数据–增
删除数据–删
更改数据–改
查询数据–查
下面是源码
DataBaseHelp如下:
//创建数据库辅助类:创库,创表,更新/升级
public class DataBaseHelp extends SQLiteOpenHelper {
//数据库名称
public static final String DB_NAME = "my_database.db";
//数据库版本
private static final int DB_VERSION = 1;
//表名
public static final String TABLE_NAME = "table_demo";
/*context:上下文
*name:要被创建的数据库名称(文件名)
*factory:游标工厂
* version:数据库版本
* */
public DataBaseHelp(@Nullable Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
//创建表
@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游标中,现在要遍历游标
### 尾声
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Android核心架构进阶知识点,**比如:JVM、高并发、多线程、缓存、热修复设计、插件化框架解读、组件化框架设计、图片加载框架、网络、设计模式、设计思想与代码质量优化、程序性能优化、开发效率优化、设计模式、负载均衡、算法、数据结构、高级UI晋升、Framework内核解析、Android组件内核等。**
![](https://img-blog.csdnimg.cn/img_convert/ddf0127aff0b55ddad58796d97d1f71e.png)
不仅有学习文档,视频+笔记提高学习效率,还能稳固你的知识,形成良好的系统的知识体系。这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
![](https://img-blog.csdnimg.cn/img_convert/cffb132bb31a00f5e7618cb6cbd9eaff.png)
##### Android进阶学习资料库
一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!
![image](https://img-blog.csdnimg.cn/img_convert/05018f9b86caf912affa35033c59c83f.png)
##### 大厂面试真题
PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
![](https://img-blog.csdnimg.cn/img_convert/9e77312db7ee761f4c3c13b5327b540e.png)
**《2017-2021字节跳动Android面试历年真题解析》**
![](https://img-blog.csdnimg.cn/img_convert/bc01a3914e1494d5fc7d8f58690b35f3.png)
* ##### **[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://codechina.csdn.net/m0_60958482/android_p7)**
知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
[外链图片转存中...(img-A0dhCEe4-1630654575284)]
**《2017-2021字节跳动Android面试历年真题解析》**
[外链图片转存中...(img-cfDXYETc-1630654575286)]
* ##### **[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://codechina.csdn.net/m0_60958482/android_p7)**