jac*_*its 5 methods static android file
我到处寻找答案,每当我看到其他人使用该方法时:
getFilesDir();
Run Code Online (Sandbox Code Playgroud)
但是当我尝试以任何方式使用该方法时,尤其是:
File myFile = new File (getFilesDir();, filename );
Run Code Online (Sandbox Code Playgroud)
Eclipse只是说,"不能从tye ContextWrapper中静态引用非静态方法getFilesDir"
我试图用它来获取内部目录为我的应用程序写一个文件.
谢谢!
那是因为在静态方法中您没有获得类的对象,并且 getFilesDir 不是静态方法,这意味着它只能通过类 Context 的对象访问。
因此,您可以做的是将对象的引用存储在类的静态变量中,然后在静态方法中使用它。
例如:
static YourContextClass obj;
static void method(){
File myFile = new File (obj.getFilesDir(), filename );
}
Run Code Online (Sandbox Code Playgroud)
您还必须在 onCreateMethod() 中存储对对象的引用
obj = this;
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是
static void method(YourContextClass obj){
File myFile = new File (obj.getFilesDir(), filename );
}
Run Code Online (Sandbox Code Playgroud)