我有一个新的应用项目,并且在开始之前想知道可能是组织数据的好方法。
这个想法是一个提供每日问题的应用程序,每天的问题都不同。 365个问题可以存储在文本文件中,我一直在将XML文件加载到Flash中并显示结果。
将问题存储在简单的文本文件中并加载到Flash(使用URL Loader)或XML文件中会更好吗?
XML文件可能有助于提供“日期”信息,但可能有更好的方法让应用程序显示每天的正确问题。
我正在研究'问题1'恰逢'第1天'(年度)
这种方法是否有意义,或者是否有更好的方法让问题可供脚本使用?
答案 0 :(得分:2)
XML可以使数据模型直观地实现您的目标。
<?xml version="1.0" encoding="UTF-8"?>
<questions>
<question day="1"><![CDATA[ <b>Question 1</b>: Lorem ipsum dolor sit amet. ]]></question>
<question day="2"><![CDATA[ <b>Question 2</b>: Consectetur adipiscing elit. ]]></question>
<question day="3"><![CDATA[ <b>Question 3</b>: Duis semper risus nec nisi elementum. ]]></question>
</questions>
在ActionScript中,获取当年的当前日期可以实现为:
public static function getDayOfTheYear(d:Date):uint {
var firstDay:Date = new Date(d.getFullYear(), 0, 1);
return (d.getTime() - firstDay.getTime()) / 86400000;
}
加载XML后,您可以使用e4x获取当前问题节点:
var now:Date = new Date();
var day:uint = getDayOfTheYear(now);
/* Assuming you loaded XML to a variable: var xml:XML */
var question:XMLList = xml.question.(@day == day);
trace(question.valueOf());
答案 1 :(得分:1)
您需要的一件事是找出一年中的哪一天。没有本机Flash API,因此您必须自己动手。请注意,您需要366个问题才能使您的应用程序在闰年上运行。
至于是否使用文本文件或XML,这取决于您和您感觉更舒服的内容。 AS3的XML API非常强大,如果您刚开始使用Flash,这对您来说可能是个不错的选择。