创建要在Android中使用的字典

时间:2018-09-29 14:23:19

标签: java android dictionary

我想创建一个映射两个字符串的字典,如下所示: “程序包名称”,“游戏”

我知道可以使用以下代码完成此操作:

HashMap<String, String> map = new HashMap<>();
 map.put("app_package_name","game");

因此,在我的应用程序中,我有一个服务,该服务根据其值所定义的应用程序类型进行更改。似乎我无法将地图声明为要使用的整个服务类的静态全局变量,这可能意味着每次我的服务在应用程序中运行以服务于意图时,都将重新创建地图,并且将创建新的键值对再放吗?

如果我只想声明地图并放置所有内容一次,该怎么办,然后在处理服务意图时,我只需要引用地图对象并仔细检查其键?有更好的方法吗?

P.S如果可能的话,我宁愿坚持使用字典。

2 个答案:

答案 0 :(得分:3)

据我了解-您需要始终运行的服务。但是服务存在问题-它们可以随时被系统杀死。而且,如果您将地图存储在此类服务中,则会在服务终止过程中将其删除。最简单的解决方案-使用数据库。最好使用带有并行放置值和键的Room框架。每次读取地图时,请检查其是否不为null和不为空。如果是-用数据库中的数据填充它,否则-使用地图中的数据。当系统试图终止服务时,请勿尝试编写整个地图-这将导致不可预测的行为。

答案 1 :(得分:0)

您可以将数据置于共享首选项中,并在需要时进行检索,或者序列化对象并另存为JSON,然后使用它。