[問題] 請教會C語言或JNI的版友

看板java作者 (QQ)時間13年前 (2011/07/25 19:55), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
※ [本文轉錄自 AndroidDev 看板 #1EBLb68V ] 作者: fatalcord (QQ) 看板: AndroidDev 標題: [問題] 請教會C語言或JNI的版友 時間: Mon Jul 25 19:53:39 2011 開發層: (應用/框架/庫/核心) 應用 問題: 我在Android應用程式下寫了一個.C檔用來接收Sensor傳來的值 程式碼如下 //接收訊息 JNIEXPORT jstring JNICALL Java_com_android_testuart_Uart2C_receiveMsgUart(JNIEnv *env, jobject mc) { char buffer[1024]; char buf[1024]; int len, i = 0, k = 0; memset(buffer, 0, sizeof(buffer)); len = read(fd, buffer, sizeof(buffer)); if (len >0) { buffer[len]='\0'; return ((*env)->NewStringUTF(env, buffer)); } else return NULL; } Sensor傳進來的值為一個Char陣列 類似這樣的型式Char c[] = {0x00,0x20,0x30,0x22...... } 但每當Sensor傳陣列進程式時就會自動關閉 幾經嘗試後發現是 return ((*env)->NewStringUTF(env, buffer));這行的問題 自己試著改了幾次始終無法完成 所以才想上來問問看 目標是將傳進來的陣列存成string型式(印象中C裡面沒有string?不曉得有沒有記錯) 傳回.java的主程式顯示在螢幕上 或是能將傳進來的陣列直接傳回.java的主程式作處理,但因為剛接觸JNI 所以 也不是很熟悉,不曉得能不能改以這樣的方式完成, 懇請各位幫忙 有不清楚的地方我會在補充 由衷感謝 輸入: 預期輸出: 錯誤輸出: 錯誤訊息: 程式碼: (請多利用置底文網站) 參考: (書籍/網頁/...) 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.56.98 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.56.98

07/25 20:48, , 1F
log 咧!?
07/25 20:48, 1F
文章代碼(AID): #1EBLcLD_ (java)