• Android4.0图库Gallery2代码分析(一) 程序整体结构


    Android4.0图库Gallery2代码分析(一) 程序整体结构

    Gallery2的用例图分析:Gallery2主要功能是实现本地存储器、MTP存储器和网络存储器中媒体(图像和视频)的浏览、显示和很多其它操作(删除、分享、选择和缩放等)。以下用一张简单的用例图描写叙述了Gallery2的功能和职责。

    Gallery2中主要界面:AlbumSetPage.java(相冊缩略图); AlbumPage.java(单个相冊照片缩略图); PhotoPage.java(单张照片); ManageCachePage.java(缓存管理)SlideShowPage.java(单张滑屏界面); 这些界面类父类为ActivityState.java;这些界面的切换由StateManager.java负责。

    界面类中一般都会制定一个数据源,Gallery2中基本的数据源有ComboSource.java(组合源); MtpSource.java(Mtp源); PicasaSource.java(Picasa源); LocalSource.java(本地源); ClusterSource.java(簇源); UriSource.java(URL源);FilterSource.java(过滤源)。数据源的共同基类为:MediaSource。数据源由DataManager.java负责管理。界面类就是从DataManager中取一个合适的数据源初始化自己。另外数据源是由MediaObject聚合而成,MediaObject也有多种形态。

    界面和数据源须要一个桥梁,界面才干方便的渲染数据源,桥梁就是数据适配器。比如:AlbumSetPage(界面缩略图界面)---- AlbumSetDataAdapter(适配器)---- ComboSource(组合数据源)。AlbumPage ----AlbumDataAdapter;PhotoPage ----PhotoDataAdapter;SlideshowPage ----SlideshowDataAdapter

    数据渲染的最小单元为MediaOject,它包含丰富的衍生类。

     

    界面交互方面就是触摸屏操作和菜单操作。怎样支持鼠标呢,假设系统支持鼠标,它就自然支持。怎样支持遥控器呢?见兴许文章。

           兴许文章大致文件夹

    图库Gallery3D(Gallery2)分析(二) 程序资源管理和传递

    图库Gallery3D(Gallery2)分析(三) 状态管理和窗体切换

    图库Gallery3D(Gallery2)分析(四) 消息处理(点击和手势)

    图库Gallery3D(Gallery2)分析(五) 各种数据源和数据源的管理

    图库Gallery3D(Gallery2)分析(六) 可渲染数据元及其多样性

    图库Gallery3D(Gallery2)分析(七) 遥控器控制的实现

    图库Gallery3D(Gallery2)分析(八) 和数据扫描线程的数据交互

    图库Gallery3D(Gallery2)分析(九) 几点可优化的地方

  • 相关阅读:
    基于深度学习的目标检测
    Redmine发送邮件
    用7次比较完成5个元素的排序
    在GEM5模拟器运行时,对Kill命令的使用
    GDB中的backtrace命令
    [译]如何定义python源文件的文件编码
    QEMU ELF_LOAER分析[基于MIPS]
    if语句的数据驱动优化(Java版)
    解决idea中Activiti的bpmn编辑器的中文乱码问题
    最简易的PHP Storm调试模式开启方式
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4360828.html
Copyright © 2020-2023  润新知