1. 程式人生 > >android檔案管理器需求分析之一

android檔案管理器需求分析之一

(部分初稿)

正在做一個android檔案管理器,程式碼基本完成,但由於一直以來面向過程開發的,到後期程式碼量不斷增大,Bug頻繁出現,修改程式碼變得非常繁瑣、困難。

於是我想從需求分析開始重新對專案進行整合、編碼。

算是第一次寫需求分析,必然會出現很多Bug,希望前輩們能給予一些建議,求大家給予修正或分享一些想法。

檔案管理器需求分析

一、基本功能。

1、檔案操作:快捷目錄,主頁,收藏夾,多項選擇,檔案開啟(點選檔案時啟動開啟方式,不另設定按鈕),檔案隱藏,新增到桌面,新建,剪下,複製,貼上,刪除,重新命名,分享,排序,壓縮與解壓縮,屬性,加入收藏夾,移出收藏夾,按型別搜尋,搜尋,檔案顯示

2、設定:主題style設定,檔案顯示模式,檔案管理器的基本設定

3、硬體響應:觸控響應、按鍵的響應

二、功能詳情。

1檔案操作

    1.1檔案管理器的啟動過程

(1)使用者點選開啟應用圖示。

(2)啟動應用緩衝載入頁面

(3)啟動應用主頁面

(4)應用讀取本地資料、獲取螢幕解析度、然後開始佈局

(5)讀取主頁,進行下一步

(6)載入檔案目錄並顯示 檔案(1.2)

  1.2檔案目錄的載入並顯示過程[線上程裡操作;如果用時過長,可以加入緩衝介面]

(1)獲取檔案路徑(資料夾)

(2)根據檔案路徑建立檔案物件

(3)判斷檔案物件是否為null

(4)如果檔案物件是null,螢幕輸出該檔案無法訪問;否則進行下一步

(5)獲取資料夾的子檔案list,根據子檔案建立新的FileInfo,得到新的檔案list2

(6)重新整理介面卡更新View

(7)獲取是否存在原選中位置,滾動列表到選中位置

1.3檔案的開啟過程

(1)使用者點選GridView或ListView中的Item

(2)主頁面分發點選訊息至下一層

(3)底層GridView(ListView)接受點選訊息,並隨之響應點選事件

(4)通過Item的Id獲取點選檔案資訊

(5)判斷檔案型別

(6)如果是資料夾,就載入其目錄下的檔案 重新整理介面卡;否則就根據檔案型別呼叫相應函式進行下一步處理

1.4檔案的多項選中

(1)使用者點選多項選中按鈕,響應事件

(2)把顯示覆選框的變數設定為true

(3)重新整理檔案顯示的介面卡

1.5主頁

(1)如果使用者點選主頁按鈕,響應事件進行第二步;如果使用者長按主頁按鈕,響應事件進行第四步

(2)判斷主頁的狀態,取得返回物件 File ;如果File 為null;提示訊息”檔案不存在“,否則進行下一步

(3)主頁面滑動中央;並載入顯示目錄(1.2)

(4)顯示主頁設定介面

1.6判斷主頁的狀態並返回

(1)開啟本地資料文件,讀取相應資料

(2)如果有相應資料,獲取路徑並根據其新建File物件,進行第三步;否則進行第四步

(3)如果File物件不為null 且File是資料夾, 進行第 五步;否則進行第四步

(4)將路徑設為預設目錄(根目錄),並以此路徑新建File物件;如果此物件不為null ; 將路徑寫入本地資料文件;並進行第五步

(5)返回File物件。

1.7新建

(1)使用者點選新建按鈕,響應事件進入第二步;使用者長按新建檔案按鈕,響應事件進入第;

(2)啟動新建檔案對話方塊,裡面有新建檔案,新建資料夾兩個選項。

(3)使用者點選新建檔案,進行新建檔案(1.8)

(4)使用者點選新建資料夾,進行新建資料夾(1.9)

1.8新建檔案

(1)更改對話方塊View,出現檔名輸入視窗,並開啟鍵盤

(2)檔名預設設定為“新建文字文件.txt”。如果使用者點選確認按鈕,就進行下一步;如果使用者點選螢幕非對話方塊位置,就退出對話方塊。如果使用者重新更改輸入框內容,就進行第六步。

