greendao

Could not allocate CursorWindow '/pos-db' of size 2097152 due to error -24

安稳与你 提交于 2021-01-27 05:55:55
问题 Exception Information cannot open file at line 30176 of [00bb9c9ce4] (14) os_unix.c:30176: (24) open(/data/data/c/databases/pos-db-journal) - (14) cannot open file at line 30176 of [00bb9c9ce4] (14) os_unix.c:30176: (24) open(/data/data/c/pos-db-journal) - (14) statement aborts at 14: [SELECT T."_id",T."PRINTDATA",T."POSITION",T."DOUBLEFORMAT", T."PRINTERMODE",T."INSERTTIME" FROM "PRINT_DATA_ITEM" T] unable to open database file E/SQLiteQuery: exception: unable to open database file (code 14)

Android通用框架设计与完整电商App开发

北慕城南 提交于 2020-12-12 01:41:02
Android通用框架设计与完整电商App开发 下载地址:百度云盘 本课程面向Android工程师的进阶课程 想提高项目框架设计能力 想更好地实现业务功能实现能力 想同时提高项目框架与业务实现的双重能力 学前必备技术 有Android项目基础,有精益求精的精神,不只满足于功能实现 章节目录: 第1章 课程介绍及APP效果展示(Java版) 本章概述了本课程大家能学到什么,老师如何讲解,为什么这么讲解,并介绍了框架的整体架构设计与模块分解,最后展示了用自己设计的框架开发出来的完整电商APP的效果图 1。四位数字字母验证码的生成实例 1 import random 2 if __name__ == " __main__ " : # 四位数字字母验证码的生成 3 checkcode= "" # 保存验证码的变量 4 for i in range(4 ): 5 index=random.randrange(0,4) # 生成一个0~3中的数 6 if index!=i and index +1 != i: 7 checkcode +=chr(random.randint(97,122)) # 生成a~z中的一个小写字母 8 elif index +1== i: 9 checkcode +=chr(random.randint(65,90) ) # 生成A~Z中的一个大写字母 10 else

期末作业、课程设计的最优选择:Android商城开源项目

只愿长相守 提交于 2020-12-11 00:12:13
项目说明: 1.完整功能的项目. 2.代码采用基础型代码,比较适合在校大学生风格,没有晦涩、难懂的编程风格. 3. 有数据库. 项目简介: 购物(商城)类app,项目主要分为主页、热卖、分类、购物车、我的五大板块. 该app基本上覆盖市面上商机级商城类app的功能,包括购物车、微信及支付宝支付、热门及历史搜索、登录注册、收货地址管理等. 另外,本项目持续维护中!!!同时可进入微信群,和作者、其他小伙伴一起谈论该项目. 截止目前项目提交记录: 对应的群进行交流学习: 使用的开源技术(蓝色字体含链接): 1. 轮播图 2. 下拉刷新、加载更多 3.Gson解析 4. butterknife 5. 批量处理权限 6. 自定义样式的dialog 7. 三级联动 8. eventBus 9. 沉浸式状态栏 10. greendao 11.ShareSDK 12. okhttpUtils 13. baseAdapter 14. Glide 15. pingpp 16.百度地图定位及Mob天气查询 基本封装与自定义: 1.ToolBar的封装 2.FragmentTabHost的自定义 3.一键清除的EditText 4.购物车的加减控件 5.短信验证倒计时的定时器 6.Glide的封装 7.购物车本地缓存 8.对称加密DESUtil 9.读取Json文件的工具类GetJsonDataUtil

Android —— EventBus使用简介

一个人想着一个人 提交于 2020-08-06 10:21:03
参考博客: https://blog.csdn.net/harvic880925/article/details/40660137 EventBus简介 EventBus有哪些优点 Demo案例分享及问题解决 一、什么是EventBus 由greenboot组织贡献(该组织还贡献了greenDAO),一个Android事件发布/订阅轻量级框架。 EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程之间传递数据,执行方法。 EventBus有五种线程模式分别是: POSTING :默认,表示事件处理函数的线程和发布事件的线程在同一个线程。 MAIN :表示事件处理函数的线程在UI主线程(不能进行耗时操作) BACKGROUND :表示事件处理函数的线程在后台线程,因此不能进行UI操作,如果发布事件的线程是UI主线程那么时间处理函数将会开启一个后台线程,如果发布事件的函数在后台线程,那么事件处理函数就使用该线程。 ASYNC :表示无论时间发布的线程是哪一个,事件处理函数始终会新建一个子线程运行(不能进行UI操作) MAIN_ORDERED :EventBus3.1.1之后新加入的,和MAIN不同的是一定会排队执行 二、EventBus有哪些优点? 简化了组件间的通讯。

Does RoomDB supports dropAllTables() and createAllTables()?

痞子三分冷 提交于 2020-06-17 09:15:14
问题 GreenDAO supports DaoMaster.dropAllTables() and DaoMaster.createAllTables(). I'm looking for similar functionality in RoomDB. Does RoomDB supports this functionality ?? The use-case for this functionality is, when the user tries to login with new mobile number to my app, i want to clear the data of old login number by showing a warning dialog message and allow login with new number. 回答1: Room supports dropping and creating tables only during a migration between schema versions. You can gain

使用greenDao操作本地数据库,Android9.0读取数据库失败的问题解决办法

