Android SQL 数据库 returns null 数据非常大的 String 字段

Android SQL Database returns null a String field with data that is really large

我正在使用 Twitter4J 和 Twitter API 从 Twitter 检索一些推文(也称为状态)。

我需要将这些状态暂时存储到 SQL 数据库中。我这样做的方法是将 Status 转换为 JSON String

statusItem.setmStatus(TwitterObjectFactory.getRawJSON(status));

其中 status 是 Status 对象,是 Twitter4J 库的一部分,而 statusItem 是我自己的自定义项目。

但是,当我将此 statusItem 保存到我的数据库时:

public void createStatusItem(StatusItem mStatus) {
    Log.d("StatusDBHelper","createStatusItem");

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(StatusItem.KEY_status, mStatus.mStatus);
    values.put(StatusItem.KEY_date, mStatus.mDate);
    values.put(StatusItem.KEY_user, mStatus.mUser);

    db.insert(StatusItem.TABLE, null, values);

    db.close();
}

我稍后尝试像这样检索 StatusItem:

status = TwitterObjectFactory.createStatus(statusItem.getmStatus());

但是,statusItem.getmStatus 始终为空!!当我尝试从数据库中检索它时,它太大了,因此无法保存到 StatusItem 的 mStatus 字段中!

如何解决将 Twitter 的状态存储到 Android 我的 SQL 数据库中的问题?

事实证明,空问题的发生时间比我将状态保存到状态项的时间早得多。

出于某种原因:

TwitterObjectFactory.getRawJSON(status);

returns null 不管怎样。结果,我求助于 Google 的 GSON 解析器并以这种方式将其转换为 JSON 对象。

显然,TwitterObjectFactory 存在一些问题。