(3)根據檔名和當前目錄建立檔案物件;如果檔案物件為null;就提示訊息“建立檔案失敗“;否則就檢測檔案是否已經存在,進行下一步

(4)如果檔案存在,就提示訊息”檔案已存在“;否則建立檔案;

(5)如果檔案建立成功,提示訊息“檔案成功建立“,退出對話方塊,進行第七步;否則提示訊息”檔案建立失敗“。

(6)檢測輸入框裡的內容是否等於(“”);如果是,則提示訊息“輸入為空”;否則進行第三步。

(7)重新整理檔案目錄,滾動列表到新建立的檔案上。

1.9新建資料夾

(1)更改對話方塊View,出現檔名輸入視窗,並開啟鍵盤(同1.8.1)

(2)檔名預設設定為“新建資料夾”。如果使用者點選確認按鈕,就進行下一步;如果使用者點選螢幕非對話方塊位置,就退出對話方塊。如果使用者重新更改輸入框內容,就進行第六步。

(3)根據檔名和當前目錄建立檔案物件;如果檔案物件為null;就提示訊息“建立資料夾失敗“;否則就檢測檔案是否已經存在,進行下一步

(4)如果資料夾存在,就提示訊息”資料夾已存在“;否則建立檔案;

(5)如果資料夾建立成功,提示訊息“資料夾成功建立“,退出對話方塊,進行第七步;否則提示訊息”資料夾建立失敗“。

(6)檢測輸入框裡的內容是否等於(“”);如果是,則提示訊息“輸入為空”;否則進行第三步。

(7)重新整理檔案目錄,滾動列表到新建立的資料夾上

1.10剪下

(1)使用者點選剪下按鈕,響應點選事件,進行下一步;使用者長按剪下按鈕,響應長按事件,進行第四步

(2)檢視選中狀態,如果沒有選中項,則提示訊息”沒有選中項”,否則進行下一步

(3)把選中檔案存起來,並標記已剪下,提示訊息”檔案已剪下”;如果存在複選框,就退出複選框

(4)提示訊息“剪下”

1.11複製

(1)使用者點選複製按鈕,響應點選事件,進行下一步;使用者長按複製按鈕,響應長按事件,進行第四步

(2)檢視選中狀態,如果沒有選中項,提示訊息“沒有選中項”,否則進行下一步

(3)把選中檔案存起來,並標記已複製,提示訊息”檔案已複製”;如果存在複選框,就退出複選框

(4)提示訊息”複製”

1.12貼上

(1)使用者點選貼上按鈕,響應事件,並進行下一步;使用者長按貼上按鈕,進行第九步

(2)判斷檔案標記是否有剪下、複製操作:如果有進行下一步;否則提示訊息”沒有複製或剪下操作“

(3)彈出貼上進度框。遍歷第一層檔案目錄,判斷貼上路徑是否為原始檔的子路徑:如果是,提示訊息“貼上..檔案失敗,目標檔案是原始檔的子檔案;否則檢測是否存在同名檔案,如果有同名檔案則進行第八步,否則進行下一步

(4)判斷檔案標記:如果標記是剪下,進行第五步;如果標記是複製,進行第七步;

(5)判斷檔案的起始路徑是否在同一個SD卡內:如果在同一個SD卡內,進行第六步;否則進行第七步

(6)遍歷所有貼上檔案更改檔案目錄,並顯示剪下檔案的進度(大小,速度,剩餘時間,起始路徑,專案數)

(7)遍歷所有貼上檔案,進行檔案複製(1.12),並顯示貼上檔案進度,複製完畢後,如果檔案標記為剪下,刪除檔案

(8)如果源路徑和目的路徑一致,如果檔案標記為剪下的話,則不改動該檔案,如果檔案標記為複製則建立檔案副本(迴圈建立副本),進行第七步;進行下一步

(9)否則進行同名檔案選擇覆蓋(重點),彈出同名對話方塊,讓使用者選擇是否覆蓋,進行下一步

