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

漳州网站建设公司首选怎么做神马搜索排名seo

漳州网站建设公司首选,怎么做神马搜索排名seo,珠海集团网站建设报价,织梦网站百度推送加哪DBFlow#xff0c;综合了 ActiveAndroid, Schematic, Ollie,Sprinkles 等库的优点。同时不是基于反射#xff0c;所以性能也是非常高#xff0c;效率紧跟greenDAO其后。基于注解#xff0c;使用apt技术#xff0c;在编译过程中生成操作类#xff0c;使用方式和ActiveAndr…DBFlow综合了 ActiveAndroid, Schematic, Ollie,Sprinkles 等库的优点。同时不是基于反射所以性能也是非常高效率紧跟greenDAO其后。基于注解使用apt技术在编译过程中生成操作类使用方式和ActiveAndroid高度相似使用简单。 特性 1、无缝支持多个数据库 2、使用annotation processing提高速度 3、ModelContainer类库可以直接解析像JSON这样的数据 4、增加灵活性的丰富接口。 github仓库https://github.com/Raizlabs/DBFlow DBFlow在国内可能用的人不是很多所以中文介绍很少所以就有了这篇文章接下来就让我们一起学习DBFlow。 一、引入依赖、初始化 需要引入apt和maven配置项目的 build.gradle buildscript {repositories {jcenter()}dependencies {classpath com.android.tools.build:gradle:2.0.0-beta6classpath com.neenbedankt.gradle.plugins:android-apt:1.8} }allprojects {repositories {jcenter()maven { url https://jitpack.io }} } 配置app的build.gradle apply plugin: com.android.application apply plugin: com.neenbedankt.android-apt def dbflow_version 3.0.0-beta4 android {compileSdkVersion 23buildToolsVersion 23.0.2defaultConfig {applicationId cn.taoweiji.dbflowexampleminSdkVersion 14targetSdkVersion 23versionCode 1versionName 1.0}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro}} }dependencies {compile fileTree(dir: libs, include: [*.jar])apt com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}compile com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}compile com.github.Raizlabs.DBFlow:dbflow:${dbflow_version} } 需要在Application的onCreate对DBFlow进行初始化 public class MyApplication extends Application {Overridepublic void onCreate() {super.onCreate();FlowManager.init(this);} } 记得修改AndroidManifest.xml applicationandroid:name.MyApplication ../ 二、数据库创建、表创建 定义数据库 我这里定义了一个名称叫做AppDatabase的数据库可以根据自己的喜欢进行定义。 Database(name AppDatabase.NAME, version AppDatabase.VERSION) public class AppDatabase {//数据库名称public static final String NAME AppDatabase;//数据库版本号public static final int VERSION 1; } 创建数据库对象 必须继承BaseModelBaseModel包含了基本的数据库操作save、delete、update、insert、exists看下面代码可以发现这个表是关联上面定义的数据库People的id是自增的id。 ModelContainer Table(database AppDatabase.class) public class People extends BaseModel {//自增IDPrimaryKey(autoincrement true)public Long id;Columnpublic String name;Columnpublic int gender; } 编写完数据表对象后点击Android studio的build-Make Project(Mac的童鞋直接commandF9)就会使用apt进行了编译 查看目录我的people类放在cn.taoweiji.dbflowexample.db app/build/generated/source/apt/debug/cn/taoweiji/dbflowexample/db 就可以看到自动生成 People_Adapter、People_Container、People_Table其中People_Table在后面使用有很大的作用建议详细看看它的结构。 注意 如果配置好了后Make Project后却没有生成_Table, GeneratedDatabaseHolder, _DataBase, _Adapter等检查都无误后可以检查一下 android {compileSdkVersion 23buildToolsVersion 23.0.2} 参考链接:体验Android ORM之DBFlow - 漫漫求学中的孩儿 - 博客频道 - CSDN.NET 三、增删改 由于数据表对象继承了BaseModel已经包含了很多的操作 People people new People(); people.name Wiki; people.gender 1; people.save(); //people.update(); //people.delete(); Log.e(Test, String.valueOf(people.id)); 删除、更新等操作就自己体验这里就不多说了。 四、查询 //返回所有查询结果 ListPeople peoples new Select().from(People.class).queryList(); //返回单个查询结果 People people new Select().from(People.class).querySingle(); //查询gender 1的所有People ListPeople peoples2 new Select().from(People.class).where(People_Table.gender.eq(1)).queryList(); DBFlow的查询方式借鉴ActiveAndroid的但是比ActiveAndroid功能还要强大。 四、事务、批量保存 事务是一个数据必须具备的如果保存10000条数据一条一条保存必然是很慢的所以就需要用到事务批量保存。DBFlow的事务非常的强大同时使用也很复杂这里就简单介绍批量保存更多内容请查看官方文档 https://github.com/Raizlabs/DBFlow/blob/master/usage/Transactions.md ListPeople peoples new ArrayList(); for (int i 0; i 1000; i) {People people new People();people.name Wiki;people.gender 1;peoples.add(people); } //实时保存马上保存 new SaveModelTransaction(ProcessModelInfo.withModels(peoples)).onExecute(); //异步保存使用异步如果立刻查询可能无法查到结果 //TransactionManager.getInstance().addTransaction(new SaveModelTransaction(ProcessModelInfo.withModels(peoples))); 五、数据库升级增加表、增加字段等 如果是新增表无需做特别的处理直接修改AppDatabase的版本号即可。 如果需要新增字段除了需要修改AppDatabase的版本号外还需要做特殊的处理DBFlow的描述是Migrations。 例子对People新增一个email字段 第1步修改数据库版本号 Database(name AppDatabase.NAME, version AppDatabase.VERSION) public class AppDatabase {//数据库名称public static final String NAME AppDatabase;//数据库版本号这里修改2public static final int VERSION 2; } 第2步需要修改数据表对象结构增加email ModelContainer Table(database AppDatabase.class) public class People extends BaseModel {//自增IDPrimaryKey(autoincrement true)public Long id;Columnpublic String name;Columnpublic int gender;Columnpublic String email; } 第3步执行第二步之后需要build(Android studio的build-Make Project、Mac的童鞋直接commandF9)通过apt更新People_Table接下来编写Migrations Migration(version 2, database AppDatabase.class) public class Migration_2_People extends AlterTableMigrationPeople {public Migration_2_People(ClassPeople table) {super(table);}Overridepublic void onPreMigrate() {addColumn(SQLiteType.TEXT, People_Table.email.getNameAlias().getName());} } 类名可以更加自己喜欢定义我个人的规则是按照数据库版本号和需要更新的数据表来命名需要注意是version 2 数据库升级就大功告成了。 总结这篇文章只是简单介绍了DBFlow的基本功能使用DBFlow还有很多很厉害的功能比如多数据库支持、Powerful Model Caching等而且还支持Kotlin语言运行在Java虚拟机的新语言。我只使用过greenDAO、activeAndroid、afinal、DBFlow数据库所以在我看来DBFlow是我用过的数据库当中最好用的数据库性能也很好使用非常简单高度推荐。 我在github上共享一下DBFlow的配置 https://github.com/taoweiji/DBFlowExample 原文链接 Android高性能ORM数据库DBFlow入门 - 陶伟基Wiki - 博客园
http://www.zqtcl.cn/news/72857/

