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.pswp.cn/news/370114.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370114.shtml
英文地址,請注明出處:http://en.pswp.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起&…