国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

初探AIR for Android開(kāi)發(fā)

移動(dòng)開(kāi)發(fā) Android
Adobe發(fā)布mobile AIR已經(jīng)有一段時(shí)間了,本文就將以MP3電臺(tái)為例,介紹使用Flex Hero 開(kāi)發(fā)mobile AIR應(yīng)用程序的一些方法和心得。

Adobe發(fā)布mobile AIR已經(jīng)有一段時(shí)間了,但是移動(dòng)設(shè)備的UI與控件與PC端截然不同,導(dǎo)致真正使用AIR技術(shù)開(kāi)發(fā)的移動(dòng)設(shè)備程序少之又少,而前段時(shí)間,Adobe終于發(fā)布了包括移動(dòng)UI組件的Flex SDK “Hero” (就是以前的Slider),雖然只支持Android系統(tǒng),但是我們可以看到電子市場(chǎng)上使用AIR技術(shù)開(kāi)發(fā)的程序越來(lái)越多。本文就將以MP3電臺(tái)為例,介紹使用Flex Hero 開(kāi)發(fā)mobile AIR應(yīng)用程序的一些方法和心得。

介紹移動(dòng)應(yīng)用程序

移動(dòng)程序界面中有一個(gè)重要的概念:屏幕,如下圖

屏幕示意

在MP3電臺(tái)這個(gè)程序中,選臺(tái)界面和播放界面就是兩個(gè)“屏幕”,在PC端,這些操作是可以在一起進(jìn)行的,可是由于移動(dòng)設(shè)備屏幕大小的原因,無(wú)法塞在一個(gè)界面里。所以我們?cè)谶x完臺(tái)之后,整個(gè)屏幕都將轉(zhuǎn)換為電臺(tái)播放界面。Flex Hero中的View

在Flex “Hero”里,“屏幕”的概念叫做View。hero中關(guān)于移動(dòng)平臺(tái)的核心類如下:

類示意圖

其中,MobileApplication相當(dāng)于桌面版本的Application,是整個(gè)程序的容器。ViewNavigator管理各個(gè)View的顯示與切換,也包含頂部控制欄ActionBar。

ViewNavigator解析

ViewNavigator處理視圖切換的方法:

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

ViewNavigator.pushView方法用于轉(zhuǎn)換到新的視圖,例如,當(dāng)用戶在頻道列表頁(yè)面選擇了一個(gè)頻道時(shí),我們可以執(zhí)行

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

這樣的話,就切換到了RadioPlay這個(gè)視圖。這時(shí),如果用戶按下了android上的后退按鈕,則Flex框架會(huì)自動(dòng)執(zhí)行navigator.popView操作,這樣會(huì)回到上一個(gè)視圖。當(dāng)然,我們也可以捕獲這個(gè)鍵盤事件,然后執(zhí)行自定義代碼。數(shù)據(jù)驅(qū)動(dòng)的視圖

  1. this.addEventListener(KeyboardEvent.KEY_UP,function(e:KeyboardEvent){ 
  2.     if(e.keyCode == Keyboard.BACK){ 
  3.         e.stopPropagation(); 
  4.         //其他操作,例如存儲(chǔ)數(shù)據(jù)等 
  5.         //其他操作完畢 
  6.         navigator.popView(); 
  7.     }  
  8.  }); 

視圖切換時(shí),F(xiàn)lex默認(rèn)會(huì)把上一個(gè)視圖的UI銷毀(可以通過(guò)設(shè)置destructionPolicy=”none”來(lái)避免銷毀),這樣一來(lái),我們回退到上一個(gè)視圖的時(shí)候,就會(huì)丟失之前的UI狀態(tài),比如說(shuō)頻道列表的選中狀態(tài)View包含一個(gè)屬性data,當(dāng)開(kāi)發(fā)者使用pushView方法時(shí)的第二個(gè)參數(shù)data將被賦值到這個(gè)屬性中。而每次用戶按下機(jī)身上的返回按鈕,F(xiàn)lex框架執(zhí)行popView方法自動(dòng)恢復(fù)歷史記錄時(shí),也會(huì)把上一次的data屬性重新放到View的構(gòu)造方法中。可以看出,如果我們需要在界面切換時(shí)保存當(dāng)前視圖的所有狀態(tài),相關(guān)代碼如下:

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