(10)如果使用者點選覆蓋按鈕,則退出同名對話方塊,進行第七步;如果使用者點選跳過,則退出對話方塊;如果使用者點選複選框應用到全部,則在下一步時進行使用者之前操作

(11)貼上完畢,如果是剪下操作,清空貼上板。退出貼上對話方塊,釋放記憶體,重新整理檔案目錄,滾動列表到新貼上的檔案上

(12)提示訊息“貼上”

1.12檔案複製

(1)提供初始路徑,和目的路徑,

(2)檢測原始檔大小和目標儲存卡剩餘空間大小

(3)如果剩餘空間不足,提示訊息“貼上..檔案失敗,剩餘空間不足”,退出檔案複製,終止貼上操作;否則進行檔案複製

(4)開啟輸入流、輸出流,進行檔案拷貝,並及時將資訊(大小,速度,剩餘時間,起始路徑,專案數)更新UI

(5)關閉輸入流、輸出流

1.13刪除

(1)如果使用者點選刪除按鈕,響應點選事件,進行下一步;如果使用者長按刪除按鈕,響應長按事件,進行第七步

(2)如果當前沒有選中項,則提示訊息”沒有選中項”;否則進行下一步

(3)彈出對話方塊,遍歷選中檔案,同時讓使用者確認是否刪除選中檔案,進行下一步

(4)如果使用者點選確認,繼續遍歷選中檔案直到遍歷完畢,期間定時更新UI資訊,完畢後,進行下一步;如果使用者點選取消,退出對話方塊。

(5)刪除檔案,顯示進度條。

(6)刪除完畢後,退出對話方塊,更新檔案列表。

(7)提示訊息”刪除”

1.14重新命名

(1)如果使用者點選重新命名按鈕,響應點選事件,進行下一步;如果使用者長按重新命名按鈕,進行

(2)如果當前沒有選中項,則提示訊息”沒有選中項”;否則進行下一步

(3)如果當前狀態是多選狀態,則進行第八步;否則進行下一步

(4)彈出重新命名對話方塊,text的窗口裡為檔名,並開啟鍵盤

(5)如果使用者輸入名稱,點選確定,則進行下一步

(6)獲取文字框裡的名稱,與現有檔名對比,如果檔名沒有更改,則不進行檔名的改動。如果檔名改動,則進行檔案重新命名。

(7)退出對話方塊,獲取檔案重新命名返回值,如果為true,提示訊息”檔案重新命名成功”,並進行第十二步;如果為false,提示訊息”檔案重新命名失敗”

(8)彈出多檔案重新命名對話方塊,進行多檔案重新命名,輸入起始檔名稱,點選確定,順序進行檔案重新命名。

(9)彈出進度對話方塊,顯示實時資訊

(10)如果已存在相同名稱檔案,則跳過該檔名稱,把檔名稱序號+1繼續進行檔案重新命名。

(11)重新命名完畢,提示訊息”檔案重新命名成功”,並進行下一步

(12)重新整理檔案列表,滾動到重新命名的檔案上

附:

相關推薦

android檔案管理需求分析之一

(部分初稿) 正在做一個android檔案管理器,程式碼基本完成,但由於一直以來面向過程開發的,到後期程式碼量不斷增大,Bug頻繁出現,修改程式碼變得非常繁瑣、困難。 於是我想從需求分析開始重新對專案進行整合、編碼。 算是第一次寫需求分析,必然會出現很多Bug,希望前輩們能

android 檔案管理的原始碼實現

