天天看點

跟随老羅的部落格,試驗Android

做為一個混吃混喝的程式員,從2000開始到至今,就是完成公司的工作,養家糊口。一個偶然的機會,我 開始接觸并使用Android native層(JNI以下)。那時的我是兩眼一抹黑,都不知道Android為何物。好在有老羅的部落格,讓我對Android有初步的了解。内心對知識共享也是推崇備至。想着有機會,也和大家共享一些我的體會:

1) Binder:自己寫一個C++的binder service,注冊到service manager;然後通過Java Application通路它。GitHub上有個TimerService,client和Server都是C++的,我打算把Client改成JAVA的。為了和Android kernel的編譯分開,能夠直接使用make file編譯,當然有如何搭建編譯環境。

2) 了解GraphicBuffer。打算以ROOT過的海美迪q5四代為基礎,讓JAVA 應用程式産生一個Surface,傳遞給C++的service,service讀一個YUV的檔案,把資料寫入從Surface取出的GraphicBuffer,這樣讓JAVA應用程式顯示出來。

3) 進一步了解Android BufferQueue。從例子二中,我們已經接觸過來Surface,其實就是BufferQueue中的producer,這次我們使用screen record來測試從SurfaceFlinger來接GraphicBuffer,然後寫入一個檔案。screen record來自于Android kernel,不過我們不用期中encoder和openGL部分,而是自己實作一個BufferQueueConsumer。

4) 為Java webview實作手勢支援:webview不像TextureView函數,有setTransform函數,可以比較容易的支援手勢。這一章代碼還沒有準備好,估計需要一段時間。

這一系列檔案将在為了兩月中完成,希望大家監督!