我编写了一个AIR应用程序,可以从服务器下载视频和文档.视频在应用程序内部播放,但我希望用户能够在其本机应用程序中打开文档.
我正在寻找一种方法来提示用户在存储在应用程序存储目录中的本地文件上打开/另存为.我已尝试使用FileReference + URLRequest类,但这会引发一个异常,它需要一个远程URL.
我的最后一招只是将文件复制到桌面:\
据我所知,ActionScript中的var绑定是通过在var更改时自动触发的事件来执行的.我有几个问题:
编辑:
感谢Christophe Herreman的出色回答.但是,我从上面的问题中得到了一些后续内容.我想知道是否有人可以为我填补空白(我试着将这些问题编号为4,5,6,但出于某种原因它们出现了1,2,3!)
我已将-keep选项添加到编译器并查看生成的绑定代码.谁能解释一下如何应用这段代码?编译器似乎为每个类生成一个名为BindableProperty的类,其中包含getter和setter.这怎么折叠到我写的课上?该功能看起来有点像C#中的部分类 - 这是专门的幕后编译器功能,还是我可以自己使用的东西?
BindableProperty类仍然没有显式实现EventDispatcher,生成的类如何实现事件调度?
在问题3中,我询问了绑定到静态函数,但实际上我的意思是静态getter和setter函数.这似乎不被允许.
我正在通过Flex在AIR中开发一个应用程序,但我没有看到我在哪里遇到SQLite(我已经习惯了MySQL).参数有效,但仅限于某些情况.这部分是针对sql注入的内置卫生系统吗?谢谢你的帮助!
作品:
源码
"INSERT:Fields FROM Category",其中参数为:Fields ="*"
AS3
var statement:SQLStatement = new SQLStatement();
statement.connection = connection;
statement.text = "INSERT :Fields FROM Category";
statement.parameters[":Fields"] = "*";
statement.execute;
Run Code Online (Sandbox Code Playgroud)
不起作用(":"表中的SQL语法错误):
源码
"INSERT:Fields FROM:Table",其中参数为:Fields ="*"和:Table ="Category"
AS3
var statement:SQLStatement = new SQLStatement();
statement.connection = connection;
statement.text = "INSERT :Fields FROM :Table";
statement.parameters[":Fields"] = "*";
statement.parameters[":Table"] = "Category";
statement.execute;
Run Code Online (Sandbox Code Playgroud) 我有一个我一直在研究的flex/air应用程序,它使用在初始应用程序启动时创建的本地sqlite数据库.
我已经为应用程序添加了一些功能,在这个过程中我必须向其中一个数据库表添加一个新字段.我的问题是如何让应用程序创建一个位于已存在的表中的新字段?
这是创建表的行
stmt.text = "CREATE TABLE IF NOT EXISTS tbl_status ("+"status_id INTEGER PRIMARY KEY AUTOINCREMENT,"+" status_status TEXT)";
Run Code Online (Sandbox Code Playgroud)
现在我想添加一个status_default字段.
谢谢!
谢谢 - MPelletier
我添加了你提供的代码,它确实添加了字段,但是现在下次我重启我的应用程序时出现错误 - 'status_default'已经存在'.
那么我怎样才能在你提供的那一行中添加一些IF NOT EXISTS语句呢?
是否可以使用AS3或AIR创建纯文本文件?
示例:我想创建一个名为"MyTextFile.txt"的纯文本文件,让它包含"这是我的文本文件"的文本.并将其保存到我的桌面.
另一种选择是让文件已经存在于目录中,所以我只需要重写其内容 - 假设这样会更容易.
所有这些都应该作为后台进程发生,不会出现任何保存的拨号面板.
我已经尝试了一切,防火墙,重新安装等等.无论我做什么,我都无法让调试器连接.
我只是用Flex和Actionscript编写一个简单的Air应用程序.但任何类型的应用程序上的任何类型的调试都不起作用.我收到这条消息
Flash Builder调试器无法连接到正在运行的应用程序.
然后,当我再次尝试时,我得到这个消息
无法识别的Windows套接字错误:0:JVM_Bind
没有调试运行程序工作正常.
我试图理解Flash平台的整个混乱(主要是因为我理解被抛出的术语)到目前为止,我还无法弄清楚AIR和Flex SDK的确切关系.在没有真正查看SDK的情况下,我的理解是AIR可以让您开发Flash(即ActionScript,显然也是JavaScript/HTML)应用程序,这些应用程序可以由AIR运行时运行而无需浏览器(例如纯桌面或智能手机应用程序).Flex SDK似乎是类和其他API(类似于JavaFX?)的集合,以扩展"标准"Flash库.
现在,我已经下载了两个SDK的最新版本,显然,它并不那么简单.所以,首先我查看了AIR SDK(http://www.adobe.com/devnet/air/air-sdk-download.html,v3.4截至目前).据我所知,"adt"实用程序是AIR的主要部分,可以让您打包已完成的应用程序.但是,我不确定AIR SDK是否实际包含一个编译器 - 假设您有一堆ActionScript .as文件,并希望使用AIR SDK将它们转换为.swf或.air文件,这是否可能?
不幸的是,Flex SDK(http://www.adobe.com/devnet/flex/flex-sdk-download.html,v4.6截至目前)无助于混淆.它确实包括编译器和其他工具,但在其"bin"文件夹中,我还可以找到"adt"和"adl" - AIR工具!更重要的是,它还具有"AIR SDK license.pdf"和"AIR SDK readme.txt"文件; 从这些方面来看,Flex SDK似乎包含一些旧版本的AIR SDK版本2.
为了让事情更加混乱,我还在Adobe的网站上找到了"Flex和AIR®SDK的组合版本(Flex SDK 4.6.0.23201和AIR 3.4.0.2540 SDK)"(http://gaming.adobe.com/getstarted /).似乎这不仅仅是通过将AIR 3.4文件复制到Flex 4.6文件来创建的,而是将另一个项目添加到列表中.
所以,基本上,我想知道这两个(三个?)SDK之间的区别.我需要Flex实用程序来编译吗?为什么"纯"Flex SDK包含AIR的部分(?)?我可以将任何版本的AIR SDK复制到Flex SDK中,以便与FlashDevelop一起使用吗?
我正在Adobe Air制作一个小应用程序,我需要与Github Gist API进行交互.但是我有点卡住了.
如果您不熟悉Adobe Air,您仍然可以提供帮助,XMLHttpRequest
javascript对象可以执行跨域请求,因为没有这样的域.所以这里没有Adobe Air的具体内容.
在我被困的地方,我想我需要对自己进行身份验证然后进行POST.我只是不明白
随着围绕AIR 3中的本机扩展支持的所有新的炒作,我没有找到确认或否认可以在本机Android实现中包含和使用外部JAR的单一事物.
所有这些示例基本上都展示了嵌入内置Android API的能力.但是,如果有人想要使用数百个库中的一个使其更容易呢?当然看起来这应该是可能的.我将尝试概述我所做的事情,也许有人会发现一个缺陷:
"ActivityManager: Displayed com.me.androidapp/.AppEntry"
"mye_native: MyExtension.initialize", "mye_native: MyExtensionContext.createContext"
E dalvikvm: Could not find class 'com.thirdparty.SomeClass', referenced from method com.me.nativeExtentions.MyExtensionFunction.call
有任何想法吗?它似乎应该以这种方式工作.
我注意到的一件事是,当我从我的纯Java Android应用程序(也有第三方安卓库)中分离出APK和Dex时,看起来第三方的类已包含在其中(不仅仅是jar参考).当我使用我的Flex APK做同样的事情时,我发现只有我自己的Java类和Adobe的,而第三方无法找到我能看到的.
我在Adobe论坛上发布了这个,但我想我会试试SO智囊团.谢谢.
我正在寻找为我所拥有的Electron安装部署自动更新功能,但是我发现很难在网络上找到任何资源.
我之前使用Adobe Air构建了一个自包含的应用程序,编写更新代码似乎更容易,有效地检查了URL并自动下载并安装了跨Windows和MAC OSX的更新.
我目前正在使用电子样板来简化构建.
我有几个问题:
air ×10
apache-flex ×5
flash ×2
sqlite ×2
android ×1
api ×1
data-binding ×1
debugging ×1
electron ×1
field ×1
file ×1
flashdevelop ×1
flex-mobile ×1
flex3 ×1
github ×1
javascript ×1
macos ×1
plaintext ×1
sdk ×1
windows ×1