Android底層字元傳遞給上層應用舉例
Android底層字元傳遞給上層應用
1、Android的硬體抽象層讀取相應的串列埠裝置的資料:
static int uart_read_drv(struct uart_control_device_t *dev, char *buf, int count)
{
int count1 = 0;
count1 = read(fd, buf, count);
if(count1 < 0)
{
perror(“read”);
}
return 0;
}
2、 Android的JNI層經過回撥之後,可以通過自定義的相應的結構體方法讀取到硬體抽象層的資料,並反饋到上層:
static jchar uart_read(JNIEnv* env, jobject thiz) {
char s_buf[100]={0};
if (sUartDevice) {
sUartDevice->uart_read_hal(sUartDevice, s_buf, 1);
}else{
LOGI(“sUartDevice is null”);
}
if (s_buf == 0)
LOGI(“JNI: Lost info”);
else
{
LOGI(“***********JNI:info length is : %d”, strlen(s_buf));
}
return s_buf[0];
}
3、Android的JNI和上層函式的對應描述:
static const JNINativeMethod gMethods[] = {
….
{ “_uart_data_update”,
“()C”,
(void*)uart_read },
….
};
4、Android的Framework層定義相應的本地介面方法:
private static native char _uart_data_update();
通過類的方法進行封裝:
public class Uart {
static {
System.loadLibrary(“uart_runtime”);
Log.i(“**********************Java Service”, “loadLibrary sucess”);
}
public Uart(){
_init();
}
public char GpsDataUpdate() {
char s = _uart_data_update();
return s;
}
private static native boolean _init();
private static native char _uart_data_update();
}
}
5、.Java上層App進行呼叫,並獲得資料:
static Uart uartuart = new Uart();
char s = uartuart.GpsDataUpdate();
=======做個參考。
相關文章
- 9、如何理解應用層、傳輸層、網路層、鏈路層、物理層
- Vue底層架構及其應用Vue架構
- OC底層探索(十六) KVO底層原理
- 基於"堆"的底層實現和應用
- Android之Context底層原理AndroidContext
- 解析ArrayList的底層實現(上)
- 傳輸層協議、應用層、socket套接字、半連結池協議
- 區塊鏈BAAS底層技術開發,區塊鏈BAAS底層應用開發建設區塊鏈
- Android 學習深入之路(應用層)Android
- Dubbo底層原理分析和分散式實際應用分散式
- Java SE 檔案上傳和檔案下載的底層原理Java
- 瞭解安卓架構(linux核心層、系統執行庫層、應用框架層、應用層)安卓架構Linux框架
- LTSPICE 公式法畫傳遞函式舉例公式函式
- synchronized底層原理synchronized
- iOS底層系統:BSD層詳解iOS
- 頂層const和底層const
- 應用層協議協議
- 來聊聊 應用層
- 資料上鍊儲存,深圳區塊鏈技術底層應用落地服務區塊鏈
- Android應用開發—RecyclerView繪製蒙層AndroidView
- iOS底層原理 runtime - super、hook、以及簡單應用--(8)iOSHook
- 從底層到應用,那些資料人的必備技能
- Minecraft中ScoreBoard的底層實現與擴充套件應用Raft套件
- C++ 頂層const底層constC++
- zigbee無線傳播的例子 應用層
- TCP/IP五層模型-應用層-DNS協議TCP模型DNS協議
- RunLoop底層原理探究OOP
- RabbitMq底層原理分析MQ
- pyspark底層淺析Spark
- HashMap原理底層剖析HashMap
- HashMap的底層原理HashMap
- iOS底層原理-CategoryiOSGo
- synchronized底層揭祕synchronized
- ArrayList集合底層原理
- LinkedHashMap 底層分析HashMap
- ConcurrentHashMap底層原理HashMap
- block底層淺談BloC
- 【ITOO】--搭建底層框架框架