public class ExDialog extends ListActivity { // ListActivity自帶List控制元件          private List<Map<String, Object>> mData;          private Strin

Android 檔案管理 Android檔案管理原始碼

/**************************************************** 大家都知道寫部落格會很累的,大熱天的。 請不要可憐你的滑鼠,(*^__^*) 嘻嘻…… **************************************

一個私人定製的PC端Android檔案管理

工欲善其事,必先利其器。 一個好的工具對能省不少體力活呢。 如果現在老大給你個任務,把一個檔案放到手機裡,你是不是慢慢吞吞地開啟cmd,敲入幾句自以為高大上的adb push here there,然後敲入回車,等收到那熟悉的回答2108 KB/s (669 bytes in 0.006s)後,頓時眉開眼笑。

android檔案管理開發中遇到的一些問題

1.難點主要有如何獲取外掛裝置的資訊以及路徑無論是U盤還是TF卡等等 獲取方式在其他部落格中請自己檢視。 2.在Android6.0中想要對外部裝置進行的檔案的操作是比較難的 因為6.0中Android系統對外部儲存器操作的許可權進行了修改,所以只能進行讀操作,無法進行對外

Android檔案管理安裝apk流程記錄

05-10 22:09:26.301 1402 1888 I ActivityManager: START u0 {act=android.intent.action.VIEW dat=file:///storage/emulated/0/下載/App/av

Android檔案管理

自己花了1個小時寫了個檔案管理器。寫之前以為是很難寫的,其實就是對File的操作嘛。。。所以我就寫了查,其他都沒寫,沒意義了。難度係數:0檔案管理器核心程式碼File[] files = file.listFiles()對,你沒有看錯,核心就只有一行程式碼。知道這一行程式碼就

開源 android 檔案管理

# File_Explorer # Android 檔案管理器 包常用ui控制元件有:         1.側滑選單slidingMenu            2.相容actionbar----actionbarsherlock         #專案結構:         com.yang.file_ex

土地檔案管理系統需求分析

監測 遙感 簡單的 及其 登錄功能 依據 手工錄入 情況 情況下 土地檔案管理系統需求分析 1 項目背景 隨著國土大面積調查工作的全面展開和城鎮地籍管理工作得以日趨細化,各種野外調查數據,不同比例尺圖件資料急劇增加。特別是城市建設的空前發展以及土地有償使用法規

HD檔案管理 v0.1.3----- 一款介面簡約,功能強大的免費檔案管理Android

Android平臺上具有完整功能的檔案管理,漂亮的UI介面設計以及良好的使用者體驗。 支援android 1.5及以上平臺 包括: * 將Linux平臺上最流行的圖示集之一 Faenza 作為檔案管理

Android 載入本地圖片(檔案管理中的圖片牆)

Android 載入本地圖片(檔案管理器中的圖片牆) --關於圖片牆的一些感悟與疑問,希望大家共同探討。 (By伊葉也) 圖片顯示及監聽 1、圖片顯示:基本上就5種顯示形式(如果同時嵌入5種形式,採用

Android呼叫系統自帶的檔案管理,開啟指定路徑

一、開啟系統自帶的檔案管理器 if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { showToast(R.string.msg_

android】簡易檔案管理(列表式檔案目錄)

、    核心程式碼:                                 File fatherFile = new File(path); File[] files = fatherFile.listFiles();         效果圖:        

Android遠端桌面助手(B1332)之檔案管理

sunrain_hjb的BLOG ARM.WinCE.Android.Robot.Linux.IoT.VR... Develop Helpful and Effective apps to make Jobs easier and lives Better!

Android進入本地檔案管理及不同檔案檢視

1、進入本地檔案(新增檔案): Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE

18、android中呼叫系統自帶檔案管理並返回選中檔案的路徑

思路: 通過Android API呼叫系統自帶的檔案瀏覽器選取檔案獲得URI,然後將URI轉換成file,從而得到file。 import android.annotation.SuppressLint;import android.app.Activity;impo

Android 開啟檔案管理,並返回選中檔案的path

1: 點選觸發事件: Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.add

Android 通過檔案管理選擇資料夾下面的檔案以及獲取路徑

      今天要求用手機檔案管理器選擇資料夾下面的資料夾,並且可以建立新的資料夾,當然最後發現實現不了。不過還是把如何選擇資料夾下面的檔案以及獲取到檔案路徑的方法記錄下來,以備以後使用: @Override protected void onCreate(Bund

android WebView呼叫檔案管理,點選返回鍵退出app的解決辦法

在清單檔案中,給含有該WebView的activity設定屬性: alwaysRetainTaskState屬性 和 configChanges屬性 這裡,我的是WebActivity: <activity android:name=".activity.We

Android 程式碼開啟系統自帶的檔案管理(不是單純的獲取檔案路徑)

網上搜索的辦法基本上都是下面這種: public void openFileExplorer(){ Intent intent=new Intent(Intent.ACTION_