<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怎么處理事務呢?  回復  更多評論
      

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


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

    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(8)

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级免费黄色大片| 精品无码国产污污污免费网站 | 亚洲国产区男人本色| 国产公开免费人成视频| 黄桃AV无码免费一区二区三区| 亚洲av永久无码精品表情包| 99在线精品免费视频九九视| 国产亚洲精品2021自在线| 亚洲熟妇av一区二区三区漫画| 四虎永久在线观看免费网站网址 | 激情无码亚洲一区二区三区| 在线亚洲精品福利网址导航| av无码免费一区二区三区| 羞羞网站在线免费观看| 亚洲一区二区在线免费观看| 国外成人免费高清激情视频| a在线视频免费观看| 亚洲成av人片天堂网无码】| 亚洲AV无码成人精品区在线观看| 成年人免费网站在线观看| 两个人看的www视频免费完整版| 亚洲AV一二三区成人影片| 亚洲国产三级在线观看| 破了亲妺妺的处免费视频国产| 大妹子影视剧在线观看全集免费 | 又硬又粗又长又爽免费看| 亚洲熟妇无码爱v在线观看| 亚洲av午夜成人片精品电影| 13一14周岁毛片免费| 国产福利免费视频| 国产午夜亚洲精品国产| 亚洲国产女人aaa毛片在线| 亚洲AV无码成H人在线观看| 国产1024精品视频专区免费 | 成年女人毛片免费观看97| 在线观看免费无码专区| 日本在线观看免费高清| 国产亚洲福利在线视频| 亚洲视频一区在线| 久久精品国产亚洲av成人| 亚洲国产精品人人做人人爽|