我遇到以下方法:

Environment.getDataDirectory() : /data




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


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

有什么意义。如果没有环境,使用起来会很简单,因为方法名不同。

最佳答案

好吧,要么我不明白您不了解什么,要么您不了解调用Environment.method()method()之类的方法之间的区别...
 如果您要了解的是,为什么在第一次调用时编写类名,是因为第一个方法是STATIC方法,并且不需要该类的实例即可调用它。它也属于Environment类。所有静态方法都以其类的名称进行调用(当您在类之内(例如测试类或子类时),则只有在这样的情况下,您才可以在其调用之前不带类名的情况下进行调用。你可以把班级名称放在那里
getFilesDir()是一种需要实例化其所属类(即ContextWrapper)的方法,或者需要对其子类的实例进行实例化的方法...因此,如果您在Activity中(这是间接的) ContextWrapper的子类),则可以将其命名为:this.getFilesDir()或简单地称为getFilesDir()。您也可以像从Fragment中的getActivity().getFilesDir()getApplication().getFilesDir()这样调用它,依此类推...您可以从Android转到ContextWrapper类,并查看层次结构。
抱歉,如果您不需要此说明,但据我了解,您知道这些方法用于...

09-28 06:40