這樣,我們?cè)陔x開(kāi)頻道列表頁(yè)的時(shí)候,就會(huì)把當(dāng)前列表的選中狀態(tài)記錄下來(lái),在重新顯示這個(gè)View的時(shí)候,我們可以再恢復(fù)回來(lái):

  1. private function restoreState():void{ 
  2.     if(!data){ 
  3.         data = new Object(); 
  4.     } 
  5.     if(data.selection){ 
  6.         channelList.selectedIndex = data.selection; 
  7.     } 
  8.     if(data.scrollPosition){ 
  9.         channelList.dataGroup.verticalScrollPosition = this.data.scrollPosition; 
  10.     } 

優(yōu)化技巧與注意事項(xiàng)

Android上的AIR不會(huì)自動(dòng)退出,也就是說(shuō),當(dāng)用戶按下home鍵或者后退到主屏幕時(shí),AIR程序依然在運(yùn)行。對(duì)于電臺(tái)這樣一個(gè)應(yīng)用,后臺(tái)運(yùn)行是合乎情理的,但是如果想像傳統(tǒng)程序一樣,后退即退出的話,則需要額外做一些工作了:

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

AIR在一些設(shè)備上的動(dòng)畫運(yùn)行效率比較低,我們可以給運(yùn)動(dòng)的元件設(shè)置cacheAsBitmapMatrix=true,將此元件交給GPU硬件渲染。這個(gè)屬性和桌面版本的cacheAsBitmap的用法幾乎完全一樣,對(duì)于需要平移、縮放的顯示對(duì)象,設(shè)置這個(gè)屬性可以大大加快動(dòng)畫效率。

責(zé)任編輯:佚名 來(lái)源: baiduux
相關(guān)推薦

2013-05-14 09:54:27

Android開(kāi)發(fā)開(kāi)源開(kāi)發(fā)環(huán)境

2012-02-28 13:52:45

Adobe AIRAndroidFlash

2009-10-30 10:45:45

ScalaEclipseAndroid

2013-05-03 15:06:08

AIR移動(dòng)應(yīng)用Android開(kāi)發(fā)

2013-05-03 15:17:59

Android開(kāi)發(fā)Android SDK

2013-05-14 11:18:24

AIR AndroidSwipe手勢(shì)

2013-05-14 09:57:37

2010-08-11 10:58:06

AndroidAndroid NDK

2011-11-16 16:21:09

AdobeAIR

2013-05-14 10:37:10

AIR Android設(shè)置訪問(wèn)權(quán)限

2013-05-14 11:16:26

AIR Android旋轉(zhuǎn)手勢(shì)

2013-05-14 10:27:46

Android開(kāi)發(fā)設(shè)置程序?qū)傩?/a>

2013-05-14 10:39:27

AIR Android打包APK文件

2013-05-14 10:56:45

AIR Android多點(diǎn)觸摸

2017-01-15 18:32:39

Openresty架構(gòu)性能

2012-07-09 10:22:28

Mono for An

2013-05-14 10:10:28

Android開(kāi)發(fā)棋子類Grid

2013-05-14 10:05:10

Android開(kāi)發(fā)游戲設(shè)計(jì)

2013-05-14 09:50:44

Android開(kāi)發(fā)Flash Build

2013-05-14 11:04:58

