android4.0 的图库Gallery2代码分析(一)

 最近迫于生存压力,不得不给人兼职打工。故在博文中加了个求点击的链接。麻烦有时间的博友们帮我点击一下。没时间的不用勉强啊。不过请放心,我是做技术的,肯定链接没病毒,就是我打工的淘宝店铺。嘻嘻。http://shop108130013.taobao.com。谢谢捧场。干脆第一个回报大家的就是这个星期开始继续这篇博文吧,实在是迫于生计,无所不用其极。请谅解。今天是2013-12-31。

 

          最近开始做一个和图库有关的项目。那个工程不能通过调用Gallery2来实现,而是需要通过写一个小型的图库程序来实现。所以,从今天开始,需要全面弄清Gallery2的处理流程。这样才能比较好的完成任务。就从今天开始分析下Gallery2的结构吧。一边摸索一边写吧。

 

           数据处理永远是图库的重中之重。com.android.gallery3d.data包下详细设计了data的数据结构。大体看上去有local本地图片处,download下载,decode解码,以及对应数据的cluster和mediaset的数据集合。

 

           如果理清数据处理,只有从界面的每一步处理,才能弄清哪一步,用到了什么数据。所以,我还是从ui开始分析吧。下班后回家详细写写今天的ui流程分析。

   ui部分共有71个类,其中abstract class 有4个,interface有7个。
    4个抽象类分别如下:

    DisplayItem.java           :提供了setBox,render两个主要方法。用来设置显示item的属性。       

    AbstractDisplayItem.java   :提供了item更新image,回收,获取标识等方法
    (扩展了DisplayItem.java) 

    SelectionDrawer.java       :选择区域以及重画抽象类

    IconDrawer.java            :图标重画抽象类,定义了选中,按下,获取图标位置等方法
    (扩展了SelectionDrawer.java) 


    7个interface如下:
    Config.java                 :提供设置窗体信息等方法

    GLCanvas.java               :提供使用OpenGL画图的

    GLRoot.java                 :提供view的root节点对应方法的接口

    OnSelectedListener.java     :仅一个onSelected方法

    PositionProvider.java       :仅一个PositionProvider方法

    Texture.java                :提供一个矩形image供以GLCanvas为基础画图

    UserInteractionListener     :提供与用户操作相关的开始,结束等方法的接口

 
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-10-05 16:22  maxiongying  阅读(1125)  评论(0编辑  收藏  举报