關於Android Context的檔案管理函式。

2021-06-16 14:53:25 字數 1071 閱讀 7623

在context api中,有幾組函式,如getexternalcachedir(),getdir(),getcachedir()等,返回的都是乙個file物件。這些函式在軟體的快取管理中,十分有用。現對照著api對這些函式的使用場景和區別作下總結。

context.getdatabasepath(string name) :  context.openorcreatedatabase會建立乙個資料庫。而getdatabasepath就是返回檔案系統上此資料庫的絕對路徑。引數name為資料庫的名字;

好吧,看這5個函式略暈。莫暈,api給了很詳細的解釋。

先看下getdir(string name,int mode)的用法吧。

獲取乙個檔案的路徑(如果不存在就建立),應用程式可以在這個路徑裡放置一些資料檔案。通過這個函式返回的file物件,我們可以建立或者讀取這個路徑裡的檔案。但是只有我們自己的應用程式可以訪問這些檔案。嘿,看來我們可以在這個函式返回的檔案路徑裡放點自己的「私房錢」。還有,我們可以通過引數mode來設定檔案的讀取許可權。再加一句,返回的這個檔案路徑,可以是通過

context.openfileoutput(string name,int mode)建立的檔案。   

再來看context另外兩個函式,getcachedir()和getexternalcachedir().這倆哥們,雖說getexternalcachedir比getcachedir就多了個external,這待遇就差很多了。

既然是兄弟,就有很多共同點。首先,我們的應用都可以往這兩個函式返回的路徑裡放入快取檔案,而且這些檔案大小還有限制!比如說1mb,要是快取檔案超過1mb了,那不行,得把多餘的資料刪掉,這些刪除操作不能依賴系統噢,得自己搞。當軟體被刪掉的時候,這些快取檔案也得被刪掉。系統記憶體不足的時候,這些快取檔案也會最先被刪除。

不同點,那getexternalcachedir()就得有一把淚啊。首先,由於系統不經常監督sd卡的可用大小為多少,放在sd卡的這些快取檔案就可能沒有刪除。還有當sd拔出,或者手機連著電腦,sd裝載的時候,就不能再讀寫這些檔案了。所以使用之前,得問問sd的狀態。所以別說自己待遇差,自己不靠譜先!還有就是寫在sd卡的快取檔案,是沒有安全措施儲存的。。別的應用也可以看的。。  

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...