Android App-内部存储保存未显示

时间:2018-07-16 16:32:38

标签: android save

[再次编辑,因为我想我可能已经开始理解。]

我的老问题在下面。

但是,我认为我的问题已经归结为这个问题。

除非您经过复杂的data/data,否则rooting中的内部存储不能真正在手机上访问吗?

Android/data中的外部存储空间,它将连接在连接的SD卡上,如果没有连接SD卡,则将存储在主内存中。公众可以通过File Manager在手机上看到此信息。

---旧问题---

我保存了两次文件。

当我保存在内部存储中时,我也同时保存了备份。

但是,保存到内部存储的备份未显示在文件管理器的文件目录中。 (但是当我相信自己要保存 EXTERNALLY 时,它会显示在内部存储中。)

我相信内部存储的位置如下所示(但是我开始怀疑它-我是android的新手-我正在使用 Genymotion 模拟器):

File Manager|Android|com.mysite.jon.myappname|files

内部存储空间在哪里?

这是我的代码:

public void save(boolean saveLocal, boolean saveExternal, String fileContent) {
    boolean ret = true;

    // The false indicates I am saving internally (ie isExternal = false)
    if (ret && saveLocal && !saveLocalExternal(false, fileContent)) ret = false;
    // I am shutting off external save at thee moment to make the problem clear
    //if (ret && saveExternal && isExternalStorageWritable() && !saveLocalExternal(true, fileContent)) ret = false;

     return ret;
}

public boolean saveLocalExternal(boolean isExternal, String fileContent) {
    boolean ret = true;
    String filename1 = "a.txt", filename2 = "b.txt";
    File path = isExternal ? mContext.getExternalFilesDir(null) : mContext.getFilesDir();
    File file = new File(path, this.filename);
    FileOutputStream outputStream, outputStream2;

    try {
        outputStream = new FileOutputStream(new File(path, filename1));
        outputStream.write(fileContent.getBytes());
        outputStream.close();

        if(!isExternal) {
            outputStream2 = new FileOutputStream(new File(path, filename2));
            outputStream2.write(fileContent.getBytes());
            outputStream2.close();
        }
    } catch (Exception e) {
        //e.printStackTrace();
        ret = false;
    }
    return ret;
}

b.txt在哪里?当然应该在内部存储中吗?

0 个答案:

没有答案