AIR AndroidTouchEvent類
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲成人综合视频| 在线亚洲一区二区| 91超碰rencao97精品| 国产私拍福利精品视频二区| 五月天国产精品| 免费高清成人| 99精品欧美一区| 国产一区 在线播放| 久久激情中文| 国产精品视频在线免费观看| 日韩欧美二区| 国产精品aaaa| 希岛爱理av免费一区二区| 精品国产一区二区三区久久久狼 | 亚洲地区一二三色| 久久国产乱子伦免费精品| 激情图区综合网| 视频在线99| 日韩专区在线视频| 色婷婷精品国产一区二区三区| 欧美亚洲专区| 日本一区高清不卡| 欧美bbbbb| 一级黄色录像免费看| 精品在线一区二区三区| 国产一区二区三区免费不卡| 99精品国产在热久久婷婷| 国产伦精品一区二区| 亚洲少妇诱惑| 中文字幕一区二区三区四区五区六区 | 国产一区二区三区免费不卡| 亚洲手机在线| 免费观看成人高| 视频在线观看国产精品| 亚洲国产成人不卡| 国产传媒日韩欧美成人| av免费观看国产| 国产亚洲精品资源在线26u| 黄色网战入口| 五月婷婷激情综合| 国产在线观看免费麻豆| 精品奇米国产一区二区三区| 蜜桃视频在线观看播放| 色吧影院999| 国产精品极品在线观看| 成人免费福利视频| 日韩精品乱码免费| 国产精品无码av在线播放| 亚洲乱码精品一二三四区日韩在线| 在线国产一级| 亚洲黄色片网站| 亚洲精品福利| 99re在线观看视频| 国产suv一区二区三区88区| 亚洲久久中文字幕| 欧美无砖砖区免费| 最新日韩一区| 成人一区二区电影| 国产一区二区三区在线观看精品| 最新中文字幕2018| 欧美熟乱第一页| 神马电影网我不卡| 国产成人久久久精品一区| 久久九九电影| 中文字幕 91| 欧美喷潮久久久xxxxx| 国产激情欧美| 91色精品视频在线| 成人午夜av在线| 全色精品综合影院| 夜夜嗨av一区二区三区四区| 精品成av人一区二区三区| 午夜精品区一区二区三| 国产精品激情偷乱一区二区∴| 欧美日韩欧美| 欧美国产日韩一区二区在线观看| 国产精品v日韩精品v欧美精品网站 | 先锋在线亚洲| 国产精品―色哟哟| 69av二区| 2023国产精品| 久久免费高清视频| 欧美黄色录像| 91久久在线播放| 国产精品国产三级国产aⅴ原创 | 农村少妇一区二区三区四区五区| 国产精品丝袜高跟| 成人免费观看视频| 97在线日本国产| 国产亚洲精品久久久久婷婷瑜伽| 欧美激情国产精品日韩| 欧美一级午夜免费电影| 欧美禁忌电影| 男人添女荫道口图片| 91精品国产综合久久福利软件| 亚洲激情77| 国产综合免费视频| 精品国产伦一区二区三区观看方式 | 成人免费观看视频| 在线观看麻豆| 欧美劲爆第一页| 国产一区二区按摩在线观看| 国产福利小视频在线观看| 亚洲18私人小影院| 成人av动漫在线| av老司机在线观看| 国产日韩精品推荐| 亚洲va国产天堂va久久en| 日本一区二区三区中文字幕| 日本不卡在线播放| 色哟哟一区二区三区| 一区三区在线欧| 成人免费毛片播放| 宅男66日本亚洲欧美视频| 日韩精品国产精品| 黄色av电影在线观看| 91久久精品www人人做人人爽| 一区二区三区四区五区视频在线观看 | 色999日韩自偷自拍美女| 欧美日韩国产一区在线| 久久男人av| 无码精品国产一区二区三区免费| 亚洲欧洲日韩国产| 国产黑丝在线一区二区三区| 天堂8中文在线| 日本一区二区三区在线视频 | 日韩国产欧美在线视频| 麻豆免费在线观看| 高清视频在线观看一区| 午夜精品一区二区三区免费视频| 国产一区二区三区亚洲| 激情视频免费网站| 2019亚洲男人天堂| 自拍偷拍国产精品| 九一亚洲精品| 黄页网站在线播放| 91精品国产综合久久香蕉的用户体验| 一二三四社区欧美黄| 久久伦理在线| 成年人在线看| 日韩高清国产一区在线观看| 欧美videos大乳护士334| 石原莉奈一区二区三区在线观看| 午夜在线视频| 亚洲一区二区三区免费观看| 国产亚洲精品一区二区| 波多野结衣中文字幕一区二区三区| 成人黄色理论片| 黄网站免费入口| 91精品一区二区| 欧美一级片在线看| 精品一区二区国语对白| 亚洲精品成a人ⅴ香蕉片| 国产高清视频网站| 国产精品海角社区在线观看| 日本一区二区三区dvd视频在线| 香蕉久久夜色精品国产使用方法 | 国产女主播一区| 亚洲女同av| 国产欧美日韩小视频| 久久久999成人| 国产精品久久免费看| 日韩欧美伦理| a视频在线观看免费| 免费cad大片在线观看| 久久久女女女女999久久| 一个色综合av| 久久久夜夜夜| 白嫩亚洲一区二区三区| 情趣网站在线观看| 四虎影院一区二区三区 | 亚洲免费观看高清完整| 亚洲91视频| 99在线播放| 男人日女人逼逼| 国产乱人伦真实精品视频| 欧美亚洲动漫精品| 国产精品18久久久久久久久久久久| 久久99国产精品久久99大师| 国产在线观看黄| 无码人妻精品一区二区蜜桃网站| 欧美中文在线观看| 精品国产一区二区三区不卡| 亚洲国产成人在线| av不卡在线看| 88久久精品| 草莓福利社区在线| 九九99九九精彩| 日韩久久不卡| 国产91成人video| 精品久久久三级丝袜| 亚洲视频1区2区| 毛片一区二区三区| 欧美热在线视频精品999| 男人久久天堂| 青青青草原在线| 青青草原av在线播放| 538在线视频观看| 亚洲国产成人二区| av激情网站|