小编Huk*_*ABA的帖子

我应该如何在sqlite中存储颜色?

我将东西存储在sqlite数据库中.它的一个属性是颜色.当我显示这个时,我想做

objLinearLayout.setBackgroundColor(some_int)
Run Code Online (Sandbox Code Playgroud)

通常我会使用R.color.red代替some_int.但是,我坚持使用颜色,我认为每次运行应用程序时R文件都会生成一个新的红色ID,这使得该方法不可行.我可以存储字符串表示,如"red",并在我的java代码中检查颜色字符串并应用正确的R.color,但这看起来很难看.有办法吗?

sqlite android activeandroid

2
推荐指数
1
解决办法
2021
查看次数

没有完美的哈希函数?

根据http://java-bytes.blogspot.com/2009/10/hashcode-of-string-in-java.html:"首先,它是一个众所周知的事实,即没有完美的哈希算法,没有碰撞."

作者实际上是在谈论而不是在理论上对吗?因为从理论上讲,这里是一个完美的哈希函数:"对于给定的对象,给它分配一个新的数字".有无数的数字,所以我们总会有东西分配给一个独特的对象.实际上,这是不可行的,因为我们的内存量有限.

math hash perfect-hash

0
推荐指数
1
解决办法
529
查看次数

为什么 withContext 返回一个可为 null 的对象?

在以下函数中:

suspend fun loadData(filename: String): MyData {
        return withContext(Dispatchers.IO) {
            loader.loadJsonFromFile(filename)?.let { json ->
                Gson().fromJson<MyData>(
                    jsonStr,
                    object : TypeToken<MyData>() {}.type
                )
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

编译器抱怨 withContext 返回可为 null 的类型 MyData?,但 withContext 的签名看起来像

public suspend fun <T> withContext(
    context: CoroutineContext,
    block: suspend CoroutineScope.() -> T
): T
Run Code Online (Sandbox Code Playgroud)

我已将 T 定义为 MyData(不可为空)。为什么编译器给我一个错误,我可以在函数体中不使用 var 的情况下编写这个函数吗?

kotlin

0
推荐指数
1
解决办法
138
查看次数

为什么GROUP BY忽略了一些记录?

我有以下架构:

Configurations
1.  configname
2.  configvalue
3.  otherDataInstanceId

OtherData
1.  dataname
2.  datavalue
3.  instanceId

配置otherDataInstanceId指向OtherData instanceId列的链接.我针对MySQL中的数据执行了以下查询:

SELECT other.datavalue AS time_stamp, 
configs.configname AS configuration_name, 
configs.configvalue AS configuration_value 

FROM Configurations configs 
JOIN OtherData other 

WHERE configs.otherDataInstanceId=other.instanceId 
AND other.dataname='timestamp' 

GROUP BY configuration_name;
Run Code Online (Sandbox Code Playgroud)

我希望看到这些结果:

2012-01-02 16:05:48      Voltage         10 volts
2000-01-01 12:00:09      Voltage         8 volts
2013-06-01 01:12:32      Voltage         28 volts
2013-07-01 01:12:32      Voltage         5 volts
Run Code Online (Sandbox Code Playgroud)

相反,我只看到:

2012-01-02 16:05:48      Voltage         10 volts
Run Code Online (Sandbox Code Playgroud)

我一直在网上搜索,GROUP BY应该按指定的列获取结果和组行; 所以在我的数据库中,如果我消除GROUP BY,我会看到多个configname具有相同值的('Voltage').所以它应该将它们彼此相邻.但我只看到1排 …

mysql

-1
推荐指数
1
解决办法
104
查看次数

标签 统计

activeandroid ×1

android ×1

hash ×1

kotlin ×1

math ×1

mysql ×1

perfect-hash ×1

sqlite ×1