Android开发学习之路01
今日跟着一个人进行了Android studio 上创建数据库和数据表的联系,这应该是老师留的作业中,进行数据库的连接。
原文链接:https://blog.csdn.net/fjh_xx/article/details/131404230
一.前言
二.SQLite数据库介绍
1.什么是SQLite数据库
2.特点
3.SQLite 操作API
4.SQLite数据类型
三.SQlite数据库的使用
1.创建类继承SQLiteOPenHelper
2.创建数据库
3.创建数据库表
4.更新表添加字段
完整代码
扩展
总结
一.前言
我们在使用Android进行开发的时候不可避免的要使用到数据,那么就需要用到数据库,来对数据进行操作。而Android系统就内置了SQlite。
二.SQLite数据库介绍
1.什么是SQLite数据库
SQLite是一款轻量级的关系型数据库,它运算速度快,占用资源少,在内存中只需要占用几百KB的存储空间。
2.特点
轻量级
独立性
隔离性
跨平台
安全性
多语言接口
3.SQLite 操作API
Android SDK提供了一系列对数据库进行操作的类和接口。常用的数据库操作类有:
SQLiteOpenHelper 类(我们今天使用到的是这个)
SQLiteOpenHelper类中常用的方法
onCreate(SQliteDatabase db) 数据库第一次创建时,会调用
onIpgrade(SQliteDatabase db, int i, int i1) 数据库升级时自动调用
getWritableDatabase() 打开可读/写的数据库
getReadableDatabase() 打开可读的数据库
close() 关闭数据库
• 该类是一个抽象类,用于创建数据库和数据库版本更新。
SQLiteDatabase 类
• 该类是一个数据库访问类,封装了一系列数据库操作的API,可以对数据进行增删改查操作。
Cursor接口
• 是一个游标接口,在数据库操作中作为返回值,相当于结果集ResultSet。
4.SQLite数据类型
integer:整型
real:浮点型
text:文本类型
blob:二进制类型
三.SQlite数据库的使用
1.创建类继承SQLiteOPenHelper
1.先创建一个项目,然后创建一个类,我这里创建的是MySQLiteOpenHelper类,可以再建一个db包把该类放在该目录下。
2.继承SQLiteOPenHelper,并点击实现onCreate方法和onUpgrade方法用于创建、升级数据库。
飘红不要害怕,点击红色小灯泡构造一下它的构造函数就可以了。
2.创建数据库
我们重写MySQLiteOpenHelper的构造方法,把后面的3个参数都写死,方便后面可以调用,然后写数据库名,还有数据库版本。
//部分代码
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
Context mContext;
public MySQLiteOpenHelper(@Nullable Context context) {
super(context, "test", null, 1);
this.mContext = context;
}
}
3.创建数据库表
1.确定表的字段和类型,我以创建用户表为例。
user表
字段 字段类型 描述
id integer 主键自增
zh text 账号
mm text 密码
xm text 姓名
sjh integer 手机号
2.定义一个属性等于创建user表语句,这里其实和mysql的语句差不多。
3.在onCreate方法里面调用SQLiteDatabase.execSQL(CREATE_USER),里面是你刚刚定义的属性。
可以使用Toast提示,当程序启动成功时,是否创建数据库和数据库表了,只会执行一次。
//部分代码
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
public static String CREATE_USER = "create table user (" +
"id integer primary key autoincrement," +
"zh text," +
"mm text," +
"xm text," +
"sjh integer)";
Context mContext;
public MySQLiteOpenHelper(@Nullable Context context) {
super(context, "test", null, 1);
this.mContext = context;
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(CREATE_USER);
Toast.makeText(mContext, "数据库首次创建成功!", Toast.LENGTH_SHORT).show();
}
}
4.在MainActivity添加数据库,添加数据库实例,然后数据库初始化。
MainActivity.java
//完整代码
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import com.example.myapplication.db.MySQLiteOpenHelper;
public class MainActivity extends AppCompatActivity {
private MySQLiteOpenHelper mySQLiteOpenHelper;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
}
private void initData() {
mySQLiteOpenHelper = new MySQLiteOpenHelper(this);
db = mySQLiteOpenHelper.getWritableDatabase();
}
}
当运行成功后,使用了Toast,页面会提示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?