下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
【移動應用開發(fā)技術(shù)】如何進行AIRforAndroid開發(fā)
這篇文章將為大家詳細講解有關如何進行AIRforAndroid開發(fā),文章內(nèi)容質(zhì)量較高,因此在下分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。Adobe發(fā)布mobile
AIR已經(jīng)有一段時間了,但是移動設備的UI與控件與PC端截然不同,導致真正使用AIR技術(shù)開發(fā)的移動設備程序少之又少,而前段時間,Adobe終于發(fā)布了包括移動UI組件的Flex
SDK
“Hero”
(就是以前的Slider),雖然只支持Android系統(tǒng),但是我們可以看到電子市場上使用AIR技術(shù)開發(fā)的程序越來越多。本文就將以MP3電臺為例,介紹使用Flex
Hero
開發(fā)mobile
AIR應用程序的一些方法和心得。介紹移動應用程序移動程序界面中有一個重要的概念:屏幕,如下圖在MP3電臺這個程序中,選臺界面和播放界面就是兩個“屏幕”,在PC端,這些操作是可以在一起進行的,可是由于移動設備屏幕大小的原因,無法塞在一個界面里。所以我們在選完臺之后,整個屏幕都將轉(zhuǎn)換為電臺播放界面。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方法用于轉(zhuǎn)換到新的視圖,例如,當用戶在頻道列表頁面選擇了一個頻道時,我們可以執(zhí)行navigator.pushView(RadioPlay,{channel_item:channelList.selectedItem});這樣的話,就切換到了RadioPlay這個視圖。這時,如果用戶按下了android上的后退按鈕,則Flex框架會自動執(zhí)行navigator.popView操作,這樣會回到上一個視圖。當然,我們也可以捕獲這個鍵盤事件,然后執(zhí)行自定義代碼。數(shù)據(jù)驅(qū)動的視圖this.addEventListener(KeyboardEvent.KEY_UP,function(e:KeyboardEvent){
if(e.keyCode
==
Keyboard.BACK){
e.stopPropagation();
//其他操作,例如存儲數(shù)據(jù)等
//其他操作完畢
navigator.popView();
}
});視圖切換時,F(xiàn)lex默認會把上一個視圖的UI銷毀(可以通過設置destructionPolicy=”none”來避免銷毀),這樣一來,我們回退到上一個視圖的時候,就會丟失之前的UI狀態(tài),比如說頻道列表的選中狀態(tài)View包含一個屬性data,當開發(fā)者使用pushView方法時的第二個參數(shù)data將被賦值到這個屬性中。而每次用戶按下機身上的返回按鈕,F(xiàn)lex框架執(zhí)行popView方法自動恢復歷史記錄時,也會把上一次的data屬性重新放到View的構(gòu)造方法中??梢钥闯?,如果我們需要在界面切換時保存當前視圖的所有狀態(tài),相關代碼如下:this.addEventListener(FlexEvent.VIEW_DEACTIVATE,saveState);
private
function
saveState(event:Event):void{
this.data.selection
=
channelList.selectedIndex;
this.data.scrollPosition
=
channelList.dataGroup.verticalScrollPosition;
}這樣,我們在離開頻道列表頁的時候,就會把當前列表的選中狀態(tài)記錄下來,在重新顯示這個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;
}
}優(yōu)化技巧與注意事項Android上的AIR不會自動退出,也就是說,當用戶按下home鍵或者后退到主屏幕時,AIR程序依然在運行。對于電臺這樣一個應用,后臺運行是合乎情理的,但是如果想像傳統(tǒng)程序一樣,后退即退出的話,則需要額外做一些工作了: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硬件渲染。這個屬性和桌面版本的cacheA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級語文《月光曲》設計教案
- 浙教版九年級上冊科學常見的酸教案
- 慢病中心樓冬期施工方案試卷教案(2025-2026學年)
- 高新區(qū)鋼筋施工方案試卷教案
- 居里夫人的三克鐳教案
- 兒童品格教育之培養(yǎng)抗挫力教案(2025-2026學年)
- 小班安全教育老師我有話要說教案
- use的特殊用法教案
- 2025陜西建設機械股份有限公司本部營銷中心中層管理人員競聘6人模擬筆試試題及答案解析
- 2025年云南交投集團下屬公路建設公司管理人員第二批次招聘(4人)模擬筆試試題及答案解析
- 發(fā)電廠汽輪機副操崗位考試試卷及答案
- 阿里合伙人合同
- 雨課堂在線學堂《臨床中成藥應用》作業(yè)單元考核答案
- 2025年皮膚科年度工作總結(jié)報告
- 實施指南(2025)《HGT 6114-2022 廢酸中重金屬快速檢測方法 能量 - 色散 X 射線熒光光譜法》
- 廚師廚工考試題及答案
- 理化檢測知識培訓課件
- 2025領導干部政治理論知識網(wǎng)絡培訓題庫及參考答案
- 醫(yī)院醫(yī)療質(zhì)量同質(zhì)化管理辦法
- GB/T 31526-2025電子商務平臺服務質(zhì)量評價
- 智能管道泄漏檢測技術(shù)可行性分析報告
評論
0/150
提交評論