2011年对着书本Android应用开发揭秘,写了2个月的HelloWorld.   现在想复习并深入,我没有耐心再去一点点地敲代码了.   4年前自己是个学生,实习,现在有工作,只能业余时间研究.   这一点是非常不同的.      我希望通过研究别人的"成熟产品",更好地全面学习.   以目标为导向,具体来说,通过研究别人的一个产品,进而全面掌握,在研究的过程中, 把若干问题都解决了,从而达成"快速进步"的目标.   我们学习Java,学习Android开发,不…
https://github.com/nostra13/Android-Universal-Image-Loader universal imageloader 源码研究之Lru算法 LRU - Least Recently Used 最近最少使用算法 字面意思就是在数据队列里面 最少使用的优先移除,腾出空间 提高任务调度, 接口com.nostra13.universalimageloader.cache.memory.MemoryCache 实现com.nostra13.universali…
上篇说到,把小米的Java代码整理成了5个包,其中1个是net.micode.fileexplorer.model.这个包就2个模型类,最基本了,FileInfo和FavoriteItem. package net.micode.fileexplorer.model; /** 抽象了一个文件最基本的信息 */ public class FileInfo { // 文件名 public String fileName; // 文件路径 public String filePath; // 文件大小…
说明:本文的文字和代码,主要来自于网上的2篇文章. 第4篇的时候,提到了异步任务AsyncTask. 网上找了2篇文章学习下,copy网友的代码,稍微改了几个字,运行成功了. 在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验.但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误.因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI…
ijkplayer核心源码主要在ijkmedia文件夹下ijkplayer.ijksdl及ijkutils. 注:tag k0.3.1 player: remove ijkutil android相关源码结构 ijkmediademo:播放器实例demo ijkmediawidget:播放器组件封装,类似于系统播放器.vitamio结构,如mediacontroller.videoView. ijkmediaplayer:cpu armv7库.播放器核心jni层及相关上层调用接口开放(包括系统播…
AndroidManifest.xml是Android应用程序最重要的配置文件. 入口文件和intent-filter <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Holo.Light" android:uiOptions="splitActionBar…
接着之前的第4篇,本篇的2个类,仍然是工具类.MediaFile,媒体文件,定义了一大堆的常量,真正的有用的方法就几个.isAudioFileType.isVideoFileType之类的. MimeUtils,文件类型工具类,定义了一大堆的   add("application/zip", "zip");   某种扩展格式,对应的mime类型.   通过阅读代码观察到的2点现象,我有2点猜测:现象1.注释是英文的,很溜的那种~2.好多方法没有被本项目使用.  Ct…
从本篇开始,讲解net.micode.fileexplorer.util工具包中的类.这个包下的类,功能也比较单一和独立.很多代码的思想和实现,可以用于JavaWeb和Android等多种环境中. 一.单实例活动管理器ActivitiesManager一个单实例的活动管理器,从方法的被调用程度来看,"徒有其名".registerActivity注册活动方法被使用了,而getActivity没有被使用,感觉明显有问题啊~我目前的猜测:大概是查看文件的时候,就会新建立一个活动,并且注册保存…
Util.java,使用最广泛~代码中很多地方,都写了注释说明~基本不需要怎么解释了~ package net.micode.fileexplorer.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.i…
FileSortHelper的核心功能就是,对文件集合FileInfo排序.FileInfo有若干字段,根据字段定义了4种比较器Comparator.调用示例:Collections.sort(List<FileInfo>, Comparator);实现排序,FileInfo可以实现Comparable接口,但是比较方式是固定的,也就是说只能采用一种方式排序.而Comparator则比较灵活,更像是一种"策略模式",传入不同的"策略",实现不同方式的排序…