Apache FOP 2.2使用相对路径包含字体

我正在设置一个fop.xconf并配置哪些字体可用于Apache FOP,并希望使用相对路径而不是绝对路径: <fop version="1.0"> <strict-configuration>true</strict-configuration> <strict-validation>true</strict-validation> <base>./</base> <font-base>./</font-base> <source-resolution>72</source-resolution> <target-resolution>72</target-resolution> <default-page-settings height="11in" width="8.26in"/> <hyphenation-pattern lang="en" country="ZA">en_ZA</hyphenation-pattern> <renderers> <renderer mime="application/pdf"> <fonts> <directory recursive="true">/Users/me/Code/company/project/src/main/resources/templates/fonts</directory> <substitutions> <substitution> <from font-family="Helvetica" /> <to font-family="OpenSans" /> </substitution> </substitutions> </fonts> </renderer> </renderers> </fop> 是否有可能设置渲染器内的字体目录使用相对路径? 或者有可能以编程方式设置,在这种情况下,我可以利用 this::class.java.getResource("/templates/fonts/MyFont.ttf") 得到完整的路径? 2017-10-24 05:24:48,591 WARN org.apache.fop.apps.FOUserAgent – The font directory ./fonts could not be found. 2017-10-24 05:24:48,591 […]

当有变化时,RxJava2可观察的不在onNext上进行处理

我是RxJava的初学者。 我想追踪Int变量的变化,并在变化时对它作出反应。 这是我的例子: class MainActivity : AppCompatActivity() { lateinit var button: Button var counter: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val observable :Observable<Int> = Observable.just(counter) button = findViewById(R.id.button) button.setOnClickListener(View.OnClickListener { counter++ }) observable.subscribe( Consumer { t -> Log.d("fromObservable", counter.toString()) } ) } } } 但是,日志从不调用时,我点击按钮。 我怎样才能使用RxJava2正确?

测试RxJava2流动查询室