相关文章:

  • 东莞企业建站收费产品推广邹平做网站
  • 深圳找工作哪个网站好长沙网站建设规划
  • 手机网站建设的目的wordpress 页面新建
  • 德阳建设厅官方网站自建房设计图软件app
  • 网站域名变了怎么查如何建设网站服务器
  • 黔东南购物网站开发设计全国企业信息管理查询系统官网
  • 红包打赏的网站怎么做网站建设管理指导意见
  • 招代理网站怎么做自己做的网站在百度怎么发布
  • 如何选择网站公司百度官网网站登录
  • 拍卖 网站 建设网站开发与维护项目招标
  • 超市网站规划php网站颜色改变
  • 怎么知道网站有没有备案wordpress 补丁
  • 旅游网站品牌建设旅游网站需求分析
  • 果洛营销网站建设服务系统集成销售和网站建设销售
  • 企业网站制作报价网站名称和域名有关系
  • 印刷网站开发策划书wordpress the_excerpt
  • 做请柬网站谷歌商店下载
  • 厦门网站建设有哪些公司正规的拼多多运营哪里找
  • 做网站需要准备什么东西seo百度推广
  • pc网站是什么新浪wordpress
  • dede网站如何换logo做编程的+网站有哪些内容
  • seo站长之家百度推广关键词排名在哪看
  • 小企业网站建设哪些好办百度品牌专区怎么收费
  • 怎么做本地网站最近韩国电影片
  • 设计师必须知道的十个网站古镇做灯饰网站的公司
  • 做黄金的人喜欢逛那些网站学校网站首页
  • 做网站一般图片多大青岛网站设计网站
  • 万网公司注册网站东莞保安公司有多少家
  • wordpress企业网站模板下载网站域名地址
  • ps做网站横幅网页模板下载 免费 html