安卓的存储用的是sqlite轻型数据库
已经默认集成到安卓系统里,直接调用就可以
那么如何调用呢,有没有一个ORM框架能够简便的操作sqlite数据库呢
有的,那就是greendao组件
那么是否一个可视化客户端软件能够类似mysql 的 sqlyog一样的操作界面,可视化的连接到数据库,并且进行操作和查询呢,有的
SQLiteStudio
官网:SQLiteStudiohttps://sqlitestudio.pl/
接下来讲解,在程序里如何连接sqlite数据库,并且通过greendao 操作数据库,并且可以通过sqlitestudio能够查看和操作数据库。
1.加载greendao依赖
修改一下配置
代码:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
mavenCentral() // add repository
}
dependencies {
classpath "com.android.tools.build:gradle:4.1.3"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0' // add plugin
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
还有
代码:
plugins {
id 'com.android.application'
}
//GreenDao插件
apply plugin: 'org.greenrobot.greendao'
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.xsiot.trashcan"
minSdkVersion 28
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [ 'objectbox.daoCompat' : 'true' ]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
greendao {
// 数据库版本号
schemaVersion 4
// 生成数据库文件的目录
targetGenDir 'src/main/java'
// 生成的数据库相关文件的包名
daoPackage 'com.xsiot.trashcan.greendao.gen'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.wear:wear:1.0.0'
implementation files('libs\\SQLiteStudioRemote.jar')
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
compileOnly 'com.google.android.wearable:wearable:2.6.0'
//引入t-io,网络通讯框架
// https://mvnrepository.com/artifact/org.t-io/tio-core
implementation group: 'org.t-io', name: 'tio-core', version: '3.7.4.v20210808-RELEASE'
// release 版本
// 将 $lastVersion 替换成上图中的版本号
implementation 'com.gitee.zackratos:UltimateBarX:0.7.1'
// snapshot 版本
implementation 'com.gitee.zackratos:UltimateBarX:dev-SNAPSHOT'
//安卓 sqlite orm 框架
// https://mvnrepository.com/artifact/org.greenrobot/greendao
implementation group: 'org.greenrobot', name: 'greendao', version: '3.3.0'
}
执行sync now ,下载依赖
下载加载完成后,在project模式下的jar包会增加如下
说明已经可以用greendao ORM框架了
2.greendao的使用
依赖下载完成后,那么怎么使用呢,参考了以下文章
创建一个entity类,
常用注解:
执行build->make project
那么在greendao.gen下会生成DaoMaster,DaoSession,XsTestUserDao文件
接下来在activity里模拟操作该数据库和表
代码如下:
//greendao orm 框架操作数据库
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this,"xstestdb1");
DaoMaster master = new DaoMaster(devOpenHelper.getWritableDatabase());
DaoSession session = master.newSession();
XsTestUserDao userDao = session.getXsTestUserDao();
XsTestUser user = new XsTestUser();
user.setId(3322l);
user.setAge(32);
user.setName("狗尾草");
userDao.insert(user);
启动程序:
那么操作应该是创建数据,并且保存了数据,那么如何判断已经保存了数据,那么就拿出来打印出来
打印如下:
说明已经操作成功了
那么如果可视化数据库呢,
使用sqlite studio 来展示,但是现在还不行不知道为啥,待研究研究
3:sqlite studio 的使用(暂时原生的数据库链接可用,但是greendao 连接不可用,不知道为什么)
启动sqlite studio后,
点击dabatase-> add a database
选择android sqlite ,
如果没有显示android sqlite 那么就进行如下操作
点击tools ->插件 选中adroid sqlite 点击应用
那么在tools菜单下会出现:
get android connector jar file
点击,保存,
然后将该jar包引入到项目
那么这个时候,就能够通过sqlite studio来连接和操作安卓系统的sqlite了
以上是配置程序能够连接到sqlite
选中 android sqlite 后
点击URL 的文件夹
点击database的加号
输入数据库名称:
xstestdb1
点击 ok