2016-05-30 16 views
1

我碰到下面的方法來getFilesDir()Environment.getDataDirectory():機器人:爲什麼要使用環境在不使用

Environment.getDataDirectory() : /data 

getFilesDir() : /data/data/package/files 

一種方法是使用環境其他沒有。

什麼意義。沒有Environment的情況下使用會很簡單,因爲方法名稱不同。

+0

嘗試閱讀以下:[鏈接](http://stackoverflow.com/questions/21230629/getfilesdir-vs-environment-getdatadirectory)。 – Rucsi

+0

在那篇文章中,沒有提到它爲什麼使用它。相反,它說明了每一個意思,我也明白。 –

回答

1

嘛,要麼我不明白你有什麼不明白,要麼你不明白像Environment.method()method()的方法的調用之間的區別...
如果這就是你想要了解什麼,爲什麼類名是在第一次調用時編寫的,是因爲第一個方法是STATIC類,並且不需要該類的實例來調用它。它也屬於環境類。所有的靜態方法都是用它們的類的名字來調用的(當你在類內時,例如Test類或者一個子類,那麼只有在你的調用之前你才能調用沒有類的名字,即使如此,你可以把類的名字放在那裏......
getFilesDir()是一個需要它所屬類的即時性的方法 - 也就是ContextWrapper - 或者它的一個子類的實例被調用...所以,如果你在一個活動(這是ContextWrapper的一個間接子類)中,你可以這樣稱呼它:this.getFilesDir()或者簡單地getFilesDir()。你也可以將它稱爲getActivity().getFilesDir()從片段或getApplication().getFilesDir()等......你可以去ContextWrapper類從Android開始,看看層次結構
對不起,如果這個解釋不是你所需要的,但我知道你知道這些我是什麼thods用於...

+0

你也可以在Java中搜索和閱讀靜態和非靜態方法,有大量信息可用 – Rucsi