<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)

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲视频免费一区| 国产亚洲美女精品久久久久狼| 久久精品国产亚洲av日韩| 两个人www免费高清视频| MM131亚洲国产美女久久| 性生大片视频免费观看一级| 色播在线永久免费视频| 在线精品亚洲一区二区| 日韩人妻无码免费视频一区二区三区| 亚洲伦理一二三四| 一区二区无码免费视频网站 | 亚洲av纯肉无码精品动漫| 热久久精品免费视频| 精品成人一区二区三区免费视频| 国产无遮挡色视频免费视频| 免费人成视频在线观看免费| 亚洲免费日韩无码系列 | 日日狠狠久久偷偷色综合免费 | 好大好深好猛好爽视频免费| 亚洲AV女人18毛片水真多| 日本中文一区二区三区亚洲| 国产特黄特色的大片观看免费视频 | 老司机免费午夜精品视频| 一本久到久久亚洲综合| xxxxx做受大片视频免费| 久久久久久a亚洲欧洲aⅴ| 最近中文字幕国语免费完整| 日韩精品亚洲人成在线观看| 在线看片韩国免费人成视频| 亚洲欧美日韩综合俺去了| 相泽亚洲一区中文字幕| **aaaaa毛片免费| 亚洲av午夜国产精品无码中文字| 久久久久一级精品亚洲国产成人综合AV区 | 噜噜噜亚洲色成人网站∨| 美女裸身网站免费看免费网站| 精品亚洲AV无码一区二区三区 | 免费观看激色视频网站(性色)| 亚洲色www永久网站| 国产亚洲一区二区三区在线不卡 | 亚洲精品无码乱码成人|