Tag: 2服务

如何使用Retrofit从asynchronouscallback中返回String或JSONObject?

例如,打电话 api.getUserName(userId, new Callback<String>() {…}); 原因: retrofit.RetrofitError: retrofit.converter.ConversionException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2 我想我必须禁用gsonparsing到POJO,但不知道如何做到这一点。

Maven – 跳过构buildtesting类

有没有一种简单的方法来不build立testing类? mvn clean install -Dmaven.test.skip=true 沃尔特

如何让Maven运行战争:爆炸但不是战争:战争

我有一个使用<packaging>war</packaging>的Maven pom。 但实际上,我不想构buildwar文件,只想收集所有依赖的jar文件,并创build一个完整的部署目录。 所以我正在运行war:exploded目标,以生成部署目录: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <executions> <execution> <phase>package</phase> <configuration> <webappDirectory>target/${env}/deploy</webappDirectory> <archiveClasses>true</archiveClasses> </configuration> <goals> <goal>exploded</goal> </goals> </execution> </executions> </plugin> 麻烦的是,战争档案还在build立中。 有没有一个简单的方法让<packaging>war</packaging>执行war:exploded目标,而不是战争:战争的目标? 还是有另一种简单的方法来做到这一点?

不支持的操作:Android,Retrofit,OkHttp。 在OkHttpClient中添加拦截器

我正在尝试通过Retrofit 2.0-beta3和Android中使用拦截器的OkHttpClient添加基于令牌的身份validation。 但是当我在OkHttpClient中添加拦截器时,我得到了UnsupportedOperationExceptionexception。 这里是我的代码:在ApiClient.java public static TrequantApiInterface getClient(final String token) { if( sTreqantApiInterface == null) { Log.v(RETROFIT_LOG, "Creating api client for the first time"); OkHttpClient okClient = new OkHttpClient(); okClient.interceptors().add(new Interceptor() { @Override public Response intercept(Interceptor.Chain chain) throws IOException { Request original = chain.request(); // Request customization: add request headers Request.Builder requestBuilder = original.newBuilder() .header("Authorization", […]

Androidunit testing用匕首2

我有一个使用Dagger 2进行dependency injection的Android应用程序。 我也使用最新的gradle构build工具,它允许构build变体进行unit testing,并使用一个用于仪器testing。 我在我的应用程序中使用java.util.Random ,我想嘲笑这个testing。 我正在testing的类不使用任何Android的东西,所以他们只是普通的Java类。 在我的主代码中,我定义了一个扩展Application类的类中的Component ,但是在unit testing中我没有使用Application 。 我试过定义一个testingModule和Component ,但Dagger不会生成Component 。 我也尝试过使用我在应用程序中定义的Component ,并在构buildModule时交换Module ,但是应用程序的Component没有针对我的testing类的inject方法。 我如何提供Random的模拟实现进行testing? 以下是一些示例代码: 应用: public class PipeGameApplication extends Application { private PipeGame pipeGame; @Singleton @Component(modules = PipeGameModule.class) public interface PipeGame { void inject(BoardFragment boardFragment); void inject(ConveyorFragment conveyorFragment); } @Override public void onCreate() { super.onCreate(); pipeGame = DaggerPipeGameApplication_PipeGame.create(); } […]

在多个部署环境(生产/开发)中使用Maven

我有一个Maven的Web应用程序,默认的目录结构。 那里没问题。 默认目录结构有一些属性文件指向我的本地主机数据库。 目前我创build一个Ant脚本来创build不同的战争文件 – 一个用于生产,一个用于开发,使用这些命令: ant deploy-dev ant deploy-prod ant deploy-sit ant deploy-uat 所以基本上他们创build一个战争文件,然后通过插入属性文件来更新战争文件 有没有这样的maven(根据configuration创build不同的战争)? 如果是这样,我该怎么做? 我尝试过mvn war但这只是创造了一场战争

Retrofit 2.0如何获得反序列化的错误response.body

我正在使用Retrofit 2.0.0-beta1 。 在testing中,我有一个替代scheme,并期望错误HTTP 400 我想有retrofit.Response<MyError> response但response.body() == null MyError没有反序列化 – 我只能在这里看到它 response.errorBody().string() 但它不会给我MyError作为对象

比较聚集(tidyr)融化(重塑2)

我喜欢reshape2软件包,因为它让生活变得如此简单。 通常,Hadley在以前的软件包中进行了改进,使代码更加简化,运行速度更快。 我想我会给tidyr一个旋转,从我读的东西,我认为gather非常相似,从重塑2 melt 。 但是在阅读完文档之后,我无法gather去完成melt任务。 数据视图 这里是数据的视图(在dput结尾的dputforms的实际数据): teacher yr1.baseline pd yr1.lesson1 yr1.lesson2 yr2.lesson1 yr2.lesson2 yr2.lesson3 1 3 1/13/09 2/5/09 3/6/09 4/27/09 10/7/09 11/18/09 3/4/10 2 7 1/15/09 2/5/09 3/3/09 5/5/09 10/16/09 11/18/09 3/4/10 3 8 1/27/09 2/5/09 3/3/09 4/27/09 10/7/09 11/18/09 3/5/10 码 这里是melt时尚的代码,我试图gather 。 我怎样才能让gather做同样的事情呢? library(reshape2); library(dplyr); library(tidyr) dat %>% melt(id=c("teacher", "pd"), value.name="date") […]

Angular 2:从父组件获取RouteParams

如何从父组件获取RouteParams? App.ts : @Component({ … }) @RouteConfig([ {path: '/', component: HomeComponent, as: 'Home'}, {path: '/:username/…', component: ParentComponent, as: 'Parent'} ]) export class HomeComponent { … } 然后,在ParentComponent ,我可以很容易地获得我的用户名参数并设置子路由。 Parent.ts : @Component({ … }) @RouteConfig([ { path: '/child-1', component: ChildOneComponent, as: 'ChildOne' }, { path: '/child-2', component: ChildTwoComponent, as: 'ChildTwo' } ]) export class ParentComponent { […]

是否有可能使用类似于dcast的tidyr中的多列进行传播?

我有以下的虚拟数据: library(dplyr) library(tidyr) library(reshape2) dt <- expand.grid(Year = 1990:2014, Product=LETTERS[1:8], Country = paste0(LETTERS, "I")) %>% select(Product, Country, Year) dt$value <- rnorm(nrow(dt)) 我select了两个产品 – 国家组合 sdt <- dt %>% filter((Product == "A" & Country == "AI") | (Product == "B" & Country =="EI")) 我想看看每个组合的价值观。 我可以用dcast做到这dcast : sdt %>% dcast(Year ~ Product + Country) 是否有可能从包裹tidyr spread做到这一点 ?