gpt4 book ai didi

actionscript-3 - Adobe AIR Android FileStream 问题

转载 作者:行者123 更新时间:2023-12-04 15:19:23 24 4
gpt4 key购买 nike

我尝试在 上测试打击代码安卓设备,但我在文本字段中看不到任何数据。此代码在 上运行良好AIR桌面但在 安卓不。 AIR 之间有区别吗?文件流 上的功能桌面 安卓 ?什么是最好的 跨平台保存文件和读写的代码?

此代码适用于 Adob​​e Animate CC Android 模拟器 .

import flash.filesystem.*;

var prefsFile:File;
[Bindable] var prefsXML:XML;
var stream:FileStream;

function appStart():void
{
prefsFile = File.applicationStorageDirectory;
prefsFile = prefsFile.resolvePath("preferences.xml");
readXML();
}


function readXML():void
{
stream = new FileStream();
if (prefsFile.exists) {
stream.open(prefsFile, FileMode.READ);
processXMLData();
}
else
{
saveData();
}

}


function processXMLData():void
{
prefsXML = XML(stream.readUTFBytes(stream.bytesAvailable));
stream.close();
trace(prefsXML.Data1);
trace(prefsXML.Data2);
trace(prefsXML.Data3);
txt_D1.text = prefsXML.Data1;
txt_D2.text = prefsXML.Data2;
txt_D3.text = prefsXML.Data3;

}


function windowClosingHandler(event:Event):void
{
saveData();
}


function saveData():void
{
createXMLData();
writeXMLData();
}


function createXMLData():void
{
prefsXML = <preferences/>;
prefsXML.Data1 = 1;
prefsXML.Data2 = 2;
prefsXML.Data3 = 3;
}


function writeXMLData():void
{
var outputString:String = '<?xml version="1.0" encoding="utf-8"?>\n';
outputString += prefsXML.toXMLString();
outputString = outputString.replace(/\n/g, File.lineEnding);
stream = new FileStream();
stream.open(prefsFile, FileMode.WRITE);
stream.writeUTFBytes(outputString);
stream.close();
}

appStart();

最佳答案

这是正确的方法,我们将它用于 AIR 应用程序(桌面、Android、iOS)在设备/PC 上存储用户数据,File.applicationStorageDirectory也是。所以你的代码是跨平台的,如果它不能在 Android 上运行,你可能还有其他问题,但你的代码看起来不错。

读/写数据到File.applicationStorageDirectory您也不需要应用 list 中的任何显式权限。

关于actionscript-3 - Adobe AIR Android FileStream 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41955862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com