Android SQLite长值被检索/转换为int值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android SQLite长值被检索/转换为int值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1177字,纯文字阅读大概需要2分钟。
内容图文
![Android SQLite长值被检索/转换为int值](/upload/InfoBanner/zyjiaocheng/903/c8aeb870413243ca930a4aeadfdff8b2.jpg)
我的数据库表中有一个INTEGER列,并将值1476355625598保存到它(通过更新现有行).
当我通过查询立即检查值时,我得到相同的,正确的值,返回1476355625598.
但是,当我的IntentService稍后检索该值时,它返回的值为-1113124226.
我做了一个检查,-1113124226的值与你调用(int)1476355625598的值相同.
我已经将修改输出添加到修改此列的所有代码行,并且可以确认我没有其他正在更新该值的数据库操作.
所以似乎有些事情让我长期陷入困境……任何想法如何/为什么会发生这种情况?
注意 – 我正在保存的值是时间戳(毫秒格式),这比将其保存为String格式更可取.
UPDATE
因为我的数据库可以通过内容提供者访问,所以我在MyApplication类中添加了一个内容观察者.它不会报告相关表的任何其他更新.
更新#2
问题现在解决了.看评论……
解决方法:
在我有时间写这篇文章之前,OP发现了他的错误,但我仍然会发布它以关闭它. OP可以添加他自己的(如果他想要的话)(没有感觉;))(这会阻止其他人以后发送垃圾邮件以获得一些代表点……)
除外,问题来自从光标检索值.即使值存储在INTEGER中,此列也可以在游标上保留很长时间,我们需要使用getLong(int)或getLong(String)方法获取值.如果没有,JAVA会将该值截断为例外.
在这个问题中,getter不存在,但OP发布并在另一个POST上回答:https://stackoverflow.com/a/40008872/1617737
这显示了他如何复制光标.这是他使用getInt而不是getLong用于NUMERIC SqliteType.
内容总结
以上是互联网集市为您收集整理的Android SQLite长值被检索/转换为int值全部内容,希望文章能够帮你解决Android SQLite长值被检索/转换为int值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。