2010年12月24日 星期五

First flash mobile application

這一次使用最新 flash builder burrito 開發 flash 手機應用程式,只是簡單的看影片的功能
因為沒有 android 手機,所以只能在 PC上跑

參考文件
PDF  教學網址  範例網站



這是在PC 上的版本


2010年12月21日 星期二

Flex 4 owner 與 parent的區別


最近才在寫 Flex 4的程式,跟 3有很大的不同,其中一個就是元件屬性 parent
以前就很直覺得就用這個屬性,但 4使用skin 之後就不一樣了,所以必需使用 owner這個屬性囉

Flex 與 Java 使用 URLRequest 傳遞中文參數

這個大家應該都會了,只不我想把它記錄下來

1.在 Flex 內使用 encodeURI(instName) 將中文轉成 utf-8 的 string

2.在 Java 接到 request parameter後作轉碼動作 new String(instName.getBytes("iso-8859-1"),"UTF-8");

2010年12月6日 星期一

下一版的 iphone 會支援 flash

這幾天在將一些之前 flex 3 寫的程式改寫為 pure hero時,突然腦中出現的想法 ,也不知道為什 麼,但它就是出現了

2010年12月3日 星期五

Flex 4 上使用 URLRequest 的注意小地方

如果你原本用Flex Builder 3開發程式有使用 URLRequest ,而且執行上沒問題,但如果用Flex Builder 4 使用相同的程式碼,但執行確碰到 HTTP 405 的訊息的話,請檢查是不是在設定 URLRequest method 上使用了 POST ,請改為 GET再執行一次,應該就可以了

 request.method = URLRequestMethod.GET;

而loader (我用的是URLStream) 要加上新的 EventListener HTTPStatusEvent.HTTP_RESPONSE_STATUS 哦

2010年11月14日 星期日

flash 不透過 Cirrus 使用 p2p

 參考文章


NetConnection成功後的設定
var groupspec:GroupSpecifier = new GroupSpecifier("myGroup/groupOne"); groupspec.postingEnabled = true; groupspec.ipMulticastMemberUpdatesEnabled = true; groupspec.addIPMulticastAddress("225.225.0.1:30303"); group = new NetGroup(nc,groupspec.groupspecWithAuthorizations()); group.addEventListener(NetStatusEvent.NET_STATUS,netStatus);


Event 的處理
要加上
case "NetGroup.Connect.Success": connected = true; break;
case "NetGroup.Posting.Notify": receiveMessage(event.info.message) break;

接受的處理
private function sendMessage(txt:String):void
{
     var message:Object = new Object(); message.text = txt;
     message.sender =       group.convertPeerIDToGroupAddress(nc.nearID);
     message.userName = txtUser.text; group.post(message);
     receiveMessage(message);
    

 }

private function receiveMessage(message:object):void {
   trace(message.userName+": "+message.text);
}

使用FMG連結公司SIP打電話

參考網址1 參考網址2 設定文件

步驟:

2.下載 Flash Media Gateway 並安裝,建議兩套軟体安裝在同一台Server 上

3.Copy the ${FMG-Install-Folder}\/FMSApplications\telephony folder to ${FMS-Install-Folder}\applications\

4.修改 Flash Media Sever的 Server.xml, 在${FMS-Install-Folder}\conf 目錄內
    在 tag Server 下新增一Tag  

5.修改 Flash Media Gateway 的 sip.xml ,在${FMG-Install-Folder}\conf目錄內
    找到 tag profileID 是 sipGateway  ,在tag 內輸入 SIP Server 
    和帳號、宓碼

6.重新啟動 FMS, FMG 後應該就可以打電話囉

文件上還有提到VideoPhone 和 Client profile的部份,如果大家測成功的話也歡迎造訴我如何設定

2010年10月27日 星期三

設定GlassFish 記憶体使用量

參考網站:http://itgeekhelp.blogspot.com/2009/04/increase-glassfish-memoryheap.html

Application Server->JVM Settings->JVM Options

將 -Xmx512m 改為 -Xmx1024m 或更大

將 -XX:MaxPermSize 的值設為256m

2010年9月9日 星期四

AIR SDK 更新

之前沒有注意到,現在我已經將 flex 3.5 SDK 的AIR 更新到2.5
Overlay AIR SDK on Flex SDK

Yahoo 搜尋手寫板 Flex 開發的

今天看到的新聞,對於開發 flex程式及觸控相關的產業應該都很開心吧
可惜 Apple 的 iphone, ipad 應該無法使用

