getExternalFilesDir在普通类中使用
时间: 2024-10-12 09:11:40 浏览: 19
`getExternalFilesDir` 是Android提供的一个静态方法,它用于获取设备外部存储的一个目录路径,通常用于存储应用程序的数据,特别是那些不应该保存在应用内部存储中的数据,因为内部存储可能会因用户卸载应用而清除。
在普通类(非Context子类)中直接使用 `getExternalFilesDir` 是不太常见的,因为这个方法通常需要一个上下文(Context)作为参数,例如Activity、Fragment或者其他拥有文件系统访问权限的对象。如果你是在一个普通类中,你可能需要通过持有此类的某个Context实例来间接使用它:
```java
// 假设你有一个AppManager类,持有Application的引用
public class AppManager {
private static final String DEFAULT_EXTERNAL_DIR_NAME = "MyAppData";
// Context对象
private Application app;
public AppManager(Application app) {
this.app = app;
}
/**
* 获取外部存储目录
*/
public File getExternalFilesDir() {
return new File(app.getExternalFilesDir(DEFAULT_EXTERNAL_DIR_NAME));
}
}
// 使用示例
AppManager appManager = new AppManager(MyApp.getAppContext());
File externalFilesDir = appManager.getExternalFilesDir();
```
在这个例子中,`AppManager` 类持有了 Application 对象,然后在其内部可以安全地调用 `getExternalFilesDir`。然后在需要使用这个目录的地方,只需要创建 `AppManager` 的实例即可。
阅读全文