Android 学习 --- GUI 开发-01-启动

OpenSource上开了几门关于Android的课程,考虑到公司的开发平台可能在4月份开始系统迁移到Android平台,打算系统学习下Android开发技术。

 

资源:

课程

Programming Mobile Applications for Android Handheld Systems
by Dr. Adam Porter

 
参考代码: android系统2.3源码.rar (infoxa网站下载)
     
 
一: GUI系统构成
 
一个GUI系统通常包括下面几个方面:
1> 用户交互界面描述
问题:
     View、Layerout,控件,Glyph,以及它们之间如何组合
     IDE如何支持?
    如何开发自定义控件?
    是否支持动态生成描述文件?
    如何为特定像素设备开发像素级GUI设计?
2> 文字/字体,图片,几何描画(Canvas)支持
问题:  
     支持哪些字库?
     支持哪些文字编码? 编码转换采用什么库?iconv吗? 性能如何?
     如何开发多国语言版本?能动态切换语言吗?
     图片格式支持哪些? 采用什么库解码? 性能如何?
    Canvas支持哪些接口?
   
3> 事件处理(按键,触摸,系统,用户自定义)
问题:
事件处理流程?
        是否支持拦截事件,只让当前app接收?
 
4> 如何与linux底层的FrameBuffer交互 (Client/Server? Window管理?脏矩阵如何计算?)
问题:
      从描画到linux的FrameBuffer经过哪些模块?
      需要多少次bitblt?
      有办法直接映射到底层linux的FrameBuffer吗?
 
5> 生命周期
     多个Activity之间如何切换?
     什么时候退出?
    有办法访问linux下进程信息吗?如何强制干掉其他应用程序?
 
6> 权限管理
    如何控制资源的访问权限?
    能动态切换角色吗?
   如何切换到root?
 
学习任何一个GUI系统必然要搞清楚以上方面。
 
带着上面的问题开始学习之旅。
For more complete information about compiler optimizations, see our Optimization Notice.
Categories: