在 Flash builder 中,我正在努力解决从本地数据库中检索数据的基础知识。使用 Lita,我创建了一个 SQLite 数据库,其中包含位于“DAO”文件夹中的单个基本(项目)表。它旨在填充一个列表。我有两个问题:
- 如许多教程中所示,如何嵌入数据库(及其所有预先填充的数据)而不从头开始重新创建它?
- 出于原型设计的目的,如何在不创建许多其他类的情况下直接在列表中链接检索到单个 MXML 文件的数据(好的,在这种情况下,所需类的数量将受到限制),例如:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
title="HomeView" >
<fx:Script>
<![CDATA[
import flash.data.SQLConnection
import flash.data.SQLStatement;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import mx.collections.ArrayCollection;`
private function get myData():ArrayCollection
{
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = new SQLConnection();
stmt.sqlConnection.open(File.applicationStorageDirectory.resolvePath("dao/MyDatabase.db"));
stmt.text = "SELECT id, name FROM Item";
stmt.execute();
var result:Array = stmt.getResult().data;
if (result)
{
var list:ArrayCollection = new ArrayCollection();
list.source(result);
return list;
} else {
return null;
}
}
]]>
</fx:Script>
<s:List id="list" top="0" bottom="0" left="0" right="0"
dataProvider="{myData}" >
<s:itemRenderer>
<fx:Component>
<s:IconItemRenderer label="{myData.name}">
</s:IconItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:View>