【发布时间】:2018-07-26 20:32:00
【问题描述】:
我有一个场景,我需要在本机代码中调用枚举方法。这个枚举是在 Java 中定义的。
public enum Pool {
JNIPOOL(new SomePoolStrategyImp()),
UIPOOL(new RandomPoolStrategyImp());
private PoolStrategy poolStrategy;
Pool(PoolStrategy poolStrategy) {
this.poolStrategy = poolStrategy;
}
public Bitmap getBitmap(int width, int height) {
// some logic
// return poolStrategy.getBitmap(width, height);
}
}
我有可以从 JNI 调用对象方法的引用,但就我而言,我需要调用已创建的对象方法。就像我需要从本机代码调用 JNIPOOL.getBitmap() 一样。谁能帮我这个?我只想找到可以帮助我的方法或任何现有的博客。
谢谢!
【问题讨论】:
-
枚举常量只是一个字段。获取类
Pool,获取字段JNIPOOL,读取它的value, callgetBitmap`的值。 -
@JohannesKuhn 请查看更新后的描述。我在 JNIPOOL 后面有一些与其他池不同的自定义逻辑。而且我希望在本地调用中触发 JNIPOOL 逻辑。
-
没关系。
标签: java android enums java-native-interface