老子叫甜甜 提交于 2020-03-07 19:21:36
首先看下这篇文章 应用程序的兼容性WAL(预写日志记录) 关于Android Sqlite数据库的一个介绍 Android 9引入一种 名为Compatibility WAL(预写日志记录)的 SQLite数据库 的特殊模式,它允许数据库使用 journal_mode=WAL ,同时保留每个数据库最多保持一个连接的行为。 应用程序的数据库默认启用兼容性WAL,除非应用程序具有: 通过调用 SQLiteDatabase.enableWriteAheadLogging 或 disableWriteAheadLogging 选择加入或禁止预写日志记录 通过调用 SQLiteDatabase.OpenParams.setJournalMode(String mode) 显式请求日志模式 作者:ben3726 链接:https://www.jianshu.com/p/9cbe3839a1e2 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 下图是Android9.0拷贝本地数据库到App中后的databases目录: 下图是Android其他版本的目录: 所以,问题在于拷贝数据库之后app读取了-wal文件中的不全的数据记录,导致读取失败或者崩溃, 在网上查询解决办法之后,都是说禁用WAL模式, 由于项目中使用了greenDao三方库

android中简单便捷使用GreenDao本地数据库及采坑之路

瘦欲@ 提交于 2020-03-02 19:51:52
   在开发过程中,有时候我们需要使用SQLite数据库去本地存储一些临时文件,之前,我们的做法是通过SQLiteOpenHelper实现创建数据库,以及迭代开发中的数据库数据 内容 字段 变更时处理。 优点 1.通常我们在使用GreenDao的时候,我们只需定义数据模型,GreenDao框架将创建数据对象(实体)和DAO(数据访问对象),能够节省部分代码。 2.不向性能妥协,使用了GreenDao,大多数实体可以以每秒几千个实体的速率进行插入,更新和加载。 3.GreenDao支持加密数据库来保护敏感数据。 4.微小的依赖库,GreenDao的关键依赖库大小不超过100kb. 5.如果需要,实体是可以被激活的。而活动实体可以透明的解析关系(我们要做的只是调用getter即可),并且有更新、删除和刷新方法,以便访问持久性功能。 6.GreenDao允许您将协议缓冲区(protobuf)对象直接保存到数据库中。如果您通过protobuf通话到您的服务器,则不需要另一个映射。常规实体的所有持久性操作都可以用于protobuf对象。所以,相信这是GreenDao的独特之处。 7.自动生成代码,我们无需关注实体类以及Dao,因为GreenDao已经帮我们生成了。 GreenDao使用 1.在工程目录下build.gradle下添加插件 buildscript { repositories

GreenDao简单使用

倖福魔咒の 提交于 2020-02-15 23:45:36
  greenDAO是Android的对象/关系映射(ORM)工具。它为关系数据库SQLite提供了面向对象的接口。像greenDAO这样的ORM工具可以为您完成许多重复性任务,并为您的数据提供简单的界面。 使用GreenDao的优点 1 只需要定义数据模型,GreenDao框架将创建数据实例和DAO(数据访问对象),能够节省部分代码 2使用GreenDao大多数尸体可以以每秒几千个实体的速率进行插入,更新和加载 3.GreenDao支持加密数据库来保护敏感数据 4.微小的依赖库,GreenDao的关键依赖库大小不超过100kb 5.如果需要,实体可以被激活。而活动实体可以透明的解析关系,并且有更新/删除/刷新方法,以便访问持久性功能 6.GreenDao允许你将协议缓冲区对象直接保存到数据库中,如果你通过protobuf通话到你的服务器则不需要另一个映射。常规实体的所有持久性操作都可以用于protobuf对象。 7.自动生成代码,我们需要关注实体类以及Dao,因为GreenDao已经帮我们生成了。 8.开源 GreenDao对外提供的核心类 1 DaoMaster   保存数据库对象 SQLiteDatabase 并管理特定模式的Dao类。它具有静态方法来创建表或将他们删除

AndroidStudio学习笔记(GreenDao)

試著忘記壹切 提交于 2020-02-15 06:00:14
Android开发中,一说到数据库,刚开始接触的肯定是 LitePal LitePal用起来确实很方便,但这次我们要学习的是 GreenDao GreenDao的优点网上一查就知道,学习GreenDao最直观的区别就是新建DaoManager和DaoUtil的工具类,增删改查操作实现比较直观 添加依赖 在 build.gradle (整个项目)中 buildscript { repositories { jcenter ( ) mavenCentral ( ) // add repository } dependencies { classpath 'com.android.tools.build:gradle:3.1.1' classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin } } 在 build.gradle (app)中 apply plugin : 'com.android.application' apply plugin : 'org.greenrobot.greendao' // apply plugin dependencies { implementation 'org.greenrobot:greendao:3.2.2' // add library } 创建model类

SQLite transaction behaviour using greendao

ε祈祈猫儿з 提交于 2020-01-16 11:25:46
问题 I am using greendao as ORM library in my Android project and have problems understanding the behaviour of transactions. greendao offers an API runInTx(Runnable r) . My question is, how will two calls of this method from different Threads will be handled? Thread 1 public void thread1() { DaoManager.INSTANCE.getDaoSession().runInTx(new Runnable() { doQueries(); doInsertsAndUpdates(); } } Thread 2 public void thread2() { DaoManager.INSTANCE.getDaoSession().runInTx(new Runnable() { doQueries();