簡體   English   中英

Android不保存文件

[英]Android Not Saving Files

我一直在Android上做一些工作,經過三到四次不同的嘗試,我發現似乎無法讓Android將文件保存在任何地方。 實際上,它甚至沒有為我的應用程序在data /中創建一個文件夾。

這是我嘗試保存文件的方式-這也在我的主要活動中。

@Override
public void onStop(){
    super.onStop();

    try{
        FileOutputStream memboricOut = getApplicationContext().openFileOutput("memboric.core", Context.MODE_PRIVATE);
        brain.save(memboricOut);
    }catch(Exception e){
        System.err.println("Could not save memboric core.");
        e.printStackTrace();
    }
}

在brain.save()內部:

public boolean save(FileOutputStream fileOut) {
    try{
        ObjectOutputStream oo = new ObjectOutputStream(fileOut);
        oo.writeObject(this);
        oo.close();
        fileOut.close();
        System.out.println("Memboric Core saved successfully.");
        return true;
    }catch (Exception e) {
        e.printStackTrace();
    }

    return false;
}

這段代碼似乎什么也沒做。 我也將保存的內容也放在了onDestroy中。

我剛剛選擇了不好的位置進行保存嗎? 我無法想象可能出了什么問題。

您是否有權保存文件? 您可以通過向AnroidManifest.xml添加android.permission.WRITE_EXTERNAL_STORAGE權限來添加該權限。

oo.writeObject(本);

大腦有可序列化的數據嗎?

Class Brain implements java.io.Serializable {
    public String toString() {
        return "serialized data";
    }
}

如果沒有,DataOutputStream可能是一個更好的選擇。

DataOutputStream oo = new DataOutputStream(fileOut);
oo.writeInt(value); // if breain have int value
oo.flush();
oo.close();

保存的數據將顯示在/data/data/(your.package.name)/files/memboric.core中
使用仿真器(或根設備)檢查文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM