flash,AIR的本地存储初步了解

用AS3+Flash+FlashBuilder开发AIR 中文官方文档有: https://help.adobe.com/zh_CN/air/build/WS2d8d13466044a7337d7adee012406959c52-8000.htmlhttps://help.adobe.com/zh_CN/air/build/index.html  安装AIR SDK 在 Windows 中安装 AIR SDK安装之前需要安装java的jdk,安装完之后运... 阅读详情
呃,只是今天在做手机上的air程序的存储,所以稍微看了下flash,air的存储本地数据方面的知识。

存储本地数据的方法其实有不少,最简单的就是用shareObject了,的确是最简单的了,基本属于零基础就能用的了。shareObject直译为共享对象(有时称为“Flash cookie”)是一个数据文件,可以将数据存储到用户的本地硬盘上,然后在同一会话期间或以后的会话中调用这些数据。各应用程序仅能访问它们自己的 SharedObject 数据,而且仅当它们在同一域中运行时才能访问。不会将这些数据发送到服务器,并且在其他域中运行的其他应用程序不能访问这些数据,但同一域中的应用程序可以访问这些数据。

共享对象有以下属性:
• 默认情况下不会到期。
• 默认情况下,每个共享对象的大小限制为 100 KB。
• 可以存储简单的数据类型(例如字符串、数组和日期等)。
• 存储在应用程序指定的位置(位于用户的主目录中)。
• 永远不会在客户端和服务器之间传输。
可以看出,ShareObject的限制就是单个文件大小不能超过100k,但是这些对于存储小的数据也绰绰有余了。另外,假如保存成功的话共享对象的大小将超过 100 KB,则 Flash Player 将显示“ 本地存储区” 对话框,用户可在该对话框中允许或拒绝为请求访问的域增加本地存储区。

ShareObject的方法有
clear()清除数据,删除ShareObject;
flush()立即将数据刷入文件;
getLocal()返回ShareObject的引用,不存在的话就新建一个(很方便)
getSize()获取存储数据的文件大小

使用的方法如下:

public var mySO:SharedObject;
mySO = SharedObject.getLocal("preferences");

这样就可以在默认的用户主目录的子目录下创建一个叫做preferences.sol的文件了,里面存有数据
这个目录在不同系统下会有变化(但是一般的话,其实不用太过关注...因为这一切都是自动的)
So.data.first = "animal";这样就可在first上存一个"animal"值了
读的时候直接用So.data.first就可以了


其他的还有个就是数据加密的问题,这里需要注意的一个是在用air开发Android应用时,Android 操作系统为每个应用程序分配一个单独的用户 ID。应用程序只能访问自己的文件和在公共位置创建的文件(如移动存储卡)。注意,在 Android 的“ 根” 设备上,使用根权限运行的应用程序可以访问其他应用程序的文件。因此,在根设备上,加密的本地存储不提供与非根设备上级别一样高的数据保护。


另外再说一个air里的File类,
File 对象表示文件或目录的路径。这可以是现有的文件或目录,也可以是尚不存在的文件或目录(例如,它可以表示希望创建的文件或目录的路径)。
File 类包含一些静态属性,供引用常用目录位置。这些静态属性包括:
•File.applicationStorageDirectory — 每个已安装的 AIR 应用程序独有的存储目录
•File.applicationDirectory — 安装应用程序的只读目录(其中包括所有已安装的资源)
•File.desktopDirectory — 用户的桌面目录
•File.documentsDirectory — 用户的文档目录
•File.userDirectory — 用户目录
有了这些属性,就可以不用担心因为使用了文本常量形式的本机路径(如"C:\Documents and Settings\test.txt"),结果只在一个平台上有效的问题了。
跨平台的时候效果很好,使用示例如下,此代码会指向应用程序存储目录中的 preferences.xml 文件
var prefsFile:File = File.applicationStorageDirectory;
  prefsFile = prefsFile.resolvePath("preferences.xml");
但是要注意的一点是File.applicationDirectory是个只读目录,所以不能直接利用这个地址写入,但是用一个new之后,问题就可以得到解决

var file:File = new File(File.applicationDirectory.resolvePath("preferences.xml").nativePath);

下面这个例子演示了如何读入本地的xml数据文件,修改其中数据的过程。

var countFile:File = new File(File.applicationDirectory.resolvePath("Levels/levelCount.xml").nativePath);
			
