我目前正在开发一个Android日记/日记应用程序,允许用户在白天创建条目并存储它们。 为了实现这一点,我正在考虑每天都有一个文件夹,每个条目的每天文件夹中都有一个子文件夹。这可能表明更好:
day->日记帐分录 - >日记帐分录数据 - >该日的其他日记帐分录 - >日记帐分录数据 - >等
现在,每天都有一个文件夹,我已经在365个目录中了,可能还有更多。 这让我怀疑实现这么多子目录的可行性。
这有一点需要注意,我不会立即浏览每个目录,但最多可能需要31天才能在日历上显示。
最后一个问题是,我的应用程序会被放慢到忘记导航大量目录,还是我根本不用担心这个问题? 只是为应用程序制作SQL数据库解决方案让我退缩的是,我现在完全不知道SQL,并且不知道学习的容易/快速。
帮助/意见/想法都表示赞赏 谢谢!
答案 0 :(得分:0)
我假设您的意思是文件系统目录,例如,在SD卡上?如果是这样,恕我直言,你真的'不想那样做 - 我已经看到这种'归档'系统的例子由于复杂性而出现了可怕的错误。
我建议使用某种形式的简单存储,但使用某种形式的索引/编目系统,就像使用文件名的日期/时间字符串一样简单。
示例 - 假设日记帐分录是简单的文本文件,您可以使用文件名格式,例如YYYYMMDD_XXX.txt
,只需将所有文件保存到一个目录中。
在这种情况下,XXX将是来自001的数字字符 - > 999表示条目'号码',允许每天可能有999个日记帐分录(绰绰有余)。使用年 - 月 - 日(YYYYMMDD)格式将允许按照XXX加强的时间顺序对文件名字符串进行排序(在升序字符串排序操作中,“001”将在“002”之前)。它还允许进行通配符搜索(给定月份的所有日记帐分录文本文件将以“YYYYMM”开头。
以上是一个简单的例子,我可能至少更进一步,每天使用一个XML文件。格式如...
<journal date=20110213>
<entry number=001>
<data topic=My journey to work>On my way to work today blah...</data>
</entry>
<entry number=002>
<data topic=Morning meeting>Fell asleep, blah...</data>
</entry>
</journal>
然后我会从文件名中省略XXX,只使用YYYYMMDD.xml
。
好的,只是几个角度(我可以漫步,但我不会)。
你提到使用SQL数据库 - 一般来说,基本的SQL非常简单,但它可以像你准备好的那样复杂。根据您的要求,您可以使用具有相对较少列数的单个表,并且数据库引擎将为您处理大量的“归档”系统。我建议你先尝试一些入门的SQL教程,然后再决定采用哪种方式。