开发中的随想笔记:

1、首先说说文件管理器。这应该是这里面建立缩略图浏览模式的基础,在扫描得到根目录的数据之后,那么就会根据这个根目录的数据填充当前的数组A,用以在

adapter中显示。还会有一个建立一页的数组B,尽管是list模式还是grid模式。得到数据就会显示在表格当中。更更新一页就使得B从A中重新获取数据。

那么怎么回到上一层呢?建立一个记录目录的栈。

2、然后说说怎么切换浏览模式。list-〉grid-〉list。因为根据之前的代码,页面与页面的推进与后退是靠点击list或者grid的item来进行,所以如果我要切换的话,根据之前的代码

最好是把去到某一个路径伪装成点击list或者grid的某个item而产生的页面刷新。于是由list-〉grid 还是 grid-〉list 我都是伪装成点击当前路径的item0:back  ,回到上一层路径之后,然后再主UI的handler中不立即更新UI,而是再继续点击回到上一层中的记录在栈中的item(表示在上一层曾经的焦点的位置),然后获取数据在grid中显示。这就完成了list到grid的切换。  grid到list的切换同理

3、反复切换会出现问题么?调试到一个问题。就是list-〉grid-〉list,grid要显示list一般应该需要获取上一层的焦点的位置然后重新获取数据打开;grid-〉list-〉grid也是同样的道理。但是如果是grid->grid->list 可能会和第一种情况有冲突,因为list数据的的条数(10个)比grid的条数(24个)要少。

其实就是我怎么知道切换模式下的返回上一层是利用哪种view 来显示数据,所以为了统一无论是切换模式还是正常的同一种浏览模式的返回,我把切换模式先返回再向下这中间加了一层:向下之前把该层的view修改成最新切换的view,这样的话,返回上一层的view 和当前切换后的view一样的,这样就简化了逻辑

4、至于获取缩略图的程序。这里利用到了MetaMediaDataRetriver这个类。可以获取视频的缩略图,获取失败的显示白图或者黑图,一般是该系统的视频解码器不支持转码该格式的后果;可以获取视频的缩略图,也可以获取音乐的内置图片

5、怎么异步获取缩略图:使用Asynctask。如果直接使用execute的话,那么是单线程异步顺序执行的任务,就是一个任务执行完了再执行下面的,但是如果使用除了execute的其他函数,甚至结合线程池,可以更灵活一些

6、怎么在未获取完视频缩略图的时候播放视频,返回来之后继续加载剩下的缩略图呢。这里如果视频解码器的底层是支持双线程以及以上的,使用execute加载任务和一边播放视频时不冲突的(加载缩略图使用了视频解码器一个线程,播放视频也使用了一个线程);而我的情况是单线程的,所以我只好在播放视频的时候把胃完成任务的视频stop掉。播放完视频回来之后再重新new task,继续加载剩下的缩略图。