//open for the first time
var fileStream:FileStream = new FileStream();
fileStream.open(countFile,FileMode.READ);
			
var content:XML = new XML(fileStream.readUTFBytes(fileStream.bytesAvailable));
content.cnt=(currentLevel+1).toString();
			
//open for the second time in order to write data
fileStream.open(countFile,FileMode.WRITE);
fileStream.writeUTFBytes(content.toXMLString());
fileStream.close();


另外的话,其实还有很多种方法(如在 AIR 中使用本地 SQL 数据库),每一种深入的话也都可以很深入...
虽然现在已经在使用的是这么用,不过因为理解的不是很深,所以有些地方的限制还不太了解...以后再看看有没有机会加深理解来修正,更新笔记吧~


使用flash air开发应用 由于使用flash as3生成的swf由于安全问题不能和本地文件系统进行交互,在网上查了一下,必须使用air开发,才有文件交互的类,所以简单介绍一下用flash cs6创建air。 首先我们要知道air是可以用actionScript3.0开发的,也就是说和原来的开发方式相同。剩下的就好办了,我们只需要知道如何创建和打包air就可以了。 1.我们新建一个test.fla,选中AIR. 阅读详情

相关推荐

FlashAir实现本地文件上传功能

本文还有配套的精品资源,点击获取 简介:“FlashAir本地文件上传”利用Adobe Flash Air平台模拟Web表单的multipart/form-data上传方式,使得本地文件能上传到远程服务器。这一技术对于开发需要用户交互式上传文件的应用程序尤为有用,如照片分享、文档共享等。开发者需要自行编写服务端接收和解析上传文件的代码,通常使用PHP、Java、Python...

weixin_29041443的博客 2148

Adobe AIR是什么?能做什么?

Adobe AIR是和Flash制作软件相依靠发布的开发平台,通过AIR平台可以开发特殊需求的桌面软件,因为普通的AS脚本开发出来的swf是用于网页,而普通的打包exe文件,也只是用FlashPlayer播放器直接播放swf文件。所以是无法对系统文件直接进行操作的,比如读取写入文件这样的操作,就只能通过第三方编程语言实现。而使用AIR平台则可以直接对系统文件进行操作。一句话,AIR平台相对于普通的exe打包,有更高的系统权限。

FlashASer的博客 3080

Adobe AIR平台的Flash地图编辑器

Flash提供了一套丰富的图形编辑工具箱,为设计师提供了灵活的创意空间。以下是几个核心工具的详细介绍:选择工具:用于选择和移动对象。可调整对象大小,旋转或倾斜对象,以及更改对象的堆栈顺序。铅笔工具和刷子工具:用于自由手绘图形。铅笔工具用于绘制直线和曲线,而刷子工具则用于创建模糊边界的效果。文本工具:允许设计师在舞台上输入静态或动态文本,并可以将文本与图形结合。橡皮擦工具:可以擦除舞台上的元素,或修改形状和线条的细节。

weixin_33072399的博客 736

flash air java_flashair安卓版

flashair安卓版是东芝为旗下的SD存储卡产品FlashAir提供的一款手机客户端软件,通过这款软件用户可以用安卓设备简单连接到FlashAir,可以显示FlashAir存储卡的文件和文件夹。flashair安卓版还可以对想要下载到安卓设备的照片和文件选择多张或全选后一起下载。flashair安卓版功能:1、点选FlashAir应用程序图标即可自动设置无线连接。(仅适用于安卓设备)2、如果安卓...

weixin_29471009的博客 2476

Flash开发AIR教程

开发AIR不再是Flex的专利,教你用Flashcs3或cs4开发AIR

flash air中文帮助文档

flash air中文的帮助文件,里面有完成flash air项目开发的必要内容。

AIR文件操作(一):AIR文件基础

AIR允许我们开发与文件系统协同工作的应用程序我们可以使用Adobe? AIR? 文件系统API提供的类访问主机的文件系统。使用这些类,可以访问、管理目录与文件,建立目录与文件,向文件写数据等等。我把与文件系统协同工作的内容总结为AIR文件操作三部分:AIR文件基础(下文) 使用File对象操作文件和目录使用FileStream对象读写文件相关类的语言参考flash.filesystem.Fileflash.filesystem.FileStreamflash.filesystem.FileMode 下面进

txiejun的专栏 1077

flashair电脑版v3.00官方最新安装版

