android - 如何从 Activity 外部将文件写入 Android 设备?

标签 android serialization android-activity android-file data-access

我的主要 Activity 是创建一个名为 fileSaver 的新对象。我正在尝试将对象“数据”sarialize 到文件。 FileSave 有一个创建文件的方法 serialize()。

private String FILE_NAME = "file.dat";
FileSaver fileSaver = new FileSaver();
Data data = new Data();
data.setEmail("aaa@bbb.com");
fileSaver.serialize((Object) data,FILE_NAME);

问题是我无法在 Activity 之外创建文件。当我尝试相同的内部 Activity 时,它会创建该文件。我正在尝试路径但没有成功。我知道文件是从 Activity 创建的,它保存在/data/data/my_package_name/files 但如何从外部 Activity 类访问该文件?

类文件保护器:

public class FileSaver {

public void serialize(Object objToSerialize,String fileName) {

    try {
        ObjectOutputStream out = new ObjectOutputStream(
                new FileOutputStream(fileName));
        out.writeObject(objToSerialize);
        out.close();
        System.out.println("Object : " + objToSerialize.getClass()
                + " serialized successfully");
    } catch (Exception ex) {
        System.out.println("Error Saving Object to File :"
                + ex.getMessage());
        ex.printStackTrace();
    }
}
}

谢谢。

最佳答案

您必须将上下文传递给外部 java 类并使用上下文,使用此 openFileOutput() 方法在 android 设备内存中创建和写入文件

关于android - 如何从 Activity 外部将文件写入 Android 设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662164/

相关文章:

android - 消失的影像

android - 如何在启动时启动/启动应用程序 Android

android - 使用 NotificationListenerService 检查对通知的访问

java - 我应该在 onCreate 或 onResume 中从共享首选项加载值吗?

android - onTouch 事件有时不触发 ACTION_POINTER_DOWN

scala - 在 twitter chill 中处理案例类(Scala 接口(interface)到 Kryo)?

android - 编译 Kotlin 序列化时出错

c# - 将 ASP.NET Web API 2 中值类型 (C#) 的 .MinValue 序列化为 null

android - 聚焦TextInput时使用大写键盘

Android SetNewPassword Intent 返回 RESULT_FIRST_USER