2010年9月8日 星期三

Flex Chart 動態 series

一般的圖表設計,會在 Tag mx:series 內新增多個 series ,然後每個對應不同的欄位 (yField or xField),
因為來自不同欄位,所以可以這樣作,但如果值是來自相同欄位的話,而另一個欄位則儲存分類的類別值,如
Sales Man Date Amount
Sales A 2010/01/01 100
Sales B 2010/01/01 200
不同的 Sales Man就是代表一條線,那要怎麼作呢,這邊有範例可以參考,使用XML方式,而程式碼的部份資料來源是使用 ArrayCollection,應該就可以達成其功能了。

Dynamic Create Series By XML Data Source


coding

try {
var wholist:Array = new Array();
var property:String ;

//partXRData is an arraycollection
for(var i:int =0; i property = partXRData.getItemAt(i).USER_NAME as String;
if (wholist[property] == null){
wholist[property] = new ArrayCollection();

}

(wholist[property] as ArrayCollection).addItem(partXRData.getItemAt(i));

}

var currentSeries:Array = new Array();


var count1:int = 0;
var localSeries:LineSeries = null;
for each (var ac1:ArrayCollection in wholist) {

// Create the new series and set its properties.
localSeries = new LineSeries();
localSeries.dataProvider = ac1;
localSeries.yField = "AVERAGE1";
localSeries.xField = "VALUE_SN";


// Set values that show up in dataTips and Legend.
localSeries.displayName = ac1.getItemAt(0).USER_NAME;

// Back up the current series on the chart.

// Add the new series to the current Array of series.
currentSeries.push(localSeries);


}
// Add the new Array of series to the chart.
avgChart1.series = currentSeries;

}catch(error:Error) {

}

2010年8月30日 星期一

2010年8月24日 星期二

Asp.net 網頁如何讀取網路磁碟機 (share folder)

這不是新技術,只是有剛剛需要,如果兩台都有加入網域的話,應該不用設定就可以讀的到
但如果都沒有加入網域的話,上網找了一下文章,設定如下:
will will
Code Project

基本上設定如下:
假設一台Web Server , 一台 File Server
1.共同建立一相同的local 帳號,密碼相同 ex: M6_FilePass ,有一網站建議在WEB Server 上直接修改 IUSR_******的帳號的密碼,然後再File Server 上建立 IUSR_******的帳號,這樣比較不會出錯。

2.設定 IIS Web Server:在 "我的電腦" 按滑鼠右鍵選擇"管理",服務與應用程式 == IIS == 目錄安全設定 == 匿名存取與驗證控制 == 編輯 “允許IIS來控制密碼”打勾取消,如果有的話。帳號、密碼輸入你所建立的帳號

3.File server設定:分享目錄設定,把剛剛建立的user加入至分享目錄安全性的群組內


4.網頁設定:Web.config設定 :加入identity

AIR for Android

最新消息,AIR 可以在Android 的手機上使用了,快點去看怎麼設定吧

Getting started with Adobe AIR for Android

2010年7月11日 星期日

自製 Glassfish Realm

目前的需求是想作一個帳號、密碼的登入需求:使用者登入帳號、密碼後檢查的規則如下
1.先檢查ERP的帳號,如果登入失敗則往下檢查
2.檢查 ADD 的帳號,如果失敗覔往下檢查
3.檢查資料庫內某一特定 TABLE的帳號、密碼欄

如果要達到這樣的需求看來好像只能用自製的 Realm and Login Module了

在網路上有找這一篇文章 http://blogs.sun.com/nithya/entry/groups_in_custom_realms
對我來說很有用,應該是符合我的需求,大家可以參考看看,如果有更好建議,希望可以告知我哦

2010年6月15日 星期二

iText 5 版注意事項

最近在使用這個元件,下載5.0.2版,並下載 iTextAsian.jar, 在輸出中文時出現 Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized 的錯誤訊息,其原因為 5版後其package 名稱已經改了,但 iTextAsian.jar 內的名稱還沒改,才會造成錯誤,解決方法:先將 iTextAsian.jar 解壓縮後,將 lowagie 改為 itextpdf 再重新包裝即可。

2010年4月23日 星期五

在Module使用 Clear Data Builder 的問題

vrasputnis


I am judging purely by the underlying Flex error - flex.messaging.io.amf.ASObject
cannot be cast to com.wintek.mids.dto.DeptDTO.
Whenever you use modules, rule #1 is to link Flex DTOs to the application and
NOT to the module. You can use Flex library project, in particular and tune
the CDB to generate Flex DTO's directly into that library. Add that project
as, say, merge-in to the application. To the module add the same project as
extern, because DTO classes will be provided by the parent application domain.

