android+小米文件管理器源码,小米开源文件管理器MiCodeFileExplorer-源码研究(2)-2个单实例工具类...

从本篇开始,讲解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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动优先的响应式布局

前面的话 随着移动互联网的兴起,不同设备的分辨率相差较大,如果在不同的设置上显示同一个页面,则用户体验差。响应式网页设计是一种方法,使得一个网站能够兼容多个终端,而不用为每个终端制作特定的版本。它使得一个网站…

python中英文字符和中文字符存储长度不同_Django如何正确截取中英混合字符串及表单中限制中文字符中长度...

中文字符和英文字符所占的字节长度是不一样,一个是2个字节,一个是1个字节,这给我们用英文的web框架开发中文app带来了麻烦。比如Django自带过滤器truncatewords并不支持截取中文,另外模型中CharField中的max_length选项用于限制中…

使用RESTful客户端API进行GET / POST

互联网上有很多如何使用RESTful Client API的东西。 这些是基础。 但是,尽管该主题看起来微不足道,但仍然存在一些障碍,尤其是对于初学者而言。 在这篇文章中,我将尝试总结我的专业知识,以及我如何在实际项目中做到这…

南昌互联网行业协会筹办者祝真和华罡团队-2014年12月江西IDC排行榜

他出自军营,拥有一身正气。 他在南昌创业,立意卓越。 从站点開始、到微营销、到线上教育,全面开花。 他在朋友圈看到不对的内容,就会即时批评。 他对朋友,又是很的和蔼可亲。 他就是南昌华罡网…

Linux下查看某个进程的网络带宽占用情况

说明: 1、可能查看某个进程的带宽占用需要明确知道PID、进程名字、发送速度、接收速度。 2、很遗憾,在Linux原生的软件中没有这样的一款,只能额外装,最符合以上的情况就只有nethogs。 3、nethogs可以指定网卡,但是不能…

android中的add方法,Android入门之addWindow

前面说到,应用程序添加窗口时,会在本地创建一个ViewRoot,然后通过IPC(进程间通信)调用WmS的Session的addWindow请求WmS创建窗口,下面来看看addWindow方法。addWindow方法定义在frameworks/base/services/java/com.android.server.…

CSS属性速查表

前面的话 本文将按照布局类属性、盒模型属性、文本类属性、修饰类属性这四个分类,对CSS常用属性进行重新排列,并最终设置为一份stylelintrc文件 布局类 1、定位 positionz-indextopbottomleftright 2、浮动 floatclear 3、多列布局 columnscolumns-width…

我应该使用32位还是64位JVM?

这是我在企业软件开发生涯中多次遇到的问题。 我不得不每隔一段时间就提供有关配置特定新环境的建议。 而且,很多时候,手头的问题与“我应该使用32位或64位JVM”有关。 老实说,一开始我只是掷硬币。 而不是给出合理的答案。 (对不…

python安装pyecharts清华_基于Python安装pyecharts所遇的问题及解决方法

最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助。第一个坑:这个不难理解,缺少pyecharts-jupyt…

C语言内存分配

C语言内存分配 C语言的内存分配主要有5个区域: 1、栈区:在运行函数时,函数内的局部变量(不包含static变量)、函数返回值的存储单元在栈区上创建。函数运行结束时这些存储单元自己主动被释放。栈区内存分配运算内置于处…

在Ajax方式产生的浮动框中,点击选项包含某个关键字的选项

#!usr/bin/env python #-*- coding:utf-8 -*- """ author: sleeping_cat Contact : zwy24zwy163.com """ #在Ajax方式产生的浮动框中,点击选项包含某个关键字的选项 #通过模拟键盘下箭头进行选择悬浮框选项from selenium imp…

android studio点击图片,如何在Android Studio中的模拟器图库中添加图像?

如何在Android Studio中的模拟器图库中添加图像?我正在开发图像过滤器应用程序。 但是,如果我没有任何图像,就无法真正尝试。我知道我可以在电话中对其进行测试,但这并不相同,因为我需要错误消息和其他内容。我只想从A…

移动端学习目录

前面的话 iphone4发布是几年前的事情,而如今早已是移动互联网的时代。人们不再正襟危坐在电脑前,而更愿意把时间耗费在手机上,随时随地地享受互联网。在移动端可以使用最新最炫的前端技术,而不用再考虑老版本IE的兼容性。当前&…

实践中的构建者模式

我将不深入讨论该模式,因为已经有大量的帖子和书籍对此进行了详细的解释。 相反,我将告诉您为什么以及何时应该考虑使用它。 但是,值得一提的是,这种模式与《 四人帮》一书中介绍的模式有些不同。 虽然原始模式着重于抽象化构造步…

python计算汽车的平均油耗_用python对汽车油耗进行数据分析

原标题:用python对汽车油耗进行数据分析- 从http://fueleconomy.gov/geg/epadata/vehicles.csv.zip下载汽车油耗数据集并解压- 进入jupyter notebook(ipython notebook)并新建一个New Notebook- 输入命令[python]view plaincopyimportpandas as pdimportnumpy as np…

git常用命令2

##一、git常用命令 ###1、 push文件 * 打开cmd窗口 * 输入f:,进入f:(自己随便在自己的电脑上找个位置就行了,这里的f:,表示的是f盘) * 然后输入mkdir workSpace,会自动在f盘下生成一个workSpace文件夹 * 然…

android移动应用基础教程源代码,Android移动应用基础教程 【程序活动单元Activity】...

本章目录一、Activity的生命周期1、生命周期状态2 、生命周期方法3、横竖屏切换时的生命周期二、Activity的创建配置和关闭1、Activity的创建2、配置Activity3、开启和关闭Activity三、Intent与IntentFilter1、Intent介绍1.1 意图的概念1.2 显式意图1.3 隐式意图2、IntentFilte…

elasticsearch中cluster和transport知识

elasticsearch cluster 概述 elasticsearch节点间通信的基础transport转载于:https://www.cnblogs.com/wzj4858/p/8126033.html

Python中使用subplot在一张画布上显示多张图

subplot(arg1, arg2, arg3) arg1: 在垂直方向同时画几张图arg2: 在水平方向同时画几张图arg3: 当前命令修改的是第几张图 t np.arange(0,5,0.1) y1 np.sin(2*np.pi*t) y2 np.sin(2*np.pi*t) plt.subplot(211) plt.plot(t,y1,b-.) plt.subplot(212) plt.plot(t,y2,r--) plt.s…

Java 8:从PermGen到元空间

您可能已经知道,现在可以下载JDK 8 Early Access 。 这使Java开发人员可以尝试Java 8的一些新语言和运行时功能。这些功能之一是完全删除自Oracle自JDK 7发行以来就宣布的Permanent Generation(PermGen)空间。例如,自JDK 7起&…