というタイトルでは、私はint []をJavaのByteBufferに変換する必要があります。これを行うための推奨される方法はありますか?int []をJavaのByteBufferに変換するには?
ByteBufferをJNIでC++に渡したいと思っています。この場合の特定のエンディアン変換については、何を考慮する必要がありますか?
編集:申し訳ありませんが、私は誤ってByteArrayを書きましたが、ByteBuffer型を意味していました。
編集:サンプルコード:
私は不要な部分を取り除きました。私はJNI上でC++からJava関数を呼び出してリソースをロードし、それをバイトバッファとしてC++に戻します。他のさまざまなリソースと連携して動作します。今、私は "int []"を持っていて、それをバイトバッファに変換するエレガントな方法があるかどうか、あるいはoldfashionedのやり方でforループを埋めなければならないかどうかを知りたいと思っています。
ByteBuffer resource= null;
resource = ByteBuffer.allocateDirect((x*y+2)*4).order(ByteOrder.nativeOrder());
.
.
ByteBuffer GetResourcePNG(String text)
{
.
.
int [] pix;
map.getPixels(pix,0,x,0,0,x,y);
return resource;
}
は、右のことですか?つまり、ByteBufferは抽象クラスです。あなたが必要とする正確なタイプは何ですか?いくつかのサンプルコードを提供してください。 –