Friday, May 15, 2009

Android Window System

在上星期 0xlab 的討論會中,我對 Android 的視窗系統做了簡短的分享,投影片可以在這邊取得。簡報內容主要在介紹 SurfaceManager,同時也附上簡短的範例程式,示範利用 Android 的 native library 取得可用來繪圖的記憶體。

之前的文章提到 Android 跟 cairo 的結合,也是利用一樣的方法,麻煩的地方反而是在於 cairo 的編譯。我當時是照著 cairo (與 pixman) 的 Makefile.am 寫一份 Android.mk,非常的苦。jserv 後來提到了 agcc,或許可以拿來與既有程式的 autotools 結合。

不過苦也有苦的好處,因為苦慣了就不會害怕。不小心還會弄出怪怪的東西



花了一陣子的時間在認識 Android,慢慢地也比較能掌握。希望下篇文章開始,本小站可以脫離嘴炮,向上提升。

3 comments:

Ts'ai, Chung-Ming said...

您好,我們想在Java App create一個Surface,然後像你一樣用native library在這個Surface上繪圖。
我們的想法是,將App創建的Surface透過JNI丟給native library。
請問您知道怎麼在Java App中得到可以往下丟的Surface記憶體位置嗎?
謝謝!

olv said...

我沒試過,不過可以參考

frameworks/base/core/jni/android_view_Surface.cpp 的 setSurface 看看。

YF said...

您好, 不好意思, 您的投影片與Demo Code連結失效, 還有機會取得嗎? 謝謝.