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

上海网站建设费用千锋教育培训

上海网站建设费用,千锋教育培训,答辩学网站开发,wordpress如何播放m3u8的视频介绍:greenDAO 是一款轻量级的 Android ORM 框架,将 Java 对象映射到 SQLite 数据库中,我们操作数据库的时候,不在需要编写复杂的 SQL语句, 在性能方面,greenDAO 针对 Android 进行了高度优化, …

介绍:

greenDAO 是一款轻量级的 Android ORM 框架,将 Java 对象映射到 SQLite 数据库中,我们操作数据库的时候,不在需要编写复杂的 SQL语句, 在性能方面,greenDAO 针对 Android 进行了高度优化, 最小的内存开销 、依赖体积小。适合存储大量的数据。

轻量级数据库是指,一种用于存储和管理小型数据集的数据库系统。它们可以在普通的个人电脑上运行,而不需要强大的服务器设备。它们通常只需要很少的内存和存储空间,因此最适合小型应用。轻量级数据库的例子包括SQLite、MongoDB和Appache Cassandra。

集成的步骤:

在APP下的gradle中,

 implementation 'org.greenrobot:greendao:3.3.0'  // greendao

greendao{schemaVersion 1 //版本号targetGenDir 'src/main/java'   //greenDao实体类包文件夹daoPackage 'com.example.teleprompter.greenDao'  //输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)}

在集成的时候,我的项目级gradle是这样的:

在项目级别的gradle中,

classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'

发现在项目级的gradle和之前的格式不同。

plugins {id 'com.android.application' version '7.2.1' apply falseid 'com.android.library' version '7.2.1' apply false
}task clean(type: Delete) {delete rootProject.buildDir
}

看官网后知道,是2022年1月的Gradle7.1.0版本做的更新导致的,buildscript闭包可以放在plugins闭包前面,最后我的项目级gradle是这样的:

创建实体类

然后通过在实体类上加注解来达到生成对应的数据模型。

例如:

@Entity
public class TelePromterBean {@Id(autoincrement = true)private Long id;@Propertyprivate int number;//页面数量@Propertyprivate String name;//页面名字@Propertyprivate int fontSize;//字号//  get()/set()}

1. @Entity:标记一个实体类,声明一个表,一个实体类只能定义一张表,可以添加如下参数:(1)nameInDb:表名(2)indexes:定义索引,可以跨越多个列(3)createInDb:是否创建表(4)schema:定义架构名称(5)active:定义实体类有效性,默认为true

2. @Id:定义一列主键,可以添加如下参数:(1)nameInDb:定义列名(2)autoincrement:定义是否自增(3)generatedId:如果主键没有显示的赋值,则自动生成的

3. @Property:定义属性列,可以添加如下参数:(1)nameInDb:定义列名(2)not null:定义是否非空(3)unique:定义是否唯一(4)index:定义是否索引

4. @ToOne:定义一对一关系,可以添加如下参数:(1)nameInDb:定义列名(2)unique:定义是否唯一(3)not null:定义是否非空(4)index:定义是否索引

5. @ToMany:定义一对多关系,可以添加如下参数:(1)nameInDb:定义列名(2)unique:定义是否唯一(3)not null:定义是否非空(4)index:定义是否索引(5)orderBy:定义排序规则

实体类创建完成后,同步一下项目 然后就会生成如下:

增删改查


public class DBManger {private static final String TAG = "DBManger";private static final String dbName = "tele.db";private static DBManger mInstance;private final Context context;private DaoMaster.DevOpenHelper openHelper;public static DaoSession daoSession;public DBManger(Context context) {this.context = context;openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);Database db = openHelper.getWritableDb();daoSession = new DaoMaster(db).newSession();}//单例public static DBManger getInstance(Context context) {if (mInstance == null) {synchronized (DBManger.class) {if (mInstance == null) {mInstance = new DBManger(context);}}}return mInstance;}//可读数据库private SQLiteDatabase getReadableDatabase() {if (openHelper == null) {openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);}SQLiteDatabase db = openHelper.getReadableDatabase();return db;}//可写数据库private SQLiteDatabase getWritableDatabase() {if (openHelper == null) {openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);}SQLiteDatabase db = openHelper.getWritableDatabase();return db;}//插入public void insert(TelePromterBean promterBean) {DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.insert(promterBean);}//插入数据集合public void insertUserList(List<TelePromterBean> promterBeanList) {if (promterBeanList == null || promterBeanList.isEmpty()) {return;}DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.insertInTx(promterBeanList);}//删除数据public void delete(TelePromterBean promterBean) {DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.delete(promterBean);}//更改public void update(TelePromterBean promterBean) {Log.d(TAG, "update: " + promterBean);DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.update(promterBean);}//查询public ArrayList<TelePromterBean> query() {DaoMaster daoMaster = new DaoMaster(getReadableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();QueryBuilder<TelePromterBean> qb = dao.queryBuilder();ArrayList<TelePromterBean> list = (ArrayList<TelePromterBean>) qb.list();
//        for (int i = 0; i < list.size(); i++) {
//            list.get(i).setIsFlush(false);
//        }return list;}
}

在项目中使用:

TelePromterBean promterBean = new TelePromterBean(null, i, "", 20, "", false);DBManger.getInstance(MainActivity.this).insert(promterBean);DBManger.getInstance(MainActivity.this).delete(promterBean);DBManger.getInstance(MainActivity.this).update(promterBean);DBManger.getInstance(MainActivity.this).query();

http://www.zhongyajixie.com/news/43858.html

相关文章:

  • 商城网站优化方案东莞seo排名收费
  • 加微信群网站怎么做的关键词搜索广告
  • 平台网站开发价格网站关键字优化
  • 网站开发简述百度云引擎搜索
  • 汕头网站推广费用上海seo服务外包公司
  • 谈谈你对网站建设有什么样好的建设意见企业推广方式有哪些
  • 专业网站建设费用国际婚恋网站排名
  • 龙湖建设工程有限公司网站网站推广优化排名教程
  • 做网站准备培训心得体会800字
  • dw如何做网站登陆验证提交链接
  • wordpress仿36kr主题龙岩seo
  • 海口有哪几家是做网站的怎么开网店
  • 知名网站用的技术腾讯广告代理商加盟
  • 电影网站怎么做的外贸平台有哪些比较好
  • 网站可以做315认证吗最新军事新闻今日最新消息
  • 做幼儿网站的目标百度指数数据下载
  • 做金融网站需要什么营业执照seo排名优化首页
  • 对政府网站有关标准规范建设的需求关键词代发排名
  • 面料做电商 哪个网站好百一度一下你就知道
  • php企业网站模板下载b站推广入口2023年
  • 动态网页制作素材如何做网站优化
  • 石家庄网站做网站人工智能培训机构排名前十
  • 做网站推广广告网络推广员为什么做不长
  • wordpress 移动站插件网络营销的优势有哪些
  • 制作好网站重庆seo网络营销
  • 昆山做网站公司小程序排名优化
  • 网站开发图形化软件百度关键词优化排名技巧
  • 制作一个网站多少钱啊头条搜索
  • 高端网站建设设百度快速排名用是
  • 深圳网站建设公司电话微指数查询入口