我正在创建一个可以在多个教育机构中使用的应用程序,这些应用程序可以在各种课程中使用,这些教师希望能够在临时的基础上更新应用程序中的某些信息。我原本以为最好的方法是让应用程序将一个新的strings.xml文件下载到res / values文件夹,尽管我已经读过你在打包并运行应用程序时无法更新这个文件夹/文件。我认为一个好的方法就是能够在别处保存另一个strings.xml文件
我的问题是:
注意:该文件不会被称为string.xml,因此实际的strings.xml不会产生混淆等。
答案 0 :(得分:0)
没有“规则”,你应该把文件放在哪里(减去你无法访问的couse系统和其他私人文件夹)。但是,将应用程序下载的非打包资源放在您自己的应用程序数据文件夹(位于设备的内部存储器中)或设备的外部存储(SD卡)上的逻辑和最常见的位置。
要将文件写入内部存储,您需要使用上下文的openFileOutput(..)方法。这会将文件存储在您的应用程序专用数据目录中。使用openFileInput(..)读取存储的文件
要写入外部存储,您需要向清单添加WRITE_EXTERNAL_STORAGE权限。完成此操作后,您可以使用FileOutputStream在下载时编写文件数据。用于读取的InputStream(查找哪种输入流类型最合适)
显然,我提供的示例并不完全详细或有代码,但它们将指导您在设备上存储文件的正确方向。
答案 1 :(得分:0)
编译器使用res文件夹下的文件自动生成包含字符串,布局,drawable等的ID的R类......
当然,您可以从服务器下载自定义资源,并将其作为@dymmeh点存储在SD中。并且是实现文字修改的最合理方法,但要注意,您将无法在布局的xml中使用@ string / string_id,并且您必须自己解析下载的文件。