flashair电脑版是在电脑上使用flashair存储卡必装的一款软件,这款软件可以让用户对flashair卡进行设置、软件更新、初始化。flashair电脑版可通过无线LAN在电脑网络驱动器上查看FlashAir里的文件。可以选择数个照片或文件在电脑上读取,也可以同时在电脑上读取所有内容。 flashairtool安装方法: 双击下载好的“FlashAir.exe”文件,将启动安装向导。如

Air、Flash、Flex 等的区别

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34150503的博客 261

AI驱动的数据完整性:ECC到S/4HANA迁移

在SAP ECC到S/4HANA的迁移过程中,数据完整性验证是最复杂且关键的挑战之一。本文介绍了一个全面的AI驱动的端到端数据完整性框架,用于对账事务数据并验证数百万条主数据记录和事务记录的完整性。该框架结合了模式映射、自然语言提示到SQL生成、基于LLM的解决方案、大规模数据对账的数据完整性工具、基于云的测试数据管理以及实时Power BI仪表板,为开发者提供了一个可重复、可扩展的工作流程,确保ERP迁移过程中的数据质量。

简简单单Onlinezuozuo 1172

手把手教你搞定MT6701磁编码器的SSI通信与CRC-6校验(附避坑代码)

本文详细介绍了MT6701磁编码器的SSI通信与CRC-6校验的实现方法,包括硬件连接、时序配置、数据读取和专用CRC-6算法。通过提供避坑代码和常见问题解决方案,帮助开发者快速掌握磁编芯片的调试技巧,确保通信稳定可靠。

weixin_30872337的博客 218

flash开发环境 Flash Flex AIR AS3

本文详细介绍了 Flash、Flex、AS3、AIR 的关系和区别。希望对初学者有帮助。   AS3    ActionScript 通常简称为AS,它是Flash 平台的语言。AS编写的程序,最终可以编译成SWF、SWC。SWF 就是我们常说的Flash 动画。但是现在SWF 已经不仅仅是动画,而是RIA 的载体。ActionScript 有3个版本,分别是1.0版(AS1),2.0

sun_shine_的专栏 1743

到底什么是电源的斜波补偿,电源芯片CS引脚作用,一文讲清楚!

上文有提到电流环,其实电流环再细分也有很多模式,用的最多的是峰值电流模式峰值电流模式调节工作原理如下:(1)当输出负载增大时,输出电压降低,因此,Vc 增大,线性增加的电感电流只有升高到更大的值才能使 PWM 电流比较器翻转,开关管导通的时间增长,占空比增加,输入功率增加,因此输出电压增加,当输出电压增加到调节的范围内时,系统保持平衡。

jwgdhuwdhg的博客 1万+

了解AIR—(附一些有趣的AIR程序)

AIR 是什么 AIR(Adobe Integrated Runtime)是Adobe公司推出的一个跨操作系统的运行平台,前身名为Apollo。 通过AIR平台,开发者可以将现有的Flash、HTML、Ajax、Flex、JavaScript等Web技术结合在一起开发在桌面上使用的RIA(Rich Internet Applications,丰富互联网应用程序),比如在...

diaoyan8513的博客 337

ESP32 TWAI CAN库实战:从零构建CyberGear微电机控制框架

本文详细介绍了如何利用ESP32的TWAI控制器和Arduino环境,从零构建一个面向对象的CyberGear微电机控制框架。该框架将复杂的CAN通信协议封装为简洁的API,开发者无需深究底层细节,即可轻松实现电机的速度、位置和扭矩控制,大幅简化机器人关节、云台等项目的开发流程。

oil88的博客 499

VS2022如何兼容老项目?.NET Framework 4.0/4.5安装避坑指南

本文提供了在Visual Studio 2022中兼容和维护.NET Framework 4.0/4.5等老旧项目的完整解决方案。针对VS2022无法直接识别旧框架的核心问题,文章详细剖析了原因,并重点推荐通过官方NuGet包安全获取引用程序集的方法,给出了从下载、解压到部署至标准目录的详细步骤。同时,文章还深入探讨了项目文件格式过旧、NuGet包还原失败等进阶问题的排查与解决策略,旨在帮助开发者高效、稳定地在现代开发环境中维护历史代码库。

weixin_27734811的博客 514

升级Flash Builder 4.6中的Flash Player和AIR版本

