• 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     :提供与用户操作相关的开始,结束等方法的接口

     
     

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

  • 相关阅读:
    如何让xcode自动检查内存泄露
    Property's synthesized getter follows Cocoa naming convention for returning
    Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'Info
    iPhone开发过程中调试多次Release问题 message sent to deallocated
    委托 详解
    UINavigationController 、UINavigationBar 、UINavigationItem 超清晰直观详解(扩展)
    代码书写规范(摸索、试行)
    简述 IOS中的LazyLoad思想
    UIImageView 详解
    20140413 科技脉搏-风平浪静,默默成长
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/4855889.html
Copyright © 2020-2023  润新知