J2ME操纵数据的最佳方法?

时间:2013-09-10 15:18:47

标签: java java-me

我已经阅读了this帖子,这篇文章非常接近我的问题,我仍然没有找到我想要的内容。

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

应用程序尚未完成,因此我将尝试明确:

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

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

当我说'解析信息'时,我的意思是解析字符串,这很简单:

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

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

这里的目标是创建一个快速使用的灯(和离线,这是至关重要的)应用程序 正如您所看到的,这是一个开发101级别的应用程序,我的问题是:您认为这对于任何手机来说是否过于繁重?我问这个的原因是因为我希望我的应用能够在今天最多的手机中运行。

顺便说一句,您认为我应该使用数据库进行此类工作吗?我听到论坛周围的人谈论RMS,有些人说它有点受限,所以我只是保持不变。无论如何,txt文件的想法对于用户来说是最简单的,以防万一它是必要的......

提前致谢!

2 个答案:

答案 0 :(得分:2)

如果您的配置文件是只读的并且不会随时间变化,那么您可以将它们包含在jar中。您应该能够使用返回InputStream的Class.getResourceAsStream来读取它们。一个包含366行(记得闰年)和80列的ASCII文件大约是29KB,所以即使是10年前的手机也会在没有重大问题的情况下读取它(记得在单独的线程中执行IO)。

如果配置可能发生变化,那么您可能想要创建一个WS并让手机通过互联网获取配置。要提供脱机功能,您可以定期与远程DB同步并将信息存储在设备中。 RMS是基于记录的,并且具有最大大小(取决于设备),但我认为它适用于您的情况。这种方法的缺点是至少应该进行第一次同步,因此没有数据计划的电话将被遗漏。

答案 1 :(得分:0)

由于您的一项要求是脱机,我建议使用RMS。我不相信在j2me中使用这些重要数据的文件(不确定它现在是否更好),因为它可能容易出错和文件损坏。

如果您要保存的数据量与您说的一样,数周为7行,多年为365行,则RMS没有问题。

祝你好运!