我在我的一个项目中使用RxJava,我使用Android Studio插件将我的一个类转换为Kotlin,并在一个map flatMaplambda(java中的Func1)中,中间件返回如下所示@Func1.
我不知道这是什么意思.
something.flatMap(Func1<ArticleCriteria, Observable<Pair<String, String>>> {
val isTemporaryClone = it.isATemporaryClone
val isTheOriginalToken = it.tokenIsOriginalHere
if (isTemporaryClone) {
if (!isTheOriginalToken) {
return@Func1 paramsError("Token is always original for temp articles")
}
return@Func1 mJobRunner.doNotRun(DeleteArticleJob.TAG)
.doOnNext(deletePersonalActionById(articleId))
}
runArticleJobAsync(DeleteArticleJob.TAG, it)
})
Run Code Online (Sandbox Code Playgroud) 我正试图在两个片段之间进行翻转卡片动画,例如 - > 显示卡片翻转动画,方法是:
private void switchFragment(Fragment fragment) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
if ((fragment != null) && !(fragment.equals(currentFragment))) {
if (transactionByMenu) {
fragmentTransaction.setCustomAnimations(android.R.anim.fade_in,
android.R.anim.fade_out);
} else {
fragmentTransaction.setCustomAnimations(
R.animator.card_flip_right_in,
R.animator.card_flip_right_out);
}
Fragment nextFragment = fragment;
fragmentTransaction.hide(currentFragment);
fragmentTransaction.show(nextFragment);
currentFragment = nextFragment;
}
fragmentTransaction.commit();
}
Run Code Online (Sandbox Code Playgroud)
交易if(transactionByMenu){...}有效,但没有else{...}
我检查我的库和东西,我目前的目标高于api 11但我仍然有这个错误消息:
05-22 11:32:34.706: E/AndroidRuntime(6801): FATAL EXCEPTION: main
05-22 11:32:34.706: E/AndroidRuntime(6801): java.lang.RuntimeException: Unknown animation name: objectAnimator
05-22 11:32:34.706: E/AndroidRuntime(6801): at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:124)
05-22 11:32:34.706: E/AndroidRuntime(6801): …Run Code Online (Sandbox Code Playgroud) 我在我的项目中包含的库遇到了一些麻烦:一开始它只是一个冲突的依赖性问题,我通过排除
support-v4哪个是共同的共享模块来解决.
问题是其中一个lbsLib-release似乎是.jar在开发人员构建之前在根项目中使用普通文件构建的.
通过运行./gradlew app:dependencies我验证了构建图中没有引用依赖项.
我发现它support-v4嵌入了classes.jar位于:app/build/intermedites/exploded-aar/MyQaaAndroid/lbsLib-release/unspecified/classes.jar/如下图所示:

我不能自己重建项目,因为它不是一个开源的lib,所以有两个问题:
如果我添加compile 'com.android.support:support-v4:18.0.+'到build.gradle一个multiple dex file错误是在编译的时候,因此库引用了两次抛出.
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/app/BackStackState;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
Run Code Online (Sandbox Code Playgroud)
`
如果我删除所有需要support-v4它的库,则会在应用程序运行时抛出缺少的依赖项错误.
所以我想知道是否有可能.jar从构建中排除此文件或使其他libs取决于lbsLib-release嵌入式support-v4 .jar.
compile (project(':lbsLib-release')) {
exclude module: 'support-v4'
}
compile ('com.sothree.slidinguppanel:library:2.0.4'){ …Run Code Online (Sandbox Code Playgroud) 我用graphql-yoga制作了 API 服务器。(一个 nodejs 库)
在搜索谷歌之前,我只是使用这样的查询/变异。
Query: {
movies: () => { return Movies.all();}
}
Run Code Online (Sandbox Code Playgroud)
但是在搜索之后,我发现了一些在查询/突变上使用 await/async 的代码。
Query: {
movies: async () => { return await Movies.all(); }
}
Run Code Online (Sandbox Code Playgroud)
据我所知,第二种情况更安全,更好。
但我是 graphql 和 es6 的新手。
graphql 中是否已经定义了任何与 async/await 相关的进程?
或者,不必考虑一下?
或者,使用 async/await 更好?
任何建议,将不胜感激 :)
谢谢。