Android:在应用程序中存储阵列
我有一个长度为10000条的数据数组。这些数据几乎从未改变过,如果它真的改变了,我可以在应用程序中处理它。我似乎没有必要将其存储在外部数据库中,因为它只是字符串数据,所以不会很大 是否有一种方法可以通过应用程序将其存储在用户手机上。我在想字符串资源或csv文件。但这些似乎不是最快或最好的选择。在决定是否将其上载到数据库或将其存储在设备上时,需要考虑哪些因素。目前我使用DynamoDB,因此在许多属性上搜索数组会很困难Android:在应用程序中存储阵列,android,arrays,Android,Arrays,我有一个长度为10000条的数据数组。这些数据几乎从未改变过,如果它真的改变了,我可以在应用程序中处理它。我似乎没有必要将其存储在外部数据库中,因为它只是字符串数据,所以不会很大 是否有一种方法可以通过应用程序将其存储在用户手机上。我在想字符串资源或csv文件。但这些似乎不是最快或最好的选择。在决定是否将其上载到数据库或将其存储在设备上时,需要考虑哪些因素。目前我使用DynamoDB,因此在许多属性上搜索数组会很困难 提前感谢您的帮助。如果您的数据将来不会更改。表示它是静态的,然后将数据放在st
提前感谢您的帮助。如果您的数据将来不会更改。表示它是静态的,然后将数据放在string.xml上 或
如果您的数据将来会发生更改,那么使用它数据库….我会选择将
字符串存储在字符串数组中存储在字符串.xml中,如下所示:
<resources>
<string-Array name ="data">
<item> Data 1 </item>
<item> Data 2 </item>
<item> etc etc </item>
</string-array>
</sesources>
如果您是从片段
编写此代码,我建议使用getActivity().getResources().getStringArray(R.array.data)
或将上下文传递给您的片段
看到数据的大小(10000),使用字符串资源是不好的。此外,数据是静态的,这意味着它们将以只读方式访问。所以最好使用文件或Sqlite。但是,如果您对数据进行大量查询,例如查找特定条目,我建议您使用Sqlite,因为您可以使用Sqlite索引更快地查询数据,加快排序…为什么不使用sqlite@Sarthak我从来没有新的感谢是可能的内部感谢
List<String> stringData = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.data)));
for (String row : stringData){
Log.d("Data", row);
}