2

我有一个新的应用程序项目,并且在开始之前想知道什么是组织数据的好方法。

这个想法是一个提供每日问题的应用程序,每天的问题都不同。365 个问题可以存储在文本文件中,我一直在将 XML 文件加载到 Flash 中并显示结果。

将问题存储在一个简单的文本文件中并加载到 Flash(使用 URL Loader)或 XML 文件中会更好吗?

XML 文件可能有助于提供“日”信息,但可能有更好的方法让应用程序显示每天的正确问题。

我正在研究“问题 1”与“第 1 天”(年度)相吻合

这种方法是否有意义,或者是否有更好的方法让脚本可以处理问题?

4

2 回答 2

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());
于 2012-07-30T06:52:45.757 回答
1

您需要的一件事是找出一年中的哪一天。没有用于此的本机 Flash API,因此您必须自己动手。请注意,您需要 366 个问题才能让您的应用程序在闰年运行。

至于是使用文本文件还是 XML,这取决于您和您觉得更舒服的方式。AS3 的 XML API 很强大,如果您刚开始使用 Flash,这对您来说可能是一个不错的选择。

于 2012-07-30T06:48:25.987 回答