Flex 專案愈長愈大的問題 - include flex library with RSL mode

目前想用flex 幫公司作個系統,但有考慮到使用Flex,所有系統檔案都要下載到Client ,如果以後檔案愈來愈大的話,下載的時間就會變長,所以想一個解決的方法,相關文章如下,簡單的說,使用這種模式就是讓很多專案都可以使用相同的library囉,相對的只要下載一次就好了,參考看看

http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_09.html


不知道在開發silverlight 是不是也是跟我一樣會愈到相同的問題呢

2010年4月14日 星期三

Servlet 3.0 Asynchronous

Servlet 非同步功能的支援,有興趣的朋友可以參考看看
參考網址

這個讓我想到gmail檔案上傳的功能,在選擇上傳第二個檔案的同時,第一個檔案已經開始上傳ing中,就是使用這個技術嗎 ?

2010年4月13日 星期二

IPhone, IPad 不支援 flash的原因

早在iphone 2g 出來後,我就覺得jobs沒有把他不想說的秘密說出來。

Jobs 說因為它會使裝置秏更多的電,而且不夠輕巧,所以不支援 Flash

但有人作過實驗,跑flash的程式只多秏 6%的電,並不是所說的那麼嚴重,

所以我想應該是如果讓這些裝置支援 flash的話,AIR 或 Flex 的程式就可以跑了

這樣可能會影響APP store business model,apple可能就會少收很多錢囉

2010年3月30日 星期二

Flash Builder 4 免費版

免費正式版連結網址

只要符合三個條件之一就可以申請哦,其中一個是學生,只要上傳學生證的圖檔就可以申請了,
大家快一點去申請吧

2010年3月8日 星期一

物件導向萬歲~~~~~

我想說的是不管使用那一種系統語言,只要本身是物件導向的,它的前途就會比較長長久久,
以actioin script 來說,從2.0 至 3.0 就是一個轉變,功能愈加強大~~

AIR on mobile Now !!

Adobe Unveils AIR on Mobile Devices

之前還在想AIR應該會很快就會在Mobile上跑了,想不到真的實現了,哈哈~~
我的股票程式應該就不用作任何修改就可以在支援AIR的手機上跑了吧。

2010年3月6日 星期六

聯成、巨匠的廣告,IT人的專業就是這麼簡單?

我的專業~~來自巨匠~~
我有幾張專業證照~~~(面試主管感動的哭了~~)

相信大家都有看過都有看過這些廣告,但是以一個是資管出身又是工作生涯又是一直在IT有關的我來說,看這個些廣告
心中真是五味雜陳~~~~

我的觀點如下:

IT相關工作的門檻真是有點低,每個人只要有幾張證照都可以去作IT相關的工作。唉~~關於這一點我還蠻認同的,因為我身邊有很多朋友就是這樣子變成IT人的,也作的很出色。 現在不管在管SERVER 或開發系統來說,尤其是 Microsoft solution來說,他提供許多好用的工具、好用的功能、好用的介面讓人可以輕易上手,現在幾個簡單的操作就可以達到複雜的功能,可說是事半功倍,如果學會相關操作相對就可以達到簡單的要求。

那本科出身的 IT人怎麼辦呢? 尤其是資管的,一般在學校也只教基礎的理論,應該沒有是以考證照方向開的課吧,那一般上大學以後大家想到的是要參加那個社團,要怎麼玩,交個異性的朋友等讓自己大學生活不留白,課業應該不是第一優先(如果有我給他拍拍手),所以相對學到的應該是不太多的(好像就是在說我自已,哈哈~~)。 會學到東西應該都是在進入職場後,看自家公司如何開發或管理系統,再一步一步學習,增加自己的實力。

所以我真得是不很不認同這些廣告(連我敬愛的曹祖聖老師都出來推銷了),但是我的建議如下,不管是不是本科出身的,要從事這個行業的話,取得專業不代表一定有實務經驗和基礎能力,以考Java SCJP來說,考過了不代表一定就會寫 java程式,會寫了不一定就一定了解物件導件的精神來開發程式,還有 UML, Design Pattern等一大堆相關的知識等著你學習,所以一直學習,然後吸收應用,如何減少管理、開發的成本替企業賺錢、省錢,就是IT人的不歸路。 如果一直停留不變的話,就會應驗這些廣告想要說的,會有更新的人才學習更新的技術,然後考了新的證照要來搶你的飯碗了。 大家加油囉~~~~

