【问题标题】:Android SQL Database returns null a String field with data that is really largeAndroid SQL 数据库返回 null 一个字符串字段,其中包含非常大的数据
【发布时间】:2016-04-11 09:34:45
【问题描述】:

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

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

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 数据库中时,我该如何解决这个问题??

【问题讨论】:

    标签: android sql android-studio twitter twitter4j


    【解决方案1】:

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

    出于某种原因:

    TwitterObjectFactory.getRawJSON(status);
    

    返回 null 不管是什么。结果,我求助于 Google 的 GSON 解析器,并通过这种方式将其转换为 JSON 对象。

    很明显,TwitterObjectFactory 存在一些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 2016-10-29
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多