小编And*_*ejs的帖子

在Android上分叉gradle依赖项

我有一段时间没有开发Android,我正在尝试使用Gradle依赖项的新功能做正确的事情.

我想知道当您需要修改一个特定的依赖项以满足您的需求时,最佳实践是什么.

例如,假设我们有两个库通过子类化适配器来扩展RecyclerView功能:

Adapter --> AdapterA
Adapter --> AdapterB
Run Code Online (Sandbox Code Playgroud)

由于Java不支持多重继承,我想让两个库协同工作的唯一方法就是修改其中一个,这样子类层次结构如下所示:

Adapter --> AdapterA --> AdapterB
Run Code Online (Sandbox Code Playgroud)

如果我是正确的,这是要走的路,那么什么是修改和集成库的最佳方法,这里是我能想到的选项:

  1. 在GitHub上分叉并使用JitPack添加分叉修改的库
  2. 将库作为本地模块添加到应用程序并修改源

请证明或建议什么是更好的,如果有任何其他替代方案来实现这一点.

java android gradle android-gradle-plugin jitpack

16
推荐指数
2
解决办法
303
查看次数

如何在不使用方法字符串名称的情况下在Java中获取Method对象

我正在寻找一种从方法中获取Method对象的方便的解决方法.想法:

Method fooMethod = getMethod( new MyObject().foo() ) // returns method "foo" in MyObject
Run Code Online (Sandbox Code Playgroud)

显而易见的方法是将方法的名称用作字符串:

Method fooMethod = MyObject.class.getMethod("foo")
Run Code Online (Sandbox Code Playgroud)

但我想避免这种情况,因为如果我重命名foo()代码将停止工作或我在所有使用它的地方重命名字符串.

用例是我想使用类似于ProperyChangeListeners的东西,但是那些依赖于方法名称作为字符串.我想使用实际的方法(安全)而不依赖于字符串.

我可以使用什么来重命名安全方法?

更新:我想找到一个不依赖IDE功能的纯Java解决方案

java reflection

15
推荐指数
4
解决办法
2万
查看次数

GraphQL 查询不存在对象的结果

我有一个 GraphQL 查询,它调用 REST 服务来获取返回对象。该查询包含一个 Id 参数,然后将该参数传递给服务。但是,如果具有该 ID 的对象不存在,则 REST 服务可以响应 http 状态 404 Not Found。这似乎是正确的回应。

如何在 GraphQL 中对“未找到”响应进行建模?有没有办法通知 GQL 调用者某些内容不存在?

更新
我正在考虑的一些选项:

  • 返回空值
  • 更改 GrqlhQL 查询以返回对象列表并返回未找到任何内容的空列表
  • 返回某种带有错误代码的错误对象

但目前尚不清楚 GQL API 设计是否有推荐的做法。

rest graphql

12
推荐指数
1
解决办法
9871
查看次数

Android Studio如何了解新的依赖版本?

Android Studio似乎知道何时有更新版本的依赖项.Maven存储库具有所有版本,因此当然可以检查那里,但它不会对所有依赖项执行此操作.

注意到它适用于com.google和com.android依赖项,但不适用于其他人.这是为什么?可以配置吗?对此有任何见解表示赞赏.

在此输入图像描述

android gradle maven android-studio android-gradle-plugin

10
推荐指数
1
解决办法
264
查看次数