如果用户暂时不与设备交互,我需要阻止屏幕自动锁定.
是否可以在运行我的应用程序时请求某种锁定以保持屏幕开启?
我正在尝试设置一个开发环境,用于在docker容器中开发一个play应用程序.我已经安装了sbt创建了一个图像.然后,我将主机上的项目文件夹映射为容器作为卷,并以交互方式运行shell:
docker run -v /Users/jorgen/dev/play-sbt-docker/app:/data/app -w /data/app -p 9999:9000 -i -t jorgenfb/sbt /bin/bash
Run Code Online (Sandbox Code Playgroud)
然后我通过运行启动播放应用程序sbt ~run.播放服务器启动只是查找,它甚至重新编译我在主机上编辑我的文件:
[info] Compiling 1 Scala source to /data/app/target/scala-2.10/classes...
[success] Compiled in 2s
Run Code Online (Sandbox Code Playgroud)
问题是刷新时浏览器中没有出现更改.由于禁用了缓存,因此没有缓存问题.如果我从我的主机运行应用程序,一切正常.
编辑:这是我用于使用sbt创建容器的Dockerfile:
FROM dockerfile/java:oracle-java8
MAINTAINER Jørgen Borgesen
ENV SBT_VERSION 0.13.5
# Install sbt
RUN cd /tmp && \
wget https://dl.bintray.com/sbt/native-packages/sbt/$SBT_VERSION/sbt-$SBT_VERSION.zip && \
unzip sbt-$SBT_VERSION.zip -d /usr/local && \
rm sbt-$SBT_VERSION.zip
Run Code Online (Sandbox Code Playgroud)
我做了一些更多的研究.在docker容器内部,我启动播放应用程序,如下所示:
[ root@aa1f2327d938:/data/app ]$ /usr/local/sbt/bin/sbt
[info] Loading project definition from /data/app/project
[info] Set current project to my-first-app (in build file:/data/app/)
[my-first-app] $ …Run Code Online (Sandbox Code Playgroud) 我使用NavigationView作为根面板.我试图完成的事情是在用户导航到我的应用程序更深处时将视图推送到我的根面板,并在用户返回时弹出它们.
这是一个显示我的问题的简单示例:我有一种显示一些条目详细信息的视图.
Ext.define('MyApp.view.EntryDetails', {
extend: 'Ext.Panel',
xtype: 'entrydetails',
config: {
tpl: '<div>{id}</div>'
}
});
Run Code Online (Sandbox Code Playgroud)
我还有一个配置为侦听以下路由的控制器:"entry /:id",并在此路由匹配时将新的entrydetails视图推送到navigationstack(NavigationView).
Ext.define('MyApp.controller.EntryDetails', {
extend: 'Ext.app.Controller',
config: {
routes: {
'entry/:id': 'showEntry'
},
refs: {
navview: 'mynavigationview'
},
},
showEntry: function(id){
this.getMain().push({
xtype: 'entrydetails',
data: {id:id}
});
}
});
Run Code Online (Sandbox Code Playgroud)
好的,这很好用.现在让我们首先假设我导航到:index.html#entry/1.这将按照我的意愿将新视图推送到堆栈.然后我点击另一个链接index.html#entry/2.另一个视图被推入堆栈,这也是预期的行为.现在,当我单击"浏览器"后退按钮时,会出现问题.这会将url更改为index.html#entry/1并将另一个视图推送到我的堆栈.我想弹出一个视图而不是添加另一个视图.如果我按下工具栏后退按钮,则会按照我的意愿弹出视图,但浏览器后退按钮不是这种情况.
我确实理解为什么会发生这种情况:Sencha触摸框架不知道网址更改是否是由于我使用与之前的浏览器历史记录网址相同的网址按下另一个链接,或者我是否按下浏览器上的后退按钮.我的所有代码都知道,当它看到一个url更改为"entry /:id"时,应该将另一个视图推送到堆栈.
解决这个问题的最佳方法是什么.如何检测到按下浏览器的后退按钮并从导航视图中弹出一个视图.
我曾想过检查更改后的url是否与我的导航堆栈中的某个视图相似,但是我不确定这是否是这样做的.
欢迎任何有关该主题的帮助/讨论!
extjs deep-linking browser-history sencha-touch sencha-touch-2
如何测试依赖注入创建的actor?在我的应用程序中,我可以通过命名注入获得ActorRef:
public MyClass {
@Inject
@Named("ping")
ActorRef mPingRef;
}
Run Code Online (Sandbox Code Playgroud)
如何在我的测试中获得此参考?
这是我的演员:
public class PingActor extends UntypedActor {
@Inject
public PingActor(Configuration configuration) {
... // Use config
}
@Override
public void onReceive(Object message) throws Exception {
if (message instanceof Ping) {
getSender().tell(new Pong(), getSelf());
}
}
public static class Ping {}
public static class Pong {}
}
Run Code Online (Sandbox Code Playgroud)
我已经使用自己的模块配置了我的应用程序:
public class MyModule extends AbstractModule implements AkkaGuiceSupport {
private final Configuration mConfig;
public MyModule(Environment environment, Configuration configuration){
this.mConfig = configuration;
}
@Override
protected …Run Code Online (Sandbox Code Playgroud) 假设我有一个简单的立方体和一些指定其宽度,高度和深度的变量.
当w/h/d改变时,如何更新我的THREE网格?(我还有其他一些像changelisteners等).我是否直接更新顶点?或者重新绘制一切更容易?
three.js ×2
webgl ×2
akka ×1
boot2docker ×1
c# ×1
deep-linking ×1
docker ×1
extjs ×1
guice ×1
sencha-touch ×1