Java?如何接收kernel傳過(guò)來(lái)的數(shù)組(推薦)
如接收f(shuō)loat 類型數(shù)組,JNI 定義jfloatArray 類型數(shù)據(jù) 通過(guò)env->ReleaseFloatArrayElements 將float 數(shù)據(jù)拷貝成jfloatArray類型
JNI 部分:
static jfloatArray TempMlsSensorRead_native(JNIEnv* env , jobject /* clazz */,jint length){
float * address=(float *)g_device->mlx90640_read(g_device);
float *example =new float [768]{};
for(int i=0;i<768;i++){
example[i]=address[i];
}
jfloatArray copyArray = env->NewFloatArray(768);
env->ReleaseFloatArrayElements(copyArray,example,0);
return copyArray;
}
static const JNINativeMethod method_table[] = {
{ "nativeTempMlsSensorOpen", "()I", (void*)TempMlsSensorOpen_native },
{ "nativeTempMlsSensorWrite", "(I)I", (void*)TempMlsSensorWrite_native },
+ { "nativeTempMlsSensorRead", "(I)[F", (void*)TempMlsSensorRead_native },
{ "nativeTempMlsSensorReadValue", "()I", (void*)TempMlsSensorRead_native_value },
{ "nativeTempMlsSensorIoctl", "(II)I", (void*)TempMlsSensorIoctl_native },
{ "nativeTempMlsSensorClose", "()I", (void*)TempMlsSensorClose_native },AIDL 接口添加float 數(shù)組類型
interface ITempMlsSensor {
int TempMlsSensorOpen();
int TempMlsSensorWrite(int value);
+ float[] TempMlsSensorRead(int length);
int TempMlsSensorReadValue();
int TempMlsSensorIoctl(int cmd, int value);
int TempMlsSensorClose();
}JAVA 類型數(shù)組類型
@Override
+ public float[] TempMlsSensorRead(int length) throws android.os.RemoteException{
+ return nativeTempMlsSensorRead(length);
+ }
public static native int nativeTempMlsSensorOpen();
public static native int nativeTempMlsSensorWrite(int value);
+ public static native float [] nativeTempMlsSensorRead(int length);
public static native int nativeTempMlsSensorReadValue();
public static native int nativeTempMlsSensorIoctl(int cmd,int value);
public static native int nativeTempMlsSensorClose();到此這篇關(guān)于Java 如何接收kernel傳過(guò)來(lái)的數(shù)組的文章就介紹到這了,更多相關(guān)Java接收kernel數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA實(shí)現(xiàn)網(wǎng)絡(luò)/本地圖片轉(zhuǎn)BASE64存儲(chǔ)代碼示例
這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)網(wǎng)絡(luò)/本地圖片轉(zhuǎn)BASE64存儲(chǔ)的相關(guān)資料,Base64是網(wǎng)絡(luò)上最常見(jiàn)的用于傳輸8Bit字節(jié)碼的編碼方式之一,Base64就是一種基于64個(gè)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)的方法,需要的朋友可以參考下2023-07-07
Java使用OpenFeign管理多個(gè)第三方服務(wù)調(diào)用
最近開(kāi)發(fā)了一個(gè)統(tǒng)一調(diào)度類的項(xiàng)目,需要依賴多個(gè)第三方服務(wù),這些服務(wù)都提供了HTTP接口供我調(diào)用。感興趣的可以了解一下2021-06-06
Java 實(shí)戰(zhàn)項(xiàng)目之畢業(yè)設(shè)計(jì)管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)畢業(yè)設(shè)計(jì)管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11
解決JdbcTemplate查詢時(shí)報(bào)錯(cuò)Incorrect column count: ex
文章描述了在使用JdbcTemplate執(zhí)行查詢時(shí)遇到的`IncorrectResultSetColumnCountException`錯(cuò)誤,原因是`queryForList`方法返回的是`List<Map<String, Object>>`類型,不能直接轉(zhuǎn)換成對(duì)象,解決方法是將代碼修改為適當(dāng)?shù)牟樵兎绞?以避免錯(cuò)誤2026-01-01
Mybatis使用JSONObject接收數(shù)據(jù)庫(kù)查詢的方法
這篇文章主要介紹了Mybatis使用JSONObject接收數(shù)據(jù)庫(kù)查詢,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
Java中synchronized鎖升級(jí)的過(guò)程
本文主要介紹了Java中synchronized鎖升級(jí)的過(guò)程,synchronized相對(duì)于早期的synchronized做出了優(yōu)化,從以前的加鎖就是重量級(jí)鎖優(yōu)化成了有一個(gè)鎖升級(jí)的過(guò),下文詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-05-05
Java 策略模式與模板方法模式相關(guān)總結(jié)
這篇文章主要介紹了Java 策略模式與模板方法模式相關(guān)總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2021-01-01
解決nacos報(bào)錯(cuò)java.lang.ClassNotFoundException: com.netflix.
這篇文章主要介紹了解決nacos報(bào)錯(cuò)java.lang.ClassNotFoundException: com.netflix.config.DynamicPropertyFactory的問(wèn)題,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

