1

我正在尝试使用 android 中的 XML 保存一些数据以保存到设备内部存储中。

我想确保应用程序是由开放/封闭单一责任原则编写的。(所以我可以轻松地在存储方法之间切换)

-domain
|---db
|---|---appReader
|---|---|---AppReader.java
|---|---|---XMLAppReader.java
|---|---appWriter
|---|---|---AppWriter.java
|---|---|---XMLAppWriter.java   
|---DBFacade.java
|---DBFacadeImpl.java
-MainActivity.java

这是我目前的结构,...

我现在面临的问题是,在每个关于 android 和 xml 的教程中,他们使用的函数openFileOutput(filename,Context.Mode_Append)我猜这是来自 Activity 超类的函数?

我将如何初始化我的FileOutputStream并仍然保持我的开放/封闭单一责任 原则完好无损?

我应该将 Activity 实例传递给我的 XMLAppWriter 构造函数吗?这不会破坏单一责任 原则吗?

4

1 回答 1

0

Instead of pass activity instance as parameter, you can use application's context method, which doesn't violate single responsibility principle.

getApplicationContext().openFileOutput(name, mode);
于 2014-12-20T15:05:27.190 回答