從本篇開始,講解net.micode.fileexplorer.util工具包中的類。
這個包下的類,功能也比較單一和獨立。很多代碼的思想和實現,可以用于JavaWeb和Android等多種環境中。
一、單實例活動管理器ActivitiesManager
一個單實例的活動管理器,從方法的被調用程度來看,“徒有其名”。
registerActivity注冊活動方法被使用了,而getActivity沒有被使用,感覺明顯有問題啊~
我目前的猜測:
大概是查看文件的時候,就會新建立一個活動,并且注冊保存起來。
然后在需要的時候,使用getActivity獲得,再做后續處理。
但是,getActivity方法壓根沒有被使用。
我猜測:“社區開源版”是被閹割了,代碼是經過裁剪的?
package net.micode.fileexplorer.util;
import java.util.HashMap;
import android.app.Activity;
/**單實例活動管理器*/
public class ActivitiesManager {
public static final String ACTIVITY_FILE_VIEW = "FileView";
//@Deprecated沒有被任何其他類使用
public static final String ACTIVITY_FILE_CATEGORY = "FileCategory";
//@Deprecated沒有被任何其他類使用
public static final String ACTIVITY_TAB = "FileExplorerTab";
private static ActivitiesManager instance;
private HashMap activities = new HashMap();
private ActivitiesManager() {
}
// return true indicates successful, false indicates the name exists
//根本沒有返回值,難道說“社區開源版”是被閹割的么?
//被FileViewActivity使用了,大概是查看文件的時候,就會新建立一個活動
public void registerActivity(String name, Activity a) {
activities.put(name, a);
}
//@Deprecated沒有被任何其他類使用
public Activity getActivity(String name) {
return activities.get(name);
}
public static ActivitiesManager getInstance() {
if (instance == null)
instance = new ActivitiesManager();
return instance;
}
}
二、單實例設置工具類Settings
就1個作用,保存和查看“是否顯示隱藏文件和上級目錄”。
難道這個程序的設置或者說“首選項”太少了。
package net.micode.fileexplorer.util;
/**單實例設置工具類,保存1個選項,是否顯示隱藏文件和上級目錄“.”*/
public class Settings {
// whether show system and cache images, default not
private boolean mShowDotAndHiddenFiles;
private static Settings mInstance;
private Settings() {
}
public static Settings instance() {
if(mInstance == null) {
mInstance = new Settings();
}
return mInstance;
}
public boolean getShowDotAndHiddenFiles() {
return mShowDotAndHiddenFiles;
}
public void setShowDotAndHiddenFiles(boolean s) {
mShowDotAndHiddenFiles = s;
}
}
三、關于單實例
一個類,只建立一個實例。
目前這2個類,都不是線程安全的。
小米開源文件管理器MiCodeFileExplorer-源碼研究(0)-初步研究
2011年對著書本Android應用開發揭秘,寫了2個月的HelloWorld. ? 現在想復習并深入,我沒有耐心再去一點點地敲代碼了. ? 4年前自己是個學生,實習,現在有工作,只能業余時間研究. ...
Android開源項目 Universal imageloader 源碼研究之Lru算法
https://github.com/nostra13/Android-Universal-Image-Loader universal imageloader 源碼研究之Lru算法 LRU - Le ...
小米開源文件管理器MiCodeFileExplorer-源碼研究(6)-媒體文件MediaFile和文件類型MimeUtils
接著之前的第4篇,本篇的2個類,仍然是工具類.MediaFile,媒體文件,定義了一大堆的常量,真正的有用的方法就幾個.isAudioFileType.isVideoFileType之類的. Mime ...
小米開源文件管理器MiCodeFileExplorer-源碼研究(1)-2個模型Model
上篇說到,把小米的Java代碼整理成了5個包,其中1個是net.micode.fileexplorer.model.這個包就2個模型類,最基本了,FileInfo和FavoriteItem. pack ...
小米開源文件管理器MiCodeFileExplorer-源碼研究(5)-AsyncTask異步任務
說明:本文的文字和代碼,主要來自于網上的2篇文章. 第4篇的時候,提到了異步任務AsyncTask. 網上找了2篇文章學習下,copy網友的代碼,稍微改了幾個字,運行成功了. 在開發Android移動 ...
小米開源文件管理器MiCodeFileExplorer-源碼研究(3)-使用最多的工具類Util
Util.java,使用最廣泛~代碼中很多地方,都寫了注釋說明~基本不需要怎么解釋了~ package net.micode.fileexplorer.util; import java.io.Fil ...
開源播放器ijkplayer源碼結構
ijkplayer核心源碼主要在ijkmedia文件夾下ijkplayer.ijksdl及ijkutils. 注:tag k0.3.1 player: remove ijkutil android相關 ...
小米開源文件管理器MiCodeFileExplorer-源碼研究(9)-入口分析
AndroidManifest.xml是Android應用程序最重要的配置文件. 入口文件和intent-filter