【问题标题】:How to store an int[] or float[] in an SqLiteDataBase in Android?如何在 Android 的 SqlLiteDataBase 中存储 int[] 或 float[]?
【发布时间】:2015-01-06 12:52:30
【问题描述】:

我有所有这些字符串,如“TEXT”、“INTEGER”等,用于文本或整数。

有什么方法可以添加整数数组或浮点数组吗?

谢谢!

@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_TABLE = "CREATE TABLE " + TABLE + "("
            + ID + " INTEGER PRIMARY KEY,"
            + ACCOUNT + " TEXT,"
            + TYPE + " INTEGER,"
            + AMOUNT + " INTEGER,"
            + YEAR + " INTEGER,"
            + MONTH + " INTEGER,"
            + DAY + " INTEGER,"
            + EXTRA + " TEXT"  + ")";
    db.execSQL(CREATE_TABLE);
}

【问题讨论】:

  • 也许另一个包含数组值的表和该表的主键将是您现有表中的外键?

标签: android arrays sqlite


【解决方案1】:

没有办法存储数组。但你可以用其他方式。

存储:用逗号分隔的字符串转换数组并存储。(阅读Convert String[] to comma separated string in java

要检索:将逗号分隔的字符串转换为数组。(阅读How to split a comma-separated string?

【讨论】:

    【解决方案2】:

    在等待有人给出更好的答案时,你可能想试试我的。

    我通常只用,保存一个数组(从未尝试过像100多个项目这样的长数组)

    例如:

    1,3,5,6,7
    

    然后我将使用split 方法,并将这些值添加到List<Integer>

    【讨论】:

      【解决方案3】:

      更多的 SQL 方法是创建一对多关系,并将数组作为条目存储在“many”表中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        • 2022-10-04
        • 1970-01-01
        • 2015-05-01
        • 2019-12-11
        • 2011-10-11
        • 2018-06-29
        相关资源
        最近更新 更多