http://www.iyoya.com/2012/06/27/upgrade-flash-builder-flashplayer-version.html Adobe自发布Flash Builder 4.6后,就暂停了Flash Builder新版本的发布。但AIR和FlashPlayer版本仍然保持不断的更新。在下载新的AIRSDK并覆盖到Flash Builder 4.6 sdks目录

linking530的专栏 2037

Spine换装系统深度优化:从局部换肤到动态合批的进阶之路

本文深入探讨了Spine换装系统的性能优化策略,从局部换肤到动态合批的进阶技术。通过分析传统方案的性能瓶颈,提出动态合批、GPU Instancing等高级优化方法,显著降低Draw Call和内存占用,提升游戏性能。适用于MMO和大型游戏开发,帮助技术美术和工程师突破大规模换装场景的性能限制。

vulkan6gpu的博客 553

flash、flex builder、flash builder、 air的关系

flash VS flex builder flash被adobe收购的时候是flash8,已经可以AS2面向对象了。 而被adobe收购后,adobe准备把flash打造成一个开发工具。就比如JBUILDER、VS、那样,所以,有了flex Builder ,从字面上去理解

namehzf的专栏 4268

精通DC-DC变换器:Boost升压电路全解析

Boost升压变换器是一种将低直流电压转换为高直流电压的常用电路。其核心工作原理是通过电感储能:开关导通时电感充电,关断时电感与电源串联向负载供电。关键公式表明输出电压Vo=Vi/(1-D),占空比D越大,升压比越高。变换器工作时会产生电感电流纹波和输出电压纹波,需合理选择电感和电容参数。开关管和二极管需承受完整的输出电压,对元器件选型要求较高。理解这些原理是设计高效升压电源的基础。

2511_92918351的博客 3706

【ESP32设备通信】-LoRa通信

在本文中,我们将使用 Arduino IDE 将 ESP32 与 LoRa SX1278 (Ra-02) 模块连接起来。 我们将创建一个真实的示例项目,通过 LoRa 无线打开/关闭 LED 进行演示。

视觉与物联智能 1890

Flex,Flash和AIR的关系?

一开始我也被这几个概念给搞糊涂了,特别是在前面写了两篇文章《Silverlight与Flash的一点不同》之后,收到了一些人的疑问。其中就有一条,Silverlight应该跟Flex比较,而不是Flash。 直到我看了Adobe的官方介绍之后,这才明白过来。 原来Flex只是一个开源的类库,简单的可以认为是通用组件库。Flex编译出来的结果即SWF文件(类似二进制可执行文件),可以运行在Flas

optman的专栏 4320

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

手机游戏最新技术选型之Flash AIR

文章不错,自己留着慢慢看. 相信大家应该对Flash比较了解,但对于Flash AIR可能就不是那么熟悉了,尤其前阵子Adobe宣布将移动版Flash Player停止维护及开发,就让大家误认为Adobe Flash将退出移动平台。 但实际情况又是如何的呢? Flash 并不只有Flash Player、Flash IDE等一些大家耳熟能详的产品,实际上“Flash平台”是一个统

jacklce的专栏 2696

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Flash AIR)AIR操作zip解压文件到指定目录下

延续前些日子的问题,我用AIR开发一个断点续传的工具(好像没贴博客上,稍后放出)。我用这个AIR工具下载了一个zip文件,当我下载完成后,我希望通过AIR控制其自动解压压缩包内的文件到我指定的目录下。 这需要用到as3操作zip压缩包数据的方法。 我在网络上搜索了一下前人的操作zip相关类包,比如ZIPArchive、fzip、ZIPer(Y.Boy)、Fzlib,发现这些类包虽然定义了比如读

linking530的专栏 1614

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用Flash air操作本地文件

文件操作类 Flash AIR提供了让您能用来访问、创建、管理文件与目录的类。这些类被放置在flash.filesystem包中,也就是下面那三个类: 类 描述 File File对象代表一个文件或目录的路径。您可以用file对象建立一个指向文件或目录的指针,以作用于文件或目录。 FileMode FileM

l-jobs的专栏 2833

注意!低功耗Air201定位模组使用SPI读写外部Flash,看完就会~

大家好,今天将教大家通过Air201+扩展板读写外部flash的演示,教你使用SPI示例,可根据实际需求灵活应用。一起学起来吧~

2201_75412299的博客 1158
上一篇: as3中无法访问空对象引用的属性或方法的问题
下一篇: 小白笔记...
EooSc
博客等级 码龄14年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值