当前位置: 首页 > news >正文

中国做水产的有什么网站竞价托管选择微竞价

中国做水产的有什么网站,竞价托管选择微竞价,网站推广方案注意事项,wordpress加速器目录 1、SQLite数据库 目的: 基本操作: 缺点: 解决: 2、ROOM持久性库 目的: 优点: 导入依赖: 主要组件: ​编辑 使用步骤: a.定义数据实体 b.定义数据访问对象(接…

目录

1、SQLite数据库

目的:

基本操作:

缺点:

解决:

2、ROOM持久性库

目的:

优点:

导入依赖:

主要组件:

​编辑

使用步骤:

a.定义数据实体

b.定义数据访问对象(接口)

c.定义数据库类

d.实例化并操作数据库


1、SQLite数据库

目的:

保存重复数据&结构化数据

基本操作:

  • 定义架构的协定
  • 创建数据库
  • 信息添加到数据库
  • 从数据库读取信息
  • 从数据库删除信息
  • 更新数据库
  • 保留数据库连接,一般Activity的onDestroy()中关闭数据库

缺点:

android.database.sqlite  软件包提供Android上使用数据库所需的API,但是API级别较低

  • 没有针对原始SQL查询的编译时验证,耗时又易错
  • 需要使用大量样本代码在SQL查询和数据对象之间转换

解决:

强烈建议使用Room持久性库作为抽象层访问SQLite数据库中信息

2、ROOM持久性库

目的:

将数据保存到本地数据库

在SQLite上提供一个抽象层,以便充分利用SQLite&流畅访问数据库

优点:

  • 提供针对SQL查询的编译时验证
  • 提供方便注释,可最大限度减少重复和容易出错的代码样板
  • 简化数据库迁移路径

导入依赖:

讲下面依赖项添加到build.gradle文件

dependencies {val room_version = "2.6.1"implementation("androidx.room:room-runtime:$room_version")annotationProcessor("androidx.room:room-compiler:$room_version")// To use Kotlin annotation processing tool (kapt)kapt("androidx.room:room-compiler:$room_version")// To use Kotlin Symbol Processing (KSP)ksp("androidx.room:room-compiler:$room_version")// optional - Kotlin Extensions and Coroutines support for Roomimplementation("androidx.room:room-ktx:$room_version")// optional - RxJava2 support for Roomimplementation("androidx.room:room-rxjava2:$room_version")// optional - RxJava3 support for Roomimplementation("androidx.room:room-rxjava3:$room_version")// optional - Guava support for Room, including Optional and ListenableFutureimplementation("androidx.room:room-guava:$room_version")// optional - Test helperstestImplementation("androidx.room:room-testing:$room_version")// optional - Paging 3 Integrationimplementation("androidx.room:room-paging:$room_version")
}

主要组件:

  • 数据库类(Database):用于保存数据库&外界访问数据库
  • 数据实体(Entities):表
  • 数据访问对象(Dao):提供数据库增删改查的方法

使用步骤:

a.定义数据实体

@Entity
data class User(@PrimaryKey val uid: Int,@ColumnInfo(name = "first_name") val firstName: String?@ColumnInfo(name = "last_name") val lastName: String?
)

b.定义数据访问对象(接口)

@Dao
interface UserDao {@Query("SELECT * FROM user")fun getAll(): List<User>@Query("SELECT * FROM user WHERE uid IN (:userIds)")fun loadAllByIds(userIds: IntArray): List<User>@Query("SELECT * FROM user WHERE first_name LIKE :first AND " +"last_name LIKE :last LIMIT 1")fun findByName(first: String, last: String): User@Insertfun insertAll(vararg users: User)@Deletefun delete(user: User)
}

c.定义数据库类

  • 带有@Database注解,注解相关联 数据实体
  • 该类为抽象类,继承并扩展RoomDatabase
  • 定义获取Dao类的抽象方法
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {abstract fun userDao(): UserDao
}

d.实例化并操作数据库

val db = Room.databaseBuilder(applicationContext,AppDatabase::class.java, "database-name").build()val userDao = db.userDao()
val users: List<User> = userDao.getAll()

http://www.yidumall.com/news/63256.html

相关文章:

  • 3d设计网站互联网营销具体做什么
  • html5制作手机网站百度seo软件
  • 做兼职哪个网站好周口网络推广公司
  • 北京个人网站建设百度一下百度搜索首页
  • 方城网站制作seo实战技巧100例
  • dw简述网站开发流程成都seo学徒
  • 高端品牌网站制作平台如何做推广
  • 宿迁哪里有做网站开发的2022年最新最有效的营销模式
  • 兰州哪里做网站百度站长工具网站提交
  • 企业门户网站开发公司站长之家网站
  • 网站开发设计实训总结发布
  • 京东客网站怎么建设seo还有未来吗
  • 扬中网站优化公司微信朋友圈广告投放价格表
  • 用wordpress做网站教程做电商如何起步
  • 网页建立网站平台西安seo关键词排名
  • 深圳保障房申请条件2022宁波seo公司哪家好
  • 用vb做网站全球搜官网
  • 网站换了域名怎么查ttkefu在线客服系统官网
  • 衡水移动端网站建设网络销售的好处和意义
  • 怎么做全网小说网站网站设计公司官网
  • 怎样做信息收费网站关键词分析软件
  • 网站建设图文电脑办公软件培训班
  • typecho对比wordpress唐山seo排名外包
  • 罗湖区做网站的公司搜什么关键词能找到网站
  • 文具网站建设策划书北京seo公司网站
  • 辽宁建设工程信息网领取招标文件搜索引擎seo如何赚钱
  • 无锡网站开发befen网站推广的方式有
  • 免费建站建设网站搭建网站seo承诺排名的公司
  • 网上做批发有哪些网站有哪些网站注册流程和费用
  • 做盗版电影网站教程网店运营具体做什么