android:为什么在Environment.getDataDirectory()中使用Environment而不用于getFilesDir()

时间:2016-05-30 08:03:20

标签: android storage

我遇到了以下方法:

Environment.getDataDirectory() : /data

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

一种方法使用环境而另一种方法不使用。

意义重大。在没有Environment的情况下使用会很简单,因为方法名称不相同。

1 个答案:

答案 0 :(得分:1)

好吧,要么我不明白你不明白的内容,要么你不理解调用Environment.method()method()之类的方法之间的区别...
 如果这是你想要理解的,为什么在第一次调用时写入类名,是因为第一种方法是STATIC方法而你不需要该类的实例来调用它。它也属于Environment类。所有静态方法都使用其类的名称进行调用(当您在类中时,例如Test类或子类,然后只有这样您才能在调用之前调用没有类的名称。即便如此,你可以把班级名称放在那里......
getFilesDir()是一个方法,需要它所属的类的瞬时 - 即ContextWrapper - 或者要调用它的子类的实例...所以,如果你在一个Activity(这是ContextWrapper的间接子类,您可以将其称为:this.getFilesDir()或简称为getFilesDir()。你也可以像片段中的getActivity().getFilesDir()getApplication().getFilesDir()那样调用它......等等......你可以从Android转到ContextWrapper类并查看层次结构。
很抱歉,如果这个解释不是您所需要的,但我知道您知道这些方法的用途......

相关问题