2010年3月5日 星期五

Clone Object in Flex 3

以Java 的物件來說,clone 一個Object 只要用object.clone();就可以了
但在Flex 3 要使用 mx.utils.ObjectUtil這個物件,使用類別方法

ObjectUtil.copy(object)這樣就可以產生一個新物件了

容易的 Drag Drop 程式 ~~~

使用Flex 3 就可以很容易作 Drag Drop的程式,比Flex 2好寫很多哦

以 List物件來說

方式一:
直接在兩個List 設定 dropEnabled="true" dragEnabled="true" dragMoveEnabled="true" ,這樣就可以相互拖拉所選的項目

方式二:
以我的Flex 作品 3來說, 有一個GridView 可以將資料拉出來(Drag),放至一個垃圾桶(Drop),那我建議的方式為在GridView 設 dragEnabled 屬性設為true dragMoveEnabled 也設為true
,但在 垃圾桶(為一個Image的物件)要有
dragDrop="dragDropHandler(event);"
dragEnter="dragEnterHander(event);"


private function dragEnterHander(event:DragEvent):void {
if (event.dragSource.hasFormat("items"))
{

var data:Array = event.dragSource.dataForFormat('items') as Array;

//這邊可以寫是否要檢查,是否要接受Drag的資料
var dropTarget1:mx.controls.Image = event.currentTarget as mx.controls.Image;
DragManager.acceptDragDrop(dropTarget1);

}
}


private function dragDropHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("items"))
{
// Explicitly handle the dragDrop event.
event.preventDefault();


// Get drop target. var dropTarget:mx.controls.Image=mx.controls.Image(event.currentTarget);

//要讓垃圾桶換圖片

dropTarget.load(trash2Img);

var data:Array = event.dragSource.dataForFormat('items') as Array;
//為一個ArrayCollection新增Drop的資料
trashAC.addItemAt(data[0],0);

}


}


真是太簡單了~~~

2010年2月25日 星期四

Flex, Silverlight, javaFX

跟朋友說我在用Flash(flex)開發系統,他們都以為我都在作動畫的東西,或是覺得很奇怪,怎麼會用這個東西在開發系統,但是如果提到silverlight,他們就會說這個有多好多好~~,未來的明星,多有潛力等等。

我相信他是很有潛力的,因為微軟太有錢及有太多聰明的員工可以讓他的產品變的很優,尤其silverlight 3推出之後,我覺得會比 flash builder 4作出來的東西還要好。 但是RIA這個東西不是silverlight 推出來以後才有的,只不過大部份公司都是用微軟的solution,所以當他們看到silverlight demo時會覺得怎麼那麼神奇呀~~~,讓我想起5年前參加macromedia flash remoting研討會時,主講者Sunny Lun在demo 用flash 作出來的pet store時,台下的我也覺得真是太神奇了,哇~~這就是我想要東西。

這個感覺好像是我參加微軟的研討會一樣,以最近MVC,Design Pattern,UML 來說,java已經用了好一陣子了, 但是每次微軟每一次都講的像只有他們才有的樣子。 不過我還是得說微軟的東西還是很棒,有幫開發者作了很方便的功能,省下很多開發時間。

相信silverlight一定會很受歡迎,但我希望 flex(flash)也可以長長久久~~~~~,不管用什開發,最終的目的就是要讓使用者方便使用,而不只是炫而以~~~

Flash Builder 4 學習網站

想要學習Flash Builder 4相關的技巧可以上這個Blog看看,有很多東西哦
Sujit Reddy G

我目前也在看~~~~~

2010年2月11日 星期四

Adobe LifeCycle ES 2

如果對流程解決方案有興趣的,可以至下列網址看看其功能

Adobe Joseph Blog

Flex 作品3 - 儀器管理

網址:
作品Demo


為一個儀器管理系統, MSA, Measurement Systems Analysis,目的可以讓使用者管理儀器,而使用者需定期校正儀器,看其功能是否正常,所以最主要就是可以讓使用者把校正結果明確的記錄下來
開發工具為: Flex builder 3
資料庫整合: Clear Data Builder 3.1 (flash builder 4就不建議用了)
CDB 3.1說明

JAVA Application Server: Glassfish 2.1.1

在glassfish 使用的技術如下:
security :採用 jdbc realm
非同步程式更新:建立一個Queus,並使用Meassage Driven Bean
主要程式:建立一war