android - getFilesDir() 返回 null

标签 android

<分区>

GetFilesDir() 返回 null,这很奇怪。更糟糕的是,我的代码是...非常简单:

public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    File f = this.getFilesDir();
    f.getAbsolutePath();

    tempClicked((ToggleButton)findViewById(R.id.tempToggle));
}

这会在 f.getAbsolutePath() 上崩溃。它目前正在模拟器中运行,模拟 1024x600 的 2.3.3 系统。

Google 对此没有返回任何信息...那么到底为什么会发生这种情况?我该如何解决?!

非常感谢!

编辑::已解决!

嗯,有点……

我认为这是一个模拟器错误。我将模拟器的外观更改为 WXVGA,然后允许它正确写入文件。然后当我将分辨率改回 1024x600 时,它继续正常工作。

因此,如果有人遇到类似的错误,我建议您尝试使用模拟器,直到找到解决该错误的方法。

最佳答案

尝试在 f.getAbsolutePath() 之前添加:

File f = new File(this.getApplicationContext().getFilesDir() + "/");
f.mkdirs();

关于android - getFilesDir() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6779833/

相关文章:

java - 解析 JSONObject 和 JSONArray 并在 ListView 中修复它们

java - 如何以编程方式更改按钮的背景颜色

c# - Xamarin 中的 BackgroundWorker 与 Android 服务

android - Canvas 可绘制对象和居中缩放

android - 在按钮上结合背景图像和背景可绘制样式

android - 无法使用 WHERE 子句删除 SQLite 记录

android - 添加 QtQuick 控件后部署到 Android 导致找不到文件

Android 软键盘推送控制 Titanium

java - 是否可以在同一 Activity 中执行单独的网络线程而无需等待?

android - Android Studio/Gradle可在2台Mac上运行。在第3个上无法使用。