小编Sas*_*ota的帖子

匕首2:如何对片段使用注入

AndroidInjection.inject(this)用来将组件注入活动中。

AndroidInjection也有一个android.app.Fragment以参数为重载的方法。但是我的片段扩展了android.support.v4.app.Fragment,没有相应的方法。

问题:如果碎片延伸,如何使用注射android.support.v4.app.Fragment

java android android-fragments dagger dagger-2

2
推荐指数
1
解决办法
4956
查看次数

IntelliJ Idea:JUnit Test Class模板,具体取决于条件

我经常写不同类型的测试.根据测试类型,它可能有不同的设置.

例如,我的所有服务测试在类声明下都有以下注释:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = NONE)
Run Code Online (Sandbox Code Playgroud)

所有控制器测试都有这些注释:

@RunWith(SpringRunner.class)
@WithMockUser
@WebMvcTest(controllers = MyController.class)
Run Code Online (Sandbox Code Playgroud)

另一个测试有不同的设置等.

每当我创建测试时,我都必须从另一个测试中复制粘贴此部分.

我正在寻找一种能够帮助我在IntelliJ Idea中自动完成此过程的解决方案.

问:有没有办法JUnit Test Class根据测试类型定义不同的模板?

假设类名以"Service"结尾 - 其生成的测试应使用一个模板,如果类名以"Controller"结尾 - 其测试应使用另一个,等等.

还可以通过包名称或类内容等一些其他条件来检测测试类型.

java junit templates unit-testing intellij-idea

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

如何在 Ktor 中完全禁用 CORS?

我想用 Ktor 做一件非常基本的事情:添加以下配置:

    "Access-Control-Allow-Origin": "*"
    "Access-Control-Allow-Methods": "*"
    "Access-Control-Allow-Headers": "*"
Run Code Online (Sandbox Code Playgroud)

我浏览了Ktor的CORS文档,但没有找到如何实现它。

以下配置适用于 GET 请求,但 POST 请求失败。

install(CORS) {
    anyHost()
}
Run Code Online (Sandbox Code Playgroud)

通过我的 IDE 探索 API 并没有多大帮助。

问:如何在 Ktor 中完全禁用 CORS?

cors kotlin ktor

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

如何使用web3j通过交易获取合约?

我需要检查一笔交易是否是 ERC721/ERC1155 交易,并获取接收地址、代币地址、价值等信息。如果我理解正确,我必须加载该交易的合约并检查它是否继承 ERC165,以便确认这是一笔ERC721/ERC1155交易。

问题:我不明白如何获得具有交易对象的合同。我还没有找到获取令牌地址的方法。

我在 Infura 上有一个以太坊节点,我从那里读取区块并迭代交易。我收到一笔交易及其收据。我的代码如下所示:

var tr = web3j.ethGetTransactionByBlockNumberAndIndex(blockIdParam, transactionIndex).sendAsync().get();
var hash = tr.getTransaction().get().getHash();
var receipt = web3.ethGetTransactionReceipt(hash).send().getTransactionReceipt();
Run Code Online (Sandbox Code Playgroud)

现在我正在努力阅读事务日志,检查它们的主题并验证它们是否包含Transfer事件。但是转账事件也是由ERC20交易发出的,所以我在这里有点困惑。

java ethereum web3-java erc721

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