我一直在为我的房间数据库编写单元测试,在过去,当我有查询返回一个列表,并创建一个允许主线程查询的数据库,但现在我试图用RxJava值我没有运气。 这是我的DAO代码: @Dao interface AccountDAO { @Query("SELECT * FROM account") fun getAll(): Flowable<List<Account>> @Insert fun insert(accounts: List<Account>): List<Long> //… } 这里是我的数据库测试代码,我已经尝试了几件事情来通过它: @RunWith(AndroidJUnit4::class) class CCDatabaseTest { //… @JvmField @Rule val mainActivity = ActivityTestRule<MainActivity>(MainActivity::class.java) @Before fun setUp() { val context = mainActivity.activity database = Room.inMemoryDatabaseBuilder(context, CCDatabase::class.java).allowMainThreadQueries().build() accountDao = database.accountDao() transactionDao = database.transactionDao() } //… @Test fun testWriteReadAccount() […]

RxJava BehaviorSubject不发射最后一项?

我有一个简单的RxJava,使用ReplaySubject,我可以得到结果,所有3个数字打印。 val observable : Observable<Int> = Observable.just(1, 2, 3) val subject = ReplaySubject.create<Int>() observable.subscribe(subject) subject.subscribe{ result -> System.out.println("Start $result in Subscription Result") } 当我改变行为,我期望第三个数字,即3打印,因为我一直认为行为是重播最后发射的项目。 val observable : Observable<Int> = Observable.just(1, 2, 3) val subject = BehaviorSubject.create<Int>() observable.subscribe(subject) subject.subscribe{ result -> System.out.println("Start $result in Subscription Result") } 但它不打印任何东西。 为什么? 我错过了这里重要的事情吗 如果是的话,让我知道如何得到假设发出的最后一个项目(即3)打印。

Dagger不会为androidTest生成组件

我正在面对组件匕首生成的问题,我想为androidTest生成组件,但是当我生成项目时,DaggerTestComponent不会生成。 零件: package com.test.feliperibeirosaruhashi.testingkotlindagger import dagger.Component @Component(modules = arrayOf(MockTestModule::class)) interface MockAppComponent { fun inject(mainActivityTest:MainActivityTest) } 的build.gradle: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.0' testCompile 'junit:junit:4.12' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION" compile "com.android.support:design:$SUPPORT_LIBRARY_VERSION" compile "com.google.dagger:dagger:$DAGGER_VERSION" kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION" provided 'org.glassfish:javax.annotation:10.0-b28' kaptTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION" kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION" androidTestCompile "com.google.dagger:dagger:$DAGGER_VERSION" androidTestCompile "com.android.support.test:runner:$RUNNER_VERSION" […]

KAnnotator在Android Studio中工作吗?

我已经在Android Studio(0.5.8)中安装了KAnnotator(0.2.1205)。 它产生了注释,但在我看来,他们没有使用,或者我不明白。 有注释: <item name='android.support.v4.app.NotificationCompat.Builder android.support.v4.app.NotificationCompat.Builder setContentTitle(java.lang.CharSequence)'> <annotation name='org.jetbrains.annotations.NotNull'/> </item> 但是,我仍然要写: NotificationCompat.Builder(context) .setContentTitle(myTitle)!! 我必须手动附加注释吗? 如果是的话,在哪里?

我如何测试AsyncTask没有被调用?

我正在写一些针对Activity的测试。 在我的Activity的onCreate()方法中,我有一个异步调用。 我想写一个测试来验证AsyncTask没有被调用。 我该怎么做? 我试图嘲笑AsyncTask,但我不能因为execute()是最后的方法。 我最初的想法是做这样的事情: val mockedTask = mock(QuoteOfTheDayTask::class.java) verify(mockedTask, never()).execute() 但是现在,遇到一些试图以这种方式进行测试的问题,我开始想,也许我正在以这种错误的方式去做。 这几乎觉得我不应该试图对这个活动进行测试,但是现在这就是调用的地方。

LIBGDX 3D:在着色器上关闭纹理:OpenGL

对不起,如果问题是有点利基。 几年前我写了一些代码,它将许多网格渲染为一个大网格来表现。 我现在想做的只是渲染没有纹理的网格,所以只有一个颜色 boxModel = modelBuilder.createBox(10f, 10f, 10f, Material(ColorAttribute.createDiffuse(Color.WHITE), ColorAttribute.createSpecular(Color.RED), FloatAttribute.createShininess(15f)), (VertexAttributes.Usage.Position or VertexAttributes.Usage.Normal or VertexAttributes.Usage.TextureCoordinates).toLong()) // or VertexAttributes.Usage.TextureCoordinates for (x in 1..10) { for (y in 1..10) { modelInstance = ModelInstance(boxModel, x * 15f, 0.0f, y * 15f) chunks2[0].addMesh(modelInstance.model.meshes, modelInstance.transform, btBoxShape(Vector3(10f, 10f, 10f))) } } chunks2[0].mergeBaby() 所以我建立了巨大的网格,然后渲染它 shaderProgram.begin() texture.bind() shaderProgram.setUniformMatrix("u_projTrans", camera.combined) shaderProgram.setAttributef("a_color", 1f, 1f, […]

在kotlinc终端中导入依赖库

我在mac终端上玩kotlinc,但是我想用kotlinc里的rest客户端。 有没有办法包括? 像在Python中导入

RxJava2如果没有元素,可能返回空Observable

有没有比flatMap和try/catch使用JavaRx 2中Maybe类型的更好/更习惯的方法? 以下示例使用Maybe<User>并尝试为它们预订一个航班的随机票。 如果用户不存在,则返回一个空的Observable 。 fun bookRandomTicketFor(userId: UUID): Observable<Ticket> { val agencies = travelAgents() // Observable<TravelAgency> val user = findById(userId) // Maybe<User> val location = locate() // Observable<GeoLocation> return Observable .just(user.toObservable()) .flatMap { usr -> try { usr.zipWith(location, { aUser, location -> agencies .flatMap { agency -> agency .search(aUser, location) // Observable<Flight>. .toList() // Convert […]