这个包下的类,功能也比较单一和独立。很多代码的思想和实现,可以用于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个类,都不是线程安全的。