小编alb*_*lcs的帖子

BaseGameActivity.runOnUpdateThread()与Entity.registerUpdateHandler()

如果我执行一个Runnablewith runOnUpdateThread()或者我将一个更新处理程序注册到一个Entity并用它执行代码有什么区别吗?

我想Sprite从场景中删除一个Sprite.detachSelf().在本例中,教程说必须在Update Thread中调用此方法BaseGameActivity.runOnUpdateThread().但是使用这个解决方案,我必须将活动对象传递给想要使用的每个对象runOnUpdateThread().嗯......我不喜欢它.

我的问题是,如果我RunnableHandler在Entity中创建一个对象并注册它registerUpdateHandler()并添加了新的Runnable RunnableHandler,这个解决方案是否与该runOnUpdateThread()功能相同.这是Runnable在更新线程中执行的吗?

/* MySprite is attached to a Scene object */
public class MySprite extends Sprite {
   private final RunnableHandler UPDATE_HANDLER = new RunnableHandler();

   public MySprite() {
       registerUpdateHandler(UPDATE_HANDLER);
   }

   /* called when the sprite has to be removed from scene */
   public void removeMyself() {
       Runnable r = new Runnable() {
           public void run() {
               detachSelf(); …
Run Code Online (Sandbox Code Playgroud)

android andengine

8
推荐指数
1
解决办法
255
查看次数

如何使用Spark将Unix时间戳转换为给定的时区

我需要帮助,因为我似乎迷失了时区:)

我使用Spark 1.6.2

我有这样的时代:

+--------------+-------------------+-------------------+
|unix_timestamp|UTC                |Europe/Helsinki    |
+--------------+-------------------+-------------------+
|1491771599    |2017-04-09 20:59:59|2017-04-09 23:59:59|
|1491771600    |2017-04-09 21:00:00|2017-04-10 00:00:00|
|1491771601    |2017-04-09 21:00:01|2017-04-10 00:00:01|
+--------------+-------------------+-------------------+
Run Code Online (Sandbox Code Playgroud)

Spark机器上的默认时区如下:

#timezone = DefaultTz:欧洲/布拉格,SparkUtilTz:欧洲/布拉格

输出

+--------------+-------------------+-------------------+
|unix_timestamp|UTC                |Europe/Helsinki    |
+--------------+-------------------+-------------------+
|1491771599    |2017-04-09 20:59:59|2017-04-09 23:59:59|
|1491771600    |2017-04-09 21:00:00|2017-04-10 00:00:00|
|1491771601    |2017-04-09 21:00:01|2017-04-10 00:00:01|
+--------------+-------------------+-------------------+
Run Code Online (Sandbox Code Playgroud)

我想计算给定时区中按日期和小时分组的时间戳(现在是Europe / Helsinki + 3hours)。

我的期望:

+----------+---------+-----+
|date      |hour     |count|
+----------+---------+-----+
|2017-04-09|23       |1    |
|2017-04-10|0        |2    |
+----------+---------+-----+
Run Code Online (Sandbox Code Playgroud)

代码(使用from_utc_timestamp):

logger.info("#timezone = DefaultTz: {}, SparkUtilTz: {}", TimeZone.getDefault.getID, org.apache.spark.sql.catalyst.util.DateTimeUtils.defaultTimeZone.getID)
Run Code Online (Sandbox Code Playgroud)

我得到了什么:'( …

timezone apache-spark apache-spark-sql

5
推荐指数
1
解决办法
8520
查看次数