<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    差沙的密碼 -- SSHWSFC's code
    閱讀本Blog請自備塑料袋一只
    posts - 14,  comments - 59,  trackbacks - 0

    今天看到Air1.0和Ext2.0.2的發布消息,很是興奮,要知道Ext的每個版本升級都是很實惠的。

    Ext2.0.2的這次升級主要是針對Air的支持,看來他們的關系是越來越近了,我也借機小試了一下Air。

    簡單說說Air的開發過程:

    1.先要下載jre 和 airSDK

    2.jre就不說了,airSDK也是簡單的解壓一下便可。

    可以看看SDK下面的bin目錄,一共倆文件,一個adl一個adt,adl是用來測試的,adt使用編輯發布的(ADT怎么讓我想起來android了)

    3.創建一個普通的目錄作為項目目錄。OK,可以寫頁面了。就是寫html js flash什么的,都可。

    4.編寫一個xml文件,名字不限。內容嘛~~~~

    看看這個文件,airSDK\templates\descriptor-template.xml 里面有詳細的解釋,拿過來改改即可,給一個例子:


    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://ns.adobe.com/air/application/1.0.M6">
        <id>examples.html.HelloWorld</id>
        <version>0.1</version>
        <filename>HelloWorld</filename>
        <initialWindow>
            <content>HelloWorld.html</content>
            <visible>true</visible>
            <width>400</width>
            <height>200</height>
        </initialWindow>
    </application>


    5.運行airSDK\bin\adl.exe (那個創建的xml文件名),運行即可。

    PS:我一般用eclipse來編輯,用外部命令的工具來運行adl,很方便。

    簡單的說了一下Air的開發方法后,我們來簡單的看一下Ext都對Air提供了什么支持。

    1.Ext.air.FileProvider

    Ext提供狀態保存的功能,在對AIr的支持中Ext實現了一個Provider,這個Provider把狀態保存在本地目錄的一個文件里。使用方法如下:


    // Initialize the state provider
    Ext.state.Manager.setProvider(new Ext.air.FileProvider({
    	file: 'ext.state',
    	// if first time running
    	defaultState : {
    		mainWindow : {
    			width:400,
    			height:200,
    			x:10,
    			y:10
    		}
    	}
    }));


    制定Provider為Ext.air.FileProvider即可,這個操作一般在onReady里面執行。當然需要你先創建一個ext.state文本文件,在程序根目錄下即可。這樣ext的應用運行時,窗口等大小的調整,位置之類的調整都能保存下來了。很方便。

    這里包裝的Air代碼主要是:

    air.File.applicationStorageDirectory.resolvePath

    air.FileStream

    2.Ext.air.NativeWindow

    Ext可以調用Air實現Native的窗口。使用方法如下:


    	var win = new Ext.air.NativeWindow({
    		id: 'mainWindow',
    		instance: window.nativeWindow,
    		minimizeToTray: true,
    		trayIcon: 'ext-air/resources/icons/extlogo16.png',
    		trayTip: 'Simple Tasks',
    		trayMenu : [{
    			text: 'Open Simple Tasks',
    			handler: function(){
    				win.activate();
    			}
    		}, '-', {
    			text: 'Exit',
    			handler: function(){
    				air.NativeApplication.nativeApplication.exit();
    			}
    		}]
    	});


    我們可以看到,其中最吸引人的是系統托盤的功能,可以方便的指定系統托盤的各種屬性。

    這里包裝的主要是:

    window.runtime.flash.html.HTMLLoader.createRootWindow

    air.Screen.mainScreen.visibleBounds

    3.Ext.sql.Connection

    這個是重頭戲,對db的支持,我們知道Air的DB是采用sqlite3來實現的。Ext封裝了Air的db操作,簡化統一了一些,而且提供了Store的支持,非常強大:

    讓我們簡單看一下用法:

    首先取得connection

    var conn = Ext.sql.Connection.getInstance();

    而后打開db

    conn.open('ext.db');//這里的文件如果不存在會自動創建

    創建Table


            conn.createTable({
                name: 'user',
                key: 'userId',
                fields: [
    			    {name: 'userId', type:'string'},
    			    {name: 'name', type:'string'},
    			    {name: 'pwd', type:'string'},
    			    {name: 'email', type:'string'}
    			]
        	});

    取得一個Table

    var userDao = conn.getTable('user','userId');

    查詢

    var users = userDao.select();//這里可以寫條件式

    添加


    var newuser = {
        userId : 'sshw',
        name : 'sshwsfc',
        pwd : 'test',
        email : 'sshwsfc@gmail.com'
    } 
    
    userDao.insert(newuser);


    感覺使用上還是蠻不錯的,大家可以一點點試試看。

    值得一提的是,在源碼中發現Connection這里設計成了工廠的模式,Connection是一個偽接口,實現除了Air的還有GoogleGear的,會根據所處環境選擇,灰常的好。

    功能還在研究中,有心得了一點點給大家分享,

    PS:打算搞一個iphone的信息管理軟件練練手。反正都是sqlite的

    posted on 2008-02-26 13:49 差沙 閱讀(4810) 評論(4)  編輯  收藏 所屬分類: bew

    FeedBack:
    # re: Air+Ext小試一下
    2008-02-26 16:39 | 久城
    很好,學習了,同樣關注Extjs的版本升級。

    LZ加油,期待進一步的研究。  回復  更多評論
      
    # re: Air+Ext小試一下
    2008-07-11 20:06 | 開機
    我在Ext2.1 api里怎么看不到 Ext.sql.Connection,是版本不對嗎?  回復  更多評論
      
    # re: Air+Ext小試一下
    2008-10-13 17:46 | asd
    asdsfsdf  回復  更多評論
      
    # re: Air+Ext小試一下
    2009-07-11 11:22 | cow
    Ext,sqlite怎么處理事務呢?  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    這家伙很懶,但起碼還是寫了一句話。

    <2008年2月>
    272829303112
    3456789
    10111213141516
    17181920212223
    2425262728291
    2345678

    常用鏈接

    留言簿(8)

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩免费高清播放器| 国产L精品国产亚洲区久久| a在线免费观看视频| 亚洲人成色在线观看| 久久精品国产亚洲av四虎| 亚洲成AⅤ人影院在线观看| 日韩中文字幕精品免费一区| 国产一级在线免费观看| 亚洲Av永久无码精品黑人| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲AV无码一区二区乱子伦| 亚洲一区日韩高清中文字幕亚洲| 午夜私人影院免费体验区| 中文毛片无遮挡高潮免费| 午夜免费福利小电影| 99在线免费观看| 一级白嫩美女毛片免费| 免费在线观看一区| 亚洲av乱码一区二区三区按摩 | 亚洲精品乱码久久久久久蜜桃图片 | 中文字幕亚洲日韩无线码| 国产免费69成人精品视频| 在线a毛片免费视频观看| 免费无码肉片在线观看| 免费大片黄在线观看yw| 亚洲三级在线免费观看| 日韩人妻一区二区三区免费| 美女在线视频观看影院免费天天看| 国产免费黄色无码视频| h在线看免费视频网站男男| 成人午夜免费视频| 成人a毛片免费视频观看| 美女羞羞喷液视频免费| 老司机免费午夜精品视频| 边摸边脱吃奶边高潮视频免费| 亚洲1区2区3区精华液| 边摸边脱吃奶边高潮视频免费| 爱情岛论坛免费视频| 成人福利在线观看免费视频| 精品无码一级毛片免费视频观看| 国产99久久久国产精免费|