我们有一个基本上有一个UIWebView的应用程序,在XCode中设置为"iPhone App".
到目前为止一切工作正常,但使用iOS 7 iPad模拟器,应用程序现在立即显示在"全屏",这不会是问题,但WebView似乎也放大了.
我只看到加载的网站的右上角1/4,必须滚动查看其余部分.
我们在应用程序中使用jQuery mobile 1.3.1.
编辑
我发现了错误.看来,视口元元素的语义在iOS版本之间发生了变化.
更改
<meta name="viewport" content="width=device-width, initial-scale=1">
Run Code Online (Sandbox Code Playgroud)
至
<meta name="viewport" content="initial-scale=1">
Run Code Online (Sandbox Code Playgroud)
为我工作,但我不确定这是否是要走的路,因为jQuery Mobile Demo Page确实将设置为设备.当我从UIWebView加载Demo-Page时,我得到了同样的效果.
是否有关于设置视口的"正确方法"的信息,特别是因为演示页面使用width = device-width
java 8的功能接口是否可用(即jar),所以我可以在Java 7项目中使用它们?这样我以后可以更容易地将代码移植到惯用的java 8.如果不是,技术上是否可行,或者他们是否使用默认方法等新功能?
是的,我的意思是java.util.function中的接口.因为添加带有java前缀的包似乎是不允许从其他地方导入它们不是一个选项.
我们有一个带有UIWebView的混合iOS应用程序,它可以加载一个相当复杂的网上商店(一堆跟踪像素,javasript,异步行为).自iOS 11.3推出以来,我们看到许多崩溃似乎来自UIWebView或相关组件.堆栈跟踪看起来像这样
Crashed: WebThread
0 WebCore 0x18b7b0d98 WebCore::Page::sessionID() const + 162
1 WebKitLegacy 0x18be91204 WebFrameNetworkingContext::storageSession() const + 24
2 WebCore 0x18ad818bc WebCore::ResourceHandle::willSendRequest(WebCore::ResourceRequest&&, WebCore::ResourceResponse&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&) + 1012
3 WebCore 0x18ad86f88 WTF::Function<void ()>::CallableWrapper<-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]::$_1>::call() + 208
4 JavaScriptCore 0x1892157d4 WTF::dispatchFunctionsFromMainThread() + 344
5 Foundation 0x1830fe0ec __NSThreadPerformPerform + 340
6 CoreFoundation 0x18265b404 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
7 CoreFoundation 0x18265ac2c __CFRunLoopDoSources0 + 276
8 CoreFoundation 0x18265879c __CFRunLoopRun + 1204
9 CoreFoundation 0x182578da8 CFRunLoopRunSpecific + 552
10 WebCore 0x18a805dcc RunWebThread(void*) + 592
11 libsystem_pthread.dylib 0x1822d9220 …Run Code Online (Sandbox Code Playgroud) 我正在构建一个简单的CRUD应用程序(不使用CRUD模块).
我的模型是一个带有一个属性的简单类.id是从Model隐式继承的.
@Entity
public class Account extends Model {
@Required
public String domain;
}
Run Code Online (Sandbox Code Playgroud)
该观点如下.请注意带有id的隐藏字段.
<form class="form-horizontal" action="@{Application.save}" method="POST">
<fieldset>
<legend>Settings</legend>
<input type="hidden" name="account.id" value="${account?.id}">
#{field 'account.domain'}
<div class="control-group #{if field.error != null} error #{/if}">
<label class="control-label" for="${field.id}">&{field.name}</label>
<div class="controls">
<input type="text" class="input-xlarge" id="${field.id}" value="${field.value}" name="${field.name}">
<span class="help-inline">${field.error}</span>
</div>
</div>
#{/field}
<div class="form-actions">
<input class="btn btn-primary" type="submit" value="Save">
</div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
我已经能够构建一个保存,更新工作的场景.
更新的方式是我从隐藏字段中读取ID,并更新记录.如果ID不可用,则会创建新记录.
所以问题是: ID是否可以被黑客攻击,即修改以便我将1更改为2,并假设存在2的记录,它将被覆盖.(我想用firebug或其他插件来说应该不难).
我该如何防止这种情况?我想到的一个选项是用给定的Id读取记录,如果允许用户修改它,我允许更新,否则不允许.这仍然不是万无一失的,因为虽然可以允许用户,但可以修改"错误"记录.
我想这是一个已知的问题,希望有一个已知的解决方案.
感谢您抽出宝贵时间回答我的问题.
我正在学习Scala,今天我有信心将它介绍给我们的一个项目.
该应用程序执行了很多JPA/Hibernate的工作,我开始在Scala中实现一个Java接口.一切顺利,直到我试图将一些单元测试代码翻译成Scala.
我使用了很多Easymock,代码很自我解释.我想问题是,Scala不允许我返回一个类型化的java.util.List,它需要一个无类型的java.util.List.不幸的是,我不知道如何让Scala转换为需要类型参数的东西.
说明/重现我的问题的代码:
package some.package.name
import java.util.ArrayList
import java.util.List
import javax.persistence.Query
import org.easymock.EasyMock._
import org.junit.Assert._
import org.junit.Test
class MyGreatScalaTest {
@Test
def testSomething() : Unit = {
val mockQuery: Query = createMock(classOf[Query])
val mockResult: List[String] = new ArrayList[String]
mockResult.add("great value")
expect(mockQuery.getResultList).andReturn(mockResult)
replay(mockQuery)
assertEquals(
(mockQuery.getResultList.asInstanceOf[List[String]]).get(0),
"great value")
verify(mockQuery)
}
}
Run Code Online (Sandbox Code Playgroud)
这会产生以下编译器错误:
[WARNING] found : java.util.List[String]
[WARNING] required: java.util.List[?0] where type ?0
[WARNING] expect(mockQuery.getResultList).andReturn(mockResult)
[WARNING] ^
Run Code Online (Sandbox Code Playgroud)
如您所见,我需要mock来实现javax.persistence.Query的接口,它返回一个java.util.List.
我有一些android测试,当在4.4/Kitkat下的Android版本上运行时会崩溃.
这些是我在build.gradle中的库
androidTestCompile 'org.mockito:mockito-core:1.9.5'
androidTestCompile 'com.google.dexmaker:dexmaker:1.1'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.1'
Run Code Online (Sandbox Code Playgroud)
虽然我需要添加一些提示来告诉Dexmaker将缓存放在哪里,但测试运行与Android 4.4版本一样正常.
System.setProperty("dexmaker.dexcache", getInstrumentation().getContext().getCacheDir().getPath());
Run Code Online (Sandbox Code Playgroud)
以下是设备的logcat输出:
D/dalvikvm( 1712): GC_FOR_ALLOC freed 479K, 19% free 2532K/3124K, paused 3ms, total 3ms D/dalvikvm( 1712): GC_CONCURRENT freed 427K, 18% free 2595K/3136K, paused 1ms+0ms, total 3ms D/dalvikvm( 1712): GC_CONCURRENT freed 311K, 16% free 2686K/3188K, paused 3ms+0ms, total 4ms D/dalvikvm( 1712): GC_FOR_ALLOC freed 127K, 11% free 2852K/3188K, paused 1ms, total 1ms D/dalvikvm( 1712): GC_FOR_ALLOC freed 123K, 7% free 3239K/3476K, paused 4ms, total 4ms D/dalvikvm( 1712): GC_CONCURRENT freed 53K, 6% free …
我在其当前版本中使用Play Framework,我的模型类扩展了play.db.jpa.JPABase.
今天我尝试将常用的查询类型设为泛型,并定义一个静态辅助方法来构造它.
我写了以下内容:
import play.db.jpa.Model;
import play.libs.F;
public class GenericQueries {
public static <T extends Model> F.Option<T> firstOption(
Class<T> clazz,
String query,
Object... parameters){
final T queryResult = T.find(query,parameters).first();
return (queryResult == null) ?
F.Option.<T>None() :
F.Option.Some(queryResult);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
执行异常
发生UnsupportedOperationException:请使用@ javax.persistence.Entity批注对JPA模型进行批注.
我调试了方法,在运行时T似乎正确设置为它的相应Model类.我甚至看到了注释.
我怀疑一些课程增强伏都教的负责人,但我不完全确定.
有任何想法吗?
更新:将Model类添加为Requested
这是我使用的Model类之一的缩短版本.
package models;
import org.apache.commons.lang.builder.ToStringBuilder;
import play.data.validation.Required;
import play.db.jpa.Model;
import play.modules.search.Field;
import play.modules.search.Indexed;
import javax.persistence.Column;
import javax.persistence.Entity;
import java.util.Date;
@Entity @Indexed
public class FooUser extends Model {
@Required
public Date firstLogin; …Run Code Online (Sandbox Code Playgroud)