小米開原始檔管理器MiCodeFileExplorer-原始碼研究(2)-2個單例項工具類
從本篇開始,講解net.micode.fileexplorer.util工具包中的類。
這個包下的類,功能也比較單一和獨立。很多程式碼的思想和實現,可以用於JavaWeb和Android等多種環境中。
一、單例項活動管理器ActivitiesManager
一個單例項的活動管理器,從方法的被呼叫程度來看,“徒有其名”。
registerActivity註冊活動方法被使用了,而getActivity沒有被使用,感覺明顯有問題啊~
我目前的猜測:
大概是檢視檔案的時候,就會新建立一個活動,並且註冊儲存起來。
然後在需要的時候,使用getActivity獲得,再做後續處理。
但是,getActivity方法壓根沒有被使用。
我猜測:“社群開源版”是被閹割了,程式碼是經過裁剪的?
二、單例項設定工具類Settings
就1個作用,儲存和檢視“是否顯示隱藏檔案和上級目錄”。
難道這個程式的設定或者說“首選項”太少了。
三、關於單例項
一個類,只建立一個例項。
目前這2個類,都不是執行緒安全的。
這個包下的類,功能也比較單一和獨立。很多程式碼的思想和實現,可以用於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<String, Activity> activities = new HashMap<String, Activity>();
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-原始碼研究(1)-2個模型Model原始碼模型
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(8)-檔案排序工具類FileSortHelper原始碼排序
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(3)-使用最多的工具類Util原始碼
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(0)-初步研究原始碼
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(4)-檔案操作工具類FileOperationHelper原始碼
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(9)-入口分析原始碼
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(5)-AsyncTask非同步任務原始碼非同步
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(6)-媒體檔案MediaFile和檔案型別MimeUtils原始碼型別
- 小米開原始檔管理器MiCodeFileExplorer-原始碼研究(7)-Favorite收藏管理和SQLite資料庫CRUD原始碼SQLite資料庫
- Mybatis原始碼解析2—— 例項搭建MyBatis原始碼
- 小米開源便籤Notes-原始碼研究(2)-定時提醒的便籤原始碼
- Android 常用開發工具類原始碼Android原始碼
- IoC容器Autofac(2) - 一個簡單示例(附demo原始碼)原始碼
- Vue原始碼解析:Vue例項Vue原始碼
- Java HashMap例項原始碼分析JavaHashMap原始碼
- 集合原始碼分析[2]-AbstractList 原始碼分析原始碼
- iOS開發原始碼閱讀篇--FMDB原始碼分析2(FMResultSet)iOS原始碼
- shell指令碼例項(2)指令碼
- Mysql原始碼分析2MySql原始碼
- Spring 原始碼學習 - 單例bean的例項化過程Spring原始碼單例Bean
- 【原始碼SOLO】Retrofit2原始碼解析(一)原始碼
- 【原始碼SOLO】Retrofit2原始碼解析(二)原始碼
- Java容器類框架分析(2)LinkedList原始碼分析Java框架原始碼
- 按照自己的思路研究Spring AOP原始碼【2】Spring原始碼
- koa2原始碼解讀及實現一個簡單的koa2框架原始碼框架
- javab2b2c開源商城系統原始碼Java原始碼
- 11GR2 Active Duplicate過程(單例項對單例項)單例
- cocos2dx原始碼:背景層封裝類原始碼封裝
- Redux原始碼分析(2) - createStoreRedux原始碼
- java原始碼-ThreadPoolExecutor(2)Java原始碼thread
- 3.24 vchain原始碼分析2AI原始碼
- koa2原始碼解析原始碼
- RxJava2原始碼分析RxJava原始碼
- Retrofit2原始碼解析原始碼
- YYCache原始碼筆記2原始碼筆記
- Spring IOC原始碼研究筆記(2)——ApplicationContext系列Spring原始碼筆記APPContext
- 成品直播原始碼,例項原始碼系列-更改圖片透明度原始碼
- Android開發——MediaProvider原始碼分析(2)AndroidIDE原始碼