对于我们的Android应用程序,我们希望嵌入自己的浏览器/渲染引擎.最有可能的候选者是Webkit/Chromium.我们正在寻找类似于WebView的东西,基本上是由我们控制的浏览器(版本)支持.
我们的应用程序的重要部分包含嵌入在视图中的网页片段(由应用程序本身提供).我们尽可能透明地尝试(从视觉/用户体验的角度来看).到目前为止,我们一直在使用WebView,这在很大程度上是有效的.除非它没有.
不幸的是,一些手机厂商决定在这里和那里调整标准的Android浏览器.在某些情况下,这会破坏我们的应用程序,或者使我们嵌入网页更加引人注目.
我们希望有一个类似于WebView的组件,但我们控制使用的是什么版本的Webkit/Chromium(或其他一些渲染引擎).它不一定是最新最好的版本.更重要的是,我们可以让我们的应用程序在尽可能多的Android设备上保持一致.
到目前为止,我们的研究没有发现任何有用的东西 我们发现三次尝试将Webkit移植到NDK(裸端的Webkit for Android端口使用NDK中没有的功能,因此不使用应用程序开发人员):
在StackOverflow上,我们也发现了许多类似的问题,其中大部分是通过指向WebView来解决的(我们已经这样做了,而且还不够好)
我们目前正在调查是否可以将适用于Android的Chromium(或部分内容)转换为我们的应用可以使用的库.还有其他人这样做过吗?
在看了GitHub上的chromeview项目(接受的答案)之后,我们决定等待谷歌在未来的Android设备上发布基于Chrome的WebView.Chromium渲染引擎相当大(~40MB),这不会给实际应用留下太多空间:(
要在开发期间调试HTTP请求,我希望我的WildFly 8应用程序服务器将HTTP请求(包括请求方法和标头)转储到日志文件中.server.log没关系.
在WildFly的HTTP子系统的源代码中,我找到了RequestDumpingHandler和相应的日志记录类别io.undertow.request.dump
然而,我无法弄清楚,如何使其适用于通过我的应用程序(有一些静态资源和JAX-RS处理程序WAR)服务的所有请求安装头.
相应的文档页面(Undertow Web子系统配置)并不能真正解释处理程序.<handler>配置部分中有一个元素
<?xml version="1.0" ?>
<server xmlns="urn:jboss:domain:2.1">
...
<profile>
...
<subsystem xmlns="urn:jboss:domain:undertow:1.1">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
<!-- <dump-request /> ?? or something?-->
</handlers>
<filters>
<response-header name="server-header" header-name="Server" header-value="WildFly/8"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>
...
</profile>
...
</server>
Run Code Online (Sandbox Code Playgroud)
但据我所知,只有<file>和代理人在那里(?).
如何在WildFly中记录传入HTTP请求的完整详细信息? …
我有一个Visual Studio 2008项目,其中每个构建生成一些代码文件(解析器,通过MSBuild集成,也称为编辑*.csproj文件).VS不知道这些文件的生成性质(即它们不是"自定义工具"的结果.)所以它们随着每次构建"改变",自然而然.如果我想重新加载那些,VS2008会在每次构建后问我文件:
此文件已在源外修改
您要重新加载吗?
如果我在我面前打开了其中一个文件,那就没关系,但即使没有打开任何代码文件,我也会得到这些模态对话框.
所以我的问题是:有没有办法禁用此对话框,每个项目,每个解决方案或全局?
谢谢!
有人能告诉我这UnmanagedMemoryStream堂课的用途吗?
我无法弄清楚这门课程如何以及何时有用?
是否有任何标准的通用的"回调"或Java的"功能/法"类型,如System.Action<T>或System.Func<T,U>在.NET?
在我的具体情况中,我需要一个包装一个方法的类,该方法接受一个(泛型)参数类型T并且不返回任何内容(即void).
是的,为我自己创建这样的类/接口很容易,但如果有的话,我更喜欢标准库类.
(让我给你一些背景)我正在设计一个应用程序,它应该根据一些数据生成一个可打印的A4页面.当然,WPF(96像素/英寸)的独立于设备的像素在纸张世界中不是非常自然的测量单位.像毫米这样的东西会更合适.所以我拿出了我的计算器并达到了3.779左右的比例因子.
事实证明,简单地将所有应该放在页面上的内容放在一个ScaleTransform有一个令人讨厌的副作用:字体大小也是(自然地)缩放.然而,这不是我的意图.我希望12pt Arial像12pt一样渲染Arial会正常渲染.
有没有其他方法可以更改坐标系,而无需调用扩展或任何转换每个坐标,长度,厚度等等?- 或 - 是否有任何方法可以即时映射字体大小,是DependencyProperties?通过包装所有纸质内容的自定义控件,也许?
我正在开发一个从System.Windows.Controls.ContentControl派生的自定义控件.在控件默认模板(themes\generic.xaml)中,我使用包装实际内容的Border元素.
我的自定义控件是否已经实现了边距和填充(即根据自定义控件上的填充设置缩小边框)或者我是否可以决定自己,应用边距和填充(即设置边距和填充属性)边界元素{TemplateBinding Margin}等
提前致谢!
我最近遇到了下面的链接,我发现它非常有趣.
http://en.wikipedia.org/wiki/XOR_linked_list
现在我想知道这是否仅适用于低级语言,或者在C#中是否也可以?
是否有任何类似的选项可以用C#产生相同的结果?
我正在开发的Web应用程序包含一些servlet以及JAX-RS Web服务.到目前为止,我使用ContainerRequestFilter来验证REST方法调用,但现在我还需要保护servlet,所以我决定使用web.xml来定义安全性约束.我的web.xml看起来像这样:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<security-constraint>
<web-resource-collection>
<web-resource-name>rest</web-resource-name>
<url-pattern>/rest/*</url-pattern>
</web-resource-collection>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
<url-pattern>/protected/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>user</role-name>
</security-role>
<!-- Configure login to be HTTP Basic -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Restricted Zone</realm-name>
</login-config>
</web-app>
Run Code Online (Sandbox Code Playgroud)
如果我正确理解了web.xml的语法,我定义的意味着对于/ rest/*(我所有的JAX-RS方法都是)的访问权限就LoginModule而言是无限制的,并且对/ protected的访问权限都是/*path(我保留我的安全servlet)需要基本授权.
当我尝试打开其中一个安全servlet时,例如/ protected/test,我在浏览器中获得了基本的auth登录对话框,行为是正确的 - 如果我输入'admin'用户的凭据,我就可以访问.否则,我会收到"禁止"消息.
此外,当我尝试访问/ rest/path上的任何内容时,我没有得到任何基本的auth对话框,这就是我所期望的.但是,我在ContainerRequestFilter中获取的Authorization标头不是我在REST请求中发送的那个,而是我之前用于进入/ protected/servlet的那个.
以下是这个难题的其他部分:
standalone.xml(security-domains部分)
<security-domain name="PaloSecurityDomain" cache-type="default">
<authentication>
<login-module code="com.palo.security.PaloLoginModule" flag="required"/>
</authentication>
</security-domain>
Run Code Online (Sandbox Code Playgroud)
的jboss-web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>PaloSecurityDomain</security-domain>
</jboss-web>
Run Code Online (Sandbox Code Playgroud)
PaloLoginModule.java
package com.palo.security;
import java.security.acl.Group;
import java.util.Set;
import javax.inject.Inject; …Run Code Online (Sandbox Code Playgroud)