2017-07-31 56 views
1

在我的Android項目中,我想使用來自android-ndk的c/C++訪問可繪製文件,如R.drawable.some_drawable.xml。如何從Android中的NDK訪問可繪製文件

我該如何實現這樣的功能?

+0

你不能,你想做到這一點的呢? – pskink

+0

我有一個文件,我不喜歡把資產或原始文件夾。有什麼建議麼 ? –

+0

所以使用完整路徑從c/C++中讀取它,但是您將有權訪問原始數據,而不是任何「可繪製」對象 – pskink

回答

1

AFAIK,使用JNI您被限制爲某些基本數據類型:

在本機代碼使用的Java數據類型和數據類型之間的映射是非常簡單的。命名方案保持不變:本機數據類型名稱前面加上字符'j',後跟所有小寫數據類型名稱等同於Java。 JNI還包含另一個名爲jsize的數據類型,它存儲長度或數組或字符串。

void -> void : None 
byte -> jbyte : 8-bit signed. Range is -27 to 27 - 1 
int -> jint : 32-bit signed. Range is -231 to 231 - 1 
float -> jfloat : 32 bits. Represent a real number as small as 1.4 x 10-45 and as big as 3.4 x 1038 (approx.), positive or negative 
double -> jdouble : 64 bits. Represent a real number as small as 4.9 x 10-324 and as big as 1.7 x 10308 (approx.), positive or negative 
char -> jchar : 16-bit unsigned. Range is 0 to 65535 
long -> jlong : 64-bit signed. Range -263 to 263 - 1 
short -> jshort : 16-bit signed. Range is -215 to 215 - 1 
boolean -> jboolean : Unsigned 8 bits. true and false 

您的解決方案將節省緩存文件夾中可繪製在C/C文件地址傳遞給你的NDK碼,讀它++。

How can I write a Drawable resource to a File?

相關問題