我一直在阅读一些关于Gradle作为Android应用程序的标准构build系统的文章。 那么,从标准的Java开发,我通常依靠jar文件来build立我的项目。 但是,Android似乎也有一个包,它们相当于Windows操作系统中的dll文件,如下所述: 首先,你必须认识到,Android平台不允许应用程序级的“共享库”。 在“传统”编程语言平台,C,C ++,Java中,您可以命名它,我们有这种共享运行时库的机制。 (例如,Windows上的DLL,Unix上的DSO,JVM上的Jar等)。 但是,在Android上,除非您是Google或手机制造商,否则不能这样做(请参阅下面的脚注1)。 作为应用程序开发人员,这可能是一个基本的限制。 在编译时和运行时,“共享”或“重用”代码是软件工程实践中非常重要的一部分。 由于上述限制,这在Android上是相当困难的(不是不可能,更难)。 不过,我对这个概念有些怀疑。 我的意思是,开发人员何时应该在其应用程序中包含aar依赖关系? 这种依赖关系是否收紧到SDK最低版本? 例如,在一个项目中,我访问一个COM端口,我使用NDK预编译的 .so库。 如果我想分享此实用程序,是否必须创build一个aar?
最近,我决定开始学习关于java web服务的知识,当我开始在googlesearch一个关于java web服务的教程时,我发现有很多types的基于XML的Web服务,基于SOAP和REST风格的Web服务。 另外,我发现有一个基于xml的Web服务的JAX-WS规范,以及用于创buildRESTful Web服务的JAX-RS规范。 Q1)我感到困惑,如果有人能帮助我理解这些不同types的Web服务之间的区别,那么这将是非常好的,所以我可以决定先学哪一个。 Q2)另外,我想深入学习在java中创build不同types的web服务。 有任何教程或资源,可以给每种Web服务的洞察力和他们之间的比较。 Q3)根据什么场景和条件,我应该决定创build一个基于XML的Web服务而不是SOAP服务,或者我应该使用RESTful服务。
我的公司一直在评估Spring MVC,以确定我们是否应该在下一个项目中使用它。 到目前为止,我喜欢我所看到的,现在我正在看看Spring Security模块,以确定它是我们可以/应该使用的东西。 我们的安全要求是相当基础的。 用户只需提供用户名和密码即可访问网站的某些部分(如获取有关其帐户的信息); 并且网站上有一些页面(常见问题,支持等),匿名用户应该被授予访问权限。 在我创build的原型中,我一直在Session中为已authentication的用户存储一个“LoginCredentials”对象(它只包含用户名和密码) 例如,一些控制器检查这个对象是否在会话中以获得对login用户名的引用。 我期待用Spring Security取代这个本土化的逻辑,而不是去除任何types的“我们如何跟踪login用户?”的好处。 和“我们如何authentication用户?” 从我的控制器/业务代码。 Spring Security似乎提供了一个(每线程)“上下文”对象,可以从应用程序的任何位置访问用户名/主体信息。 Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); …这似乎是非常像spring一样,因为这个对象是(全局)单身,在某种程度上。 我的问题是:如果这是在Spring Security中访问经过身份validation的用户的信息的标准方法,那么在SecurityContext中注入一个Authentication对象的方法是什么,以便在unit testing需要authentication用户? 我是否需要在每个testing用例的初始化方法中进行连线? protected void setUp() throws Exception { … SecurityContextHolder.getContext().setAuthentication( new UsernamePasswordAuthenticationToken(testUser.getLogin(), testUser.getPassword())); … } 这似乎过于冗长。 有更容易的方法吗? SecurityContextHolder对象本身看起来非常像Spring一样…
我想用指定的注释(比如@Monitor)来监视所有类的所有公共方法(注意:注解是在类级别的)。 这可能是一个可能的切入点? 注意:我正在使用@AspectJ风格的Spring AOP。
有没有办法来匹配下面的例程的任何类参数? class A { public B method(Class<? extends A> a) {} } 我怎么总是返回一个new B()而不pipe哪个类被传入method ? 以下尝试仅适用于A匹配的特定情况。 A a = new A(); B b = new B(); when(a.method(eq(A.class))).thenReturn(b); 编辑 :一个解决scheme是 (Class<?>) any(Class.class)
有没有简单的方法来获取使用Java驱动程序的mongoDB实例的最后插入的文档的ID(ObjectID)?
当我运行maventesting,java.lang.OutOfMemoryError发生。 我谷歌的解决scheme,并试图export MAVEN_OPTS=-Xmx1024m ,但它没有奏效。 任何人都知道这个问题的其他解决scheme,BTW我使用的是Maven 3.0 提前致谢 在运行“mvn test -e”时将错误消息粘贴在这里 testing失败: 警告(junit.framework.TestSuite $ 1) testDefaultPigJob_1(com.snda.dw.pig.impl.DefaultPigJobLocalTest) testDefaultPigJob_2(com.snda.dw.pig.impl.DefaultPigJobLocalTest) testing运行:11,失败:3,错误:0,跳过:0 10/11/01 13:37:18 INFO executionengine.HExecutionEngine:连接到hadoop fi 文件系统:/// [INFO] ———————————————– ————————- [信息]build设失败 [INFO] ———————————————– ————————- [信息]总时间:30.063s [INFO]完成于:Mon Nov 01 13:37:18 PDT 2010 [INFO]最终记忆:3M / 6M [INFO] ———————————————– ————————- [错误]无法执行目标org.apache.maven.plugins:maven-surefire-plugin:2。 5:项目dw.pigtesting(默认testing):有testing失败。 [错误] [错误]请参考E:\ Code \ Java \ workspace \ dw.pig \ […]
我怎么能创build一个JSON对象,如下所示,在Java中使用JSONObject? { "employees": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ], "manager": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ] } 我发现了很多的例子,但不是我的完全JSONArraystring。
我的数据是按“键 – 键”格式组织的,而不是“键 – 值”。 这就像一个HashMap,但是我需要在两个方向上进行O(1)查找。 这种types的数据结构是否有名称,并且类似于Java标准库中包含的名称? (或者Apache Commons?) 我可以写我自己的类,基本上使用两个镜像地图,但我宁愿不重新发明轮子(如果这已经存在,但我只是没有寻找合适的期限)。
在Android Studio中运行项目失败,出现此错误: could not find any version that matches com.android.support:appcompat-v7:+ 我该如何解决这个错误?