1

我读过这篇非常接近我的问题的帖子,但我仍然没有找到我想要的东西。

我正在开发一个依赖于两个纯文本文件的应用程序:比如说 weekdays.txt 和 year.txt。一个文件最有可能(尚未定义)七行,因此它非常小(几个字节),但另一个将包含 365 行(一年中的每一天),字节数不是很大(最多 20 Kb ,我的猜测),但需要更多的处理能力。

该应用程序尚未完成,所以我会尽量明确:

因此,我的应用程序将获取当前日期和时间,并在 weekdays.txt 中查找对应于当前星期几的行,解析该行的信息并将其存储在内存中。之后,程序应该读取 year.txt 并查找与当前日期对应的行并解析(并存储在内存中)该行的信息。

然后它应该打印出所有存储的信息。

当我说“解析信息”时,我的意思是解析字符串,就像这样简单:

字符串“7*1234-568”应读作:

String ID=7;
int postCode=1234;
int areaCode=568;

这里的目标是创建一个轻量级(离线,这是至关重要的)应用程序以供快速使用。
如您所见,这是一个开发 101 级别的应用程序,我的问题是:您认为这对任何手机来说都太繁重了吗?我问这个的原因是因为我希望我的应用程序能够在当今尽可能多的手机中运行。

顺便说一句,你认为我应该使用数据库来代替这种工作吗?我听到论坛周围的人在谈论 RMS,有些人说它是有限的,所以我就保持不变。无论如何,txt文件的想法是最容易让用户更新以防万一......

提前致谢!

4

2 回答 2

2

如果您的配置文件是只读的并且不会随时间改变,那么您可以将它们包含在 jar 中。您应该能够使用Class.getResourceAsStream返回 InputStream 来读取它们。一个 366 行(记住闰年)和 80 列的 ASCII 文件大约是 29KB,因此即使是 10 年的旧手机也可以毫无问题地读取它(但请记住在单独的线程中执行 IO)。

如果配置可以更改,那么您可能需要创建一个 WS 并让手机通过 Internet 获取配置。要提供离线功能,您可以定期与远程数据库同步并将信息存储在设备中。RMS 是基于记录的,并且具有最大大小(取决于设备),但我认为这对您的情况来说是可以的。这种方法的缺点是至少应该进行第一次同步,因此没有数据计划的电话将被排除在外。

于 2013-09-16T12:12:53.553 回答
0

由于您的要求之一是离线进行,因此我建议使用 RMS。我对在 j2me 中将文件用于如此重要​​的数据(不确定现在是否更好)没有那么自信,因为它可能容易出错和文件损坏。

如果您要保存的数据量如您所说,数周为 7 行,数年为 365 行,那么 RMS 没有问题。

祝你好运!

于 2013-09-16T07:47:33.430 回答