Xutils操作SQLite遇到的问题

本文描述了使用Fast-Json解析数据并封装到实体类中遇到的问题,特别是涉及多层List集合的情况。作者详细记录了从调试、错误排查到最终解决问题的过程,包括如何正确处理数据库中的对象关系映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用Fast-Json解析数据后,封装进实体类,实体类通过实体类生成工具JavaEntityTools.jar生成

实体类结构内嵌套两层List集合:Information下包含Result对象,Result对象中包含List<Mark>集合

在实现跳转界面呈现数据时,发现,直接传递过去序列化后的Information对象可以,却不能通过接收到的Information.getResult();也不能通过result.getListMark();

再将Information对象通过DbUtil对象存储数据库时,发现通过DbUtil对象查找数据库得到Information对象中的result属性为null,其他属性都有值

初步想法以为是类和类之间没有建立关系,在进行数据库操作时,没有设置外键进行关联创建的表,所以导致,类对象无法存储,集合对象无法获得

通过加注解,建立表之间的关系,再次调试程序,发现还是报错,考虑再三,认为是代码虽然修改了,但是程序内生成的.db文件还在,旧的数据依旧存在数据库的表内,所以导致出错

解决方式:在File Explorer里的data文件夹下删除对应应用的.db文件,结果不在报错

在通过DbUtil对象.findAll(Result.class)时又报错,保存成功,查询出错

还有卡顿的电脑模拟器,android开发不易……

转载于:https://my.oschina.net/ypf9319/blog/518599

目前遇到问题:编译方法cmake .. -G "MinGW Makefiles" \ -DCMAKE_INSTALL_PREFIX=../projInstall \ -DENABLE_CURL=OFF \ -DBUILD_TESTING=OFF \ -DENABLE_TIFF=OFF \ -DBUILD_APPS=OFF \ -DBUILD_SHARED_LIBS=OFF \ -DENABLE_INTERNAL_SQLITE=ON编译后检查文件$ nm "D:/shareU-W/windows/lib/proj-9.6.1/projInstall/lib/libproj.a" | grep sqlite300000000000048b0 T proj_context_set_sqlite3_vfs_name U _ZN5osgeo4proj15SQLiteStatementC1EP12sqlite3_stmt U sqlite3_bind_blob U sqlite3_bind_int64 U sqlite3_bind_null U sqlite3_bind_text U sqlite3_close U sqlite3_column_blob U sqlite3_column_bytes U sqlite3_column_int64 U sqlite3_column_text U sqlite3_errmsg U sqlite3_exec U sqlite3_finalize U sqlite3_free_table U sqlite3_get_table U sqlite3_last_insert_rowid U sqlite3_open_v2 U sqlite3_prepare_v2 U sqlite3_reset U sqlite3_step U sqlite3_vsnprintfsqlite3_utils.cpp.obj:0000000000000000 p .pdata$_ZN5osgeo4proj17pj_sqlite3_memvfsD0Ev0000000000000000 p .pdata$_ZN5osgeo4proj17pj_sqlite3_memvfsD1Ev0000000000000000 r .rdata$_ZTIN5osgeo4proj14pj_sqlite3_vfsE0000000000000000 r .rdata$_ZTIN5osgeo4proj17pj_sqlite3_memvfsE0000000000000000 r .rdata$_ZTSN5osgeo4proj14pj_sqlite3_vfsE0000000000000000 r .rdata$_ZTSN5osgeo4proj17pj_sqlite3_memvfsE0000000000000000 r .rdata$_ZTVN5osgeo4proj14pj_sqlite3_vfsE0000000000000000 r .rdata$_ZTVN5osgeo4proj17pj_sqlite3_memvfsE0000000000000000 t .text$_ZN5osgeo4proj17pj_sqlite3_memvfsD0Ev0000000000000000 t .text$_ZN5osgeo4proj17pj_sqlite3_memvfsD1Ev0000000000000000 r .xdata$_ZN5osgeo4proj17pj_sqlite3_memvfsD0Ev0000000000000000 r .xdata$_ZN5osgeo4proj17pj_sqlite3_memvfsD1Ev0000000000000370 T _ZN5osgeo4proj10SQLite
06-28
一个Android基于快速开发的一个框架 xUtils 它是在aFinal基础上进行重构和扩展的框架 相比aFinal有很大的改善 同时 如果如果你的应用是基于网络的 那么只要处理得当 它会让你彻底的摆脱各种工具类和重复代码的困扰 xUtils 包含了很多实用的android工具 xUtils 源于Afinal框架 对Afinal进行了大量重构 使得xUtils支持大文件上传 更全面的http请求协议支持 拥有更加灵活的ORM 更多的事件注解支持且不受混淆影响 xUtils的四大组件: 一 ViewUtils 你受够了重复冗长的findViewById了嘛 你受够了各种监听事件的绑定了嘛 在这里 你只需要一句注解 如@ViewInject @OnClick 就能轻松摆脱小白似的代码 大大的上了一个档次 二 HttpUtils 支持的HTTP七种请求方式 非常便捷的满足你的接口请求的需要 同时还支持大文件上传下载 以及同步异步请求 三 BitmapUtils 你的程序因OOM强制关闭过嘛 你在为加在网络图片头疼嘛 有了组件 你将永久摆脱前面的问题DbUtils 简单易用又出色的ORM框架 真的是谁用谁知道 直接轻松存储各种对象到sqlite数据库中 同时也能非常方便的进行各种条件查询 甚至分页查询 还有对中数据的更新删除等操作 真正的实现 一行代码就可以进行增删改查 并且可通过注解自定义名 列名 外键 唯一性约束 NOT NULL约束 CHECK约束等 支持事务 摘自github ">一个Android基于快速开发的一个框架 xUtils 它是在aFinal基础上进行重构和扩展的框架 相比aFinal有很大的改善 同时 如果如果你的应用是基于网络的 那么只要处理得当 它会让你彻底的摆脱各种工具类和重复代码的困扰 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值