M*LMM缩略图文件管理模式模块开发(一个含有listview和gridview浏览模式的文件管理器)相关推荐

  1. 如何开发一个Feeds流系统——写扩散模式为例

    一.了解Feeds流 在学习如何开发Feeds流应用前,我们需要先了解什么是Feeds流. 1. 什么是Feeds流 Feeds流是一个持续更新并展示给用户的信息流.它将用户主动订阅的若干消息源组合在 ...

  2. [2021.7.9][11 使用C++11开发一个轻量级的IoC容器(工厂模式的应用及优化)] 11.4 通过Any和闭包来擦除类型 和 创建依赖的对象

    11.2节的对象工厂只能创建指定接口类型的对象,原因是它依赖了一个类型固定的对象构造器std::function<T*()>,这个function作为对象构造器只能创建T类型的对象,不能创 ...

  3. [2021.7.8][11 使用C++11开发一个轻量级的IoC容器(工厂模式的应用及优化)] 11.2 IoC创建对象

    一个可配置的对象工厂实现思路如下: 1 先注册可能需要创建对象的构造函数,将其放到一个内部关联容器map中,设置键为类型的名字,值为类型的构造函数. 2 然后在创建的时候根据类型名称查找对应的构造函数 ...

  4. android退出一个含有listview的activity时报java.lang.IllegalA

    2019独角兽企业重金招聘Python工程师标准>>> @Override public void unregisterDataSetObserver(DataSetObserver ...

  5. js判断无痕浏览模式(修改)

    最近做web商城,遇到一个棘手的问题: 用户反映登录了商城之后,过一段时间就需要重新登录,频率很高,我们通过对该用户的访问记录进行检测,发现的确存在该问题.因为用户的信息是存在本地localStroa ...

  6. 什么是隐私浏览模式?隐私模式下的浏览器就一定保护用户隐私吗?

    现在市面上的浏览器普遍都有的一个基础功能就是"隐私浏览模式",很多人都以为只要开启这个模式自己上网就可以不被追踪识别,误以为自己的隐私得到了保障.其实大错特错! 即使我们开启了&q ...

  7. ListView 的多选模式

    昨天晚上熬粥,设定六个小时之后熬一个小时的,不知为什么后来变成一个小时之后熬了六个小时,今天早饭就只好改吃锅巴了. 在<ListView的单选模式>中,已经知道ListView有多选模式的 ...

  8. android ListView 的多选模式

    昨天晚上熬粥,设定六个小时之后熬一个小时的,不知为什么后来变成一个小时之后熬了六个小时,今天早饭就只好改吃锅巴了. 在<ListView的单选模式>中,已经知道ListView有多选模式的 ...

  9. Android MVP模式 解析JSON 显示到ListView上

    Android MVP模式 解析JSON 显示到ListView上 有关MVP模式的介绍,这里不作详细解释,稍后会更新MVP设计模式,请等待链接-- 简述本次的主要功能实现: 通过mvp设计模式,(M ...

最新文章

  1. 《转》Python学习(14)-对文件的操作(一)
  2. 普华永道:人工智能将重塑职位格局并与物联网合并
  3. 五分钟学会悲观乐观锁-java vs mysql vs redis三种实现
  4. 鸿蒙是单线程还是多线程,鸿蒙 RT-Thread 两者之间究竟是不是竞争关系呢
  5. Windows下Core Audio APIs的使用简介
  6. 简谈C/C++学习路线
  7. 关于 SAP CRM 订单抬头级别的 Text 无法编辑的问题分析
  8. 如何判断两个jq对象是同一个对象
  9. 小两口攒钱不吵嘴 用理财加固你的爱情
  10. bugku web基础$_POST
  11. 阿里游戏之心不死?| 畅言
  12. 方法Method(Java)
  13. 2021-06-25 WebStorm的设置代码tab宽度等
  14. 客户关系管理理论 期末复习
  15. jquery控制下的video视频播放
  16. kiss原则包括什么_kiss是什么意思(kiss原则包括什么)
  17. 动态规划(2.2)背包问题扩展
  18. Datawhale7月组队学习task1数据加载及探索性数据分析
  19. 新玺配资:金融之后地产也来凑热闹 风格转向蓝筹
  20. Xilinx网站 – 如何申请官方IP的评估license

热门文章

  1. crosscheck(crosscheck是什么意思)
  2. RMAN下CROSSCHECK命令详解
  3. Android通过MediaStore获取音乐文件信息的方法
  4. 编程:随机生成1-100之间的数字,如果猜对了结束游戏,如果猜错则继续猜并提示所猜测的数字是大于还是小于所指定的数,最终提示猜对所用的次数。
  5. aliPay支付宝APP支付操作流程
  6. 生活随记 - 春节快递延误的正确处理方式
  7. WorkNC如何创建夹具系统 (以虎钳为例)
  8. 短地址短链接免费接口:缩短链接地址。可用于缩短链接场景,如:电子发票链接,促销活动链接,新闻文章链接等
  9. php 根号2计算过程,根号换算(开方计算器在线)
  10. 西北师范大学本科毕业论文答辩PPT模板