当前位置: 首页 > 面试题库 >

游标getInt返回负值

颛孙钱青
2023-03-14
问题内容

起初我想注意到英语不是我的母语,无论我希望我们不会误会

我在Android上编写了简单的应用程序,发现了一个问题,也解决了该问题,但是无论如何,我都想了解为什么会这样。

我创建了一个sql表:

public static final String CREATE_TABLE_ENTRIES = " CREATE TABLE "
            + TABLE_ENTRIES + " ( " + KEY_ID + " TEXT PRIMARY KEY, "
            + " content " + " TEXT, "
            + " title" + " TEXT, "
            + " image " + " TEXT, "
            + " date " + " INTEGER, " + ")";

并以这种方式将数据放入其中:

SQLiteDatabase db = mStorage.getWritableDatabase();
ContentValues tempValues = new ContentValues();
tempValues.put("id", entry.id);
tempValues.put("content", entry.content);
tempValues.put("title", entry.title);
tempValues.put("image", entry.image);
tempValues.put("date", entry.date);  // int date; I use Unix time
db.insert(contentType, null, tempValues);

现在..一切正常,我使用此应用程序进行了验证,可以存储的值正确。

不过,当我尝试使用cursor.getInt(cursor.getColumnIndex("date"))1得到错误的值2)获得日期值时,它的负数(例如-1004124)

因此,我尝试用getLong和voila替换它!我得到我的Unix时间。

问题是-这里的getInt有什么问题?


问题答案:

您确定使用的是unixtime(自纪元以来的秒数),而不是例如Java系统时间(自纪元以来的毫秒数)吗?

例如,unixtime非常1387233645适合32位int。

但是,毫秒戳1387233645000对于32位而言太大。以十六进制表示0x142fd9191c8。取低32位,当解释为Java(即带符号的二进制补码32位整数)时,留给我们的0xfd9191c8-40791608十进制int数。



 类似资料:
  • 我知道之前有人问过这个问题,但我还是希望有人能帮我。我使用meteorchef的基本模板。 从ScoreTotal.js在用户界面/容器目录我做: 在服务器/出版物中,我有: 当我console.log结果时,我看到聚合有效,但我得到错误“发布函数返回非光标数组” 感谢您的帮助!

  • 问题内容: 我正在开发一个短信应用程序,我试图从每次对话中获取最新的短信。 这是我的SQL语句: 我在SQLite Expert中运行了查询,并且得到了正确的响应: 但是,当我在应用程序中运行它时,我得到: 这是我的桌子 这是我的Datamanipulator类: 问题答案: 使用时,结果的每一行对应于原始表的多行。这些结果的计算有三种可能性: 具有聚合函数的列类似于或计算组中所有行的值; 子句中

  • 问题内容: 这是我的代码: 我在Java文档中查看了此内容,长度为负数,原因如下: “内容的字节数,如果未知,则为负数。如果内容> length是已知的但超过Long.MAX_VALUE,则返回负数。” 这可能是什么原因?我正在尝试下载图像。我想指出的是,这是我尝试下载图像的第四个方法。这里提到了其他三个。 编辑: 根据要求,这是我正在使用的完整方法。 问题答案: 简单的答案是内容长度未知。更具体

  • 我想画出泊松分布,得到λ的负概率 此代码为不同的lambda生成绘图: 请看这两幅图: 在我看来,Lambda=5看起来不错。 λ=9,不适用。 我很确定这和np.power有关因为 给我:-1937019605,而 给我:2357947691(WolframAlpha也一样)。 但是如果我避免np。权力与使用 为了计算概率,我也得到负值。我完全糊涂了。谁能解释一下效果或者我做错了什么?提前感谢。

  • 问题内容: 以Oracle论坛中显示的示例:使用plsql生成excel(xls),我想从查询的数据集中生成一个excel文件。 此处提供的示例有效。但是,我遇到了一些挑战: 我的SQL查询很长,超过了4000个字符的限制。 我想将参数传递给我的查询。 我想以一种非常简单的方式做到这一点,并且不使用Dynamic SQL(如果可能)。 我提出的内容如下: 包装定义: 现在,我的匿名阻止最好是如下所

  • 我被sqlite困住了,需要帮助。 我的sqlite数据库中已经有一个表,其中存储了一些信息。应用程序的用户应该猜测我选择的特定表中存储了什么。在我的表中,我有两列,第一列是ID,第二列是Name。