我正在使用Flash和ActionScript 3编写移动应用程序,我希望使用后端数据库填充页面。
这是一张图片,解释了我想要填充的内容。
我在ActionScript中创建了这个页面,并从C库中调用了一个图像,然后我为A,B和D创建了一个动态文本字段。
但是,我希望为15辆不同的汽车(G Wagon只是其中之一)中的每一辆车单独“加载”信息,然后车辆选择屏幕将带您进入此页面。
我可以访问一个我可以使用的数据库但是我处于初级水平并且不知道1.如何将我想要填充的信息填充到数据库中2.如何将数据库连接到我的数据库应用
因此,在原始图像中,有4位信息将从数据库中提取到应用程序。这些屏幕中有15个每个都有不同的图像和信息。
如果有人能给我一些帮助,我会非常感激!!
谢谢!
以下是我目前用于构建上述屏幕截图的代码。
package com.james.mercedes //Location of the package!
{
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.display.StageQuality;
import flash.display.SimpleButton;
import flash.events.Event;
import flash.events.TextEvent;
import flash.text.*;
//import assets from the library
import Background;
import CarImage;
import BackButton;
import CarName;
import CarDescription;
import InformationTable;
//import CarNameText;
//import CarDescriptionText;
//import InformationTableTitleText;
//import classes in our package
//import com.james.mercedes;
import flash.events.MouseEvent;
//Background color of the stage
[SWF(backgroundColor="0x000000")]
//chosen the actionscript file
public class carInfo extends MovieClip
{
//make an instance of the asset
private var background:MovieClip = new Background();
private var carImage:MovieClip = new CarImage();
private var backButton:MovieClip = new BackButton();
private var carName:MovieClip = new CarName();
private var carDescription:MovieClip = new CarDescription();
private var informationTable:MovieClip = new InformationTable();
//private var carNameText:MovieClip = new CarNameText();
//private var carDescriptionText:MovieClip = new CarDescriptionText();
//private var informationTableTitleText:MovieClip = new InformationTableTitleText();
var CarNameText: TextField = new TextField;
//main file to set up application
public function carInfo()
{
//wait for the stage to load before doing any calculations - good practice
addEventListener( Event.ADDED_TO_STAGE, init )
}
function init( e:Event ):void
{
//trace( " Here " );
//setup stage for mobile device
stage.align = StageAlign.TOP_LEFT;
//doesn't shrink or enlarge (no_scale)
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.quality = StageQuality.HIGH;
//call upon a public class of static variables ( refer to folder structure to locate Constants.as )
stage.stageWidth = Constants.SCREEN_WIDTH;
stage.stageHeight = Constants.SCREEN_HEIGHT;
//add the linked instance from library to the stage
addChild ( background );
addChild ( carImage );
addChild ( backButton );
addChild ( carName );
addChild ( carDescription );
addChild ( informationTable );
addChild ( carNameText );
addChild ( carDescriptionText );
addChild ( informationTableTitleText );
//scale accordingly before positioning it
//background.scaleX *= Constants.SCREEN_SCALE;
//background.scaleY *= Constants.SCREEN_SCALE;
//position to a fixed x and y
background.x = 0;
background.y = 0;
carImage.x = 0;
carImage.y = 0;
backButton.x = 18.30;
backButton.y = 19.90;
carName.x = 194.55;
carName.y = 378.85;
carDescription.x = 12.55;
carDescription.y = 432.65;
informationTable.x = 47.55;
informationTable.y = 833.65;
carNameText.x = 204.90;
carNameText.y = 370.40;
carDescriptionText.x = 43.85;
carDescriptionText.y = 453.90;
informationTableTitleText.x = 168.85;
informationTableTitleText.y = 806.20;
}
}
}
答案 0 :(得分:0)
通常,app(任何AIR或swf应用程序)都可以通过常规表单POST(如html表单)将数据发送到后端。该应用程序还可以加载php页面并阅读其内容。因此,应用程序将数据POST到php页面并加载其响应(XML)。您应该始终使用XML将数据从后端发送到应用程序 - 封装它们(RESTful)。
或者您可以在url(querystring)中将数据传递给PHP并加载响应。
示例:getCars.php?sMake = Ford = sModel = Explorer - getCars.php可以使用sMake和sModel查询并在xml中写入结果。该应用程序加载xml。
所以你的xml看起来像是:
<items>
<item>
<itemName>![CDATA[<G Wagon]]></itemName>
<itemDescription><![CDATA[The Mercedes-Benz G-Class or ...]]></itemDescription>
<itemPic>![CDATA[../images/pic_g_wagon.jpg]]></itemPic>
</item>
</items>
您可以找到大量代码示例来完成此操作,例如编写和解析XML或使用php处理POST。
republicofcode.com提供了有关XML解析等基础知识的精彩教程。
gotoandlearn.com有更高级别的视频教程。