我有一些基于NDK的C++代码,需要构建一个Android位图对象。我确定有一种方法可以直接从C++代码中实现这一点,但这并不是最容易的事情;)
所以我想调用的方法是
Bitmap.createBitmap( width, height, Bitmap.Config.ARGB_8888 );
如果我想从本地代码中实现这个功能,我需要按照以下步骤进行操作:
- 查找类(android.graphics.Bitmap)。
- 获取"createBitmap"静态方法的id。
- 创建枚举。
- 调用静态方法。
(最后,我需要创建一个jintArray并传递数据,但我会在之后处理它)。
不过,我对第二步和第三步非常迷茫。我的代码目前看起来像这样:
jclass jBitmapClass = gpEnv->FindClass( "android.graphics.Bitmap" );
jmethodID jBitmapCreater = gpEnv->GetStaticMethodID( jBitmapClass, "createBitmap", "(IILandroid/graphics/Bitmap/Config;)Landroid/graphics/Bitmap;" );
但是然后我就卡住了。如何从本地的C/C++代码创建枚举?
此外,我的GetStaticMethodID方法中最后一个参数是否正确?我不确定如何指定特定的对象,但我认为上面的代码是有效的。可能在枚举方面有误!
先行致谢。