过去几个月我一直在为我的公司开发一个库,并且每当我将数据存储或加载到内部存储时,文件流似乎都需要上下文这一事实让我感到恼火。
我设计的库就像这样工作:
每当发出调用Web服务的请求时,调用类将尝试获取单例类的实例并通过它获取keychain和auth信息,如下所示:
SingletonClass.getInstance()。getCredentials(Context ctx);
结果是我需要不断提供调用活动的上下文,因为我的大部分库都围绕调用带有凭据和设备ID作为参数的API。
我具体提到这些方面:
....
FileOutputStream fos = ctx.openFileOutput(filename,
Context.MODE_PRIVATE);
fos.write(buf);
fos.close();
....
我很困惑为什么需要调用活动的特定上下文。任何帮助是极大的赞赏。还有另一种解决这个设计问题的方法吗?
答案 0 :(得分:0)
文件存储API由Context类提供。 所以你需要它。
答案 1 :(得分:0)
应用程序上下文应该适用于此 - 您可以考虑使用此方法:Using Application context everywhere?这样您就可以轻松获取应用程序上下文而无需传递它。