为什么从SQlite DB返回的byte []值更改[Android]

Mueyiwa Moses Ikomi

我将捕获的指纹图像作为字节数组保存到我的SQLite数据库中,因为它的大小非常小,就像这样。

byte[] template = new byte[....];

然后我登录并得到一个像[B @ 41d25378。这就是在blob列中将其发送给我的sqlite数据库的原因。

现在的问题是,当我从数据库中检索此值时,

byte[] photo = cursor.getBlob(cursor.getColumnIndex("fingerprint"));

我记录该值及其完全不同的值[B @ 420447f8,但这就是我想要的值[B @ 41d25378。因此,由于返回的内容不同,我无法匹配指纹。我怎样才能找回相同的byte []值。

我也尝试过使用字符串,但是可以想出一种方法来获得完全匹配。提前致谢...

佩佩特卡

字符串[B@420447f8[B@41d25378toString()Javabyte[]对象上调用方法所返回的值,这些方法使用Object.toString()(和随后的Object.hashCode())而不覆盖它。它们不代表任何形式的数组元素的值!

鉴于此,它们是不同的,因为它们不是同一实例,因为toString()使用hashCode()作为返回字符串的后缀。

另外,请注意:与内存地址无关!在Java中,术语“内存地址”不适用。(除了JVM的实现细节,如分配和GC等)。

你也错了:

然后我登录并得到一个像[B @ 41d25378。这就是在blob列中将其发送给我的sqlite数据库的原因。

不,那仍然只是toString()输出,而不是字节数组的内容。无论如何,有意义的指纹必须超过11个字节...

您可能应该比较两个数组(Arrays.compare(arr1,arr2)),或记录它们的一部分(例如前几个字节值)以及它们的长度,以确保它们相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

适用于本地SQLite DB的Android Content Provider:为什么?

来自分类Dev

Android SQLite-为什么Column的字符串返回'null'?

来自分类Dev

为什么从SQLite分配Android游标会返回0表示true

来自分类Dev

为什么此SQLite查询返回false?

来自分类Dev

SQLite游标值更改

来自分类Dev

Android SQLite 更新 - 为什么使用 whereargs?

来自分类Dev

如何在android sqlite中使用列值更改来更新特定行

来自分类Dev

为什么返回元组比Python中的多个值更快?

来自分类Dev

为什么布尔值更改Java方法中的值

来自分类Dev

Android:升级时更改SQLite DB

来自分类Dev

为什么我的SQLite查询方法返回错误?

来自分类Dev

为什么我的sqlite选择没有返回结果?

来自分类Dev

为什么我对SQLite数据库的查询返回null?

来自分类Dev

为什么sqlite为count(*)和group by查询返回null?

来自分类Dev

为什么在我的示例中,bean id要求使用相同的名称?以及为什么当我将其值更改为Bean配置文件时,Bean文件从不返回我的输出?

来自分类Dev

返回值更改的每个日期

来自分类Dev

通过SQLite Manager更新SQLite数据库列后,为什么更改未反映在Android App中?

来自分类Dev

什么是将值更改为msgmnb的命令?

来自分类Dev

耙db之后无法加载sqlite3 / sqlite3_native:为什么迁移?

来自分类Dev

为什么android返回Editable而不是String?

来自分类Dev

为什么意图的Android resolveactivity返回null?

来自分类Dev

Android数学:为什么sum返回1.0?

来自分类Dev

为什么模板特化不能更改返回类型?

来自分类Dev

为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

来自分类Dev

函数变量不会从初始值更改,不知道为什么

来自分类Dev

为什么在状态值更改时未禁用按钮(ReactJS)

来自分类Dev

为什么不将div的“底部”值更改为“ 0”起作用?

来自分类Dev

为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

来自分类Dev

为什么将从ArrayList获得的相同值更改为不同的值?

Related 相关文章

  1. 1

    适用于本地SQLite DB的Android Content Provider:为什么?

  2. 2

    Android SQLite-为什么Column的字符串返回'null'?

  3. 3

    为什么从SQLite分配Android游标会返回0表示true

  4. 4

    为什么此SQLite查询返回false?

  5. 5

    SQLite游标值更改

  6. 6

    Android SQLite 更新 - 为什么使用 whereargs?

  7. 7

    如何在android sqlite中使用列值更改来更新特定行

  8. 8

    为什么返回元组比Python中的多个值更快?

  9. 9

    为什么布尔值更改Java方法中的值

  10. 10

    Android:升级时更改SQLite DB

  11. 11

    为什么我的SQLite查询方法返回错误?

  12. 12

    为什么我的sqlite选择没有返回结果?

  13. 13

    为什么我对SQLite数据库的查询返回null?

  14. 14

    为什么sqlite为count(*)和group by查询返回null?

  15. 15

    为什么在我的示例中,bean id要求使用相同的名称?以及为什么当我将其值更改为Bean配置文件时,Bean文件从不返回我的输出?

  16. 16

    返回值更改的每个日期

  17. 17

    通过SQLite Manager更新SQLite数据库列后,为什么更改未反映在Android App中?

  18. 18

    什么是将值更改为msgmnb的命令?

  19. 19

    耙db之后无法加载sqlite3 / sqlite3_native:为什么迁移?

  20. 20

    为什么android返回Editable而不是String?

  21. 21

    为什么意图的Android resolveactivity返回null?

  22. 22

    Android数学:为什么sum返回1.0?

  23. 23

    为什么模板特化不能更改返回类型?

  24. 24

    为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

  25. 25

    函数变量不会从初始值更改,不知道为什么

  26. 26

    为什么在状态值更改时未禁用按钮(ReactJS)

  27. 27

    为什么不将div的“底部”值更改为“ 0”起作用?

  28. 28

    为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

  29. 29

    为什么将从ArrayList获得的相同值更改为不同的值?

热门标签

归档