千家信息网

如何进行AIR for Android开发

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关如何进行AIR for Android开发,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Adobe发布mobile AIR
千家信息网最后更新 2026年10月31日如何进行AIR for Android开发

这篇文章将为大家详细讲解有关如何进行AIR for Android开发,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Adobe发布mobile AIR已经有一段时间了,但是移动设备的UI与控件与PC端截然不同,导致真正使用AIR技术开发的移动设备程序少之又少,而前段时间,Adobe终于发布了包括移动UI组件的Flex SDK "Hero" (就是以前的Slider),虽然只支持Android系统,但是我们可以看到电子市场上使用AIR技术开发的程序越来越多。本文就将以MP3电台为例,介绍使用Flex Hero 开发mobile AIR应用程序的一些方法和心得。

介绍移动应用程序

移动程序界面中有一个重要的概念:屏幕,如下图

在MP3电台这个程序中,选台界面和播放界面就是两个"屏幕",在PC端,这些操作是可以在一起进行的,可是由于移动设备屏幕大小的原因,无法塞在一个界面里。所以我们在选完台之后,整个屏幕都将转换为电台播放界面。Flex Hero中的View

在Flex "Hero"里,"屏幕"的概念叫做View。hero中关于移动平台的核心类如下:

其中,MobileApplication相当于桌面版本的Application,是整个程序的容器。ViewNavigator管理各个View的显示与切换,也包含顶部控制栏ActionBar。

ViewNavigator处理视图切换的方法:

navigator.pushView(view,data,transition=null);  navigator.popView(transition=null);

ViewNavigator.pushView方法用于转换到新的视图,例如,当用户在频道列表页面选择了一个频道时,我们可以执行

navigator.pushView(RadioPlay,{channel_item:channelList.selectedItem});

这样的话,就切换到了RadioPlay这个视图。这时,如果用户按下了android上的后退按钮,则Flex框架会自动执行navigator.popView操作,这样会回到上一个视图。当然,我们也可以捕获这个键盘事件,然后执行自定义代码。数据驱动的视图

this.addEventListener(KeyboardEvent.KEY_UP,function(e:KeyboardEvent){     if(e.keyCode == Keyboard.BACK){         e.stopPropagation();         //其他操作,例如存储数据等         //其他操作完毕         navigator.popView();     }   });

视图切换时,Flex默认会把上一个视图的UI销毁(可以通过设置destructionPolicy="none"来避免销毁),这样一来,我们回退到上一个视图的时候,就会丢失之前的UI状态,比如说频道列表的选中状态View包含一个属性data,当开发者使用pushView方法时的第二个参数data将被赋值到这个属性中。而每次用户按下机身上的返回按钮,Flex框架执行popView方法自动恢复历史记录时,也会把上一次的data属性重新放到View的构造方法中。可以看出,如果我们需要在界面切换时保存当前视图的所有状态,相关代码如下:

this.addEventListener(FlexEvent.VIEW_DEACTIVATE,saveState); private function saveState(event:Event):void{     this.data.selection = channelList.selectedIndex;     this.data.scrollPosition = channelList.dataGroup.verticalScrollPosition; }

这样,我们在离开频道列表页的时候,就会把当前列表的选中状态记录下来,在重新显示这个View的时候,我们可以再恢复回来:

private function restoreState():void{     if(!data){         data = new Object();     }     if(data.selection){         channelList.selectedIndex = data.selection;     }     if(data.scrollPosition){         channelList.dataGroup.verticalScrollPosition = this.data.scrollPosition;     } }

优化技巧与注意事项

Android上的AIR不会自动退出,也就是说,当用户按下home键或者后退到主屏幕时,AIR程序依然在运行。对于电台这样一个应用,后台运行是合乎情理的,但是如果想像传统程序一样,后退即退出的话,则需要额外做一些工作了:

if(Capabilities.cpuArchitecture=="ARM"){     NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate, false, 0, true);  }   private function handleDeactivate(event:Event):void{     NativeApplication.nativeApplication.exit(); }

AIR在一些设备上的动画运行效率比较低,我们可以给运动的元件设置cacheAsBitmapMatrix=true,将此元件交给GPU硬件渲染。这个属性和桌面版本的cacheAsBitmap的用法几乎完全一样,对于需要平移、缩放的显示对象,设置这个属性可以大大加快动画效率。

关于如何进行AIR for Android开发就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

程序 视图 移动 开发 屏幕 方法 界面 属性 切换 状态 用户 电台 设备 频道 时候 应用 运行 代码 元件 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南真二互联网科技有限公司 互联网巨头科技公司 没上市的科技互联网公司 深圳互联网科技公司 互联网 的科技创新 科技互联网公司logo 无锡溥仪互联网科技有限公司 互联网科技公司的市场部门 深圳前海聚择互联网科技有限公司 央行互联网金融科技公司 花神(南京)互联网科技有限公司 互联网科技商业 浙南科技城互联网大厦建设工程 互联网科技创新的路径 朱啸虎曾投资哪些互联网科技企业 互联网领先科技宣传片 上海乐五互联网科技有限公司 济南小医互联网科技有限公司招聘 长沙渺峰互联网科技有限公司 互联网科技大会大佬 河南云网互联网络科技有限公司 科技类互联网 亿账通互联网科技 互联网科技汛 互联网科技公司名称 宝灵互联网科技有限公司 上海互联网科技公司ppt 兰石爱特工业互联网科技分公司 唐山双旺合互联网科技产业园 10位科技互联网大佬
0