JCHome

Blog for sharing some creative technologies or ideas in my life.

  • Adobe Flex (Rich Internet Application), Google Technologies
  • Application Security
  • 不錯用的PHOTOSHOP.COM


    由於最近有編修圖片的需求,雖然家裡電腦剛安裝好了 W7作業系統,但是相關的影像處理編輯軟體尚未安裝(應該說是懶得安裝),
    突然想到之前有個用Flash (Flex)技術做的 Photshop Online,上網找了一下,發現 Adobe已經把這個網站發展成了線上藝廊 [免費註冊喔],除了可以讓使用者放圖片和影片,也可以進行相關檔案的分類 (雖然說一般的網路相簿也可以),不過你可以針對上傳的圖片直些進行線上編修喔! (例如消除紅眼,雖然只是一些基本的編修,不過也很不錯了),而且還可以使用Decorat功能(目前為Beta),為你的圖片新增像是大頭貼小圖案的圖示。


    有興趣的朋友可以玩玩看,現在免費註冊帳號就有2G的網路空間可以使用喔。
    網站首頁也有提供 Test Drive 連結可供使用者體驗。

    Android 專案與應用程式目錄結構

    當我們新建一個 Android 專案時 (如下圖),
    Eclipse ADT Plug-in 將會跳出視窗詢問相關專案與應用程式資訊,
    Application Name 與 Package Name 原則上都可以自己設定,
    另外我們也會為我們的應用程式建立一個 Activity (應用程式的主要的畫面顯示與執行點,
    就像是 main() 方法),未來我們可以在該 Activity 上放置相關的顯示元件(View),以建立應用程式的操作介面。





































    當我們建立專案完成後,可以看到整個專案的目錄結構(如下圖所示),
    相關目錄檔案結構如:
    • src: 程式碼所在
    • gen: 自動產出的相關檔案所在目錄
    • res: 相關資源檔案
      • drawable (圖檔等資源)
      • layout (畫面排版等資訊檔案)
      • values (相關參數資訊strings.xml,或是顏色定義colors.xml、樣式定義styles.xml等)
    • AndroidMainfest.xml (應用程式組成架構定義設定檔,每個應用程式畫面 Activity 都會於該檔案中有對應的設定資訊)

    看動畫了解 Cloud Computing

    最近幾個月不論是商業週刊 還是什麼選股雜誌,
    雲端運算 (Cloud Computing) 這麼名詞好像到處可見,
    但是雲端運算代表著什麼可能還是有很多人一知半解~
    剛好最近有個夥伴和我們分享了一下什麼是 雲端運算 (Cloud Computing),
    其中有個影片分享還滿不錯的! 分享給大家

    使用 Eclipse 開發 Android Application




    本篇主要在說明使用 Eclipse 開發 Android 應用程式之前的相關事前準備工作,
    開發環境設定與安裝順序依序說明如下:
    1. JDK:先前有提過,由於Android 應用程式的開發使用的 Java 程式語言,因此須下載並安裝JDK。($PATH: $JDK\bin, $JAVA_HOME: $JDK)
    2. Eclipse IDE :由於Android 官方目前支援的開發環境為Eclipse。若您只是純粹的想要開發Android 程式,下載Eclipse IDE for Java Developer 即可。
    3. Eclipse ADT Plug-in:ADT (Android Develpoment Tools) 是 Google 將開發與管理 Android 應用程式所需的相關工具,包裝為能夠和 Eclipse 充分整合的 Plug -in。該 Plug -in 可透過Eclipse -> Help -> Install New Software 新增站台後進行下載安裝。
    4. Android SDK:Android SDK 為壓縮檔,其包含了開發 Android 應用程式所需的函示庫與模擬器等資訊,下載解壓縮後,須於 Eclipse (Windows-> Preference->Android) 設定 Android SDK 的路徑所在。
    5. AVD (Android Virtual Device) :上述四個步驟都執行無誤後,我們還必須於 Eclipse (Windows-> Android SDK and AVD Manager) 建立和管理我們所需要的 AVD ,說穿了就是建立並執行模擬器,此步驟雖然可以等到執行 Android 程式時在建立,不過為了便利性,通常會先建立AVD並開啟我們所需要的模擬器環境。

    Android 2.0 模擬器試玩





















    上圖是 Android 1.5 的模擬器 個人是覺得長的普普(模擬器不一定要長得像是手機的樣子阿 ~哈 ),
    而且操作起來有時候會卡卡的說,所以就心血來潮~想說那就來試試看 2.0 的模擬器好了,
    結果發現好像漂亮了一點,而且螢幕感覺有大一點點(也有可能是我的錯覺),並且把手機上相關的功能鍵都獨立移出來自成一區(1.5 的是仿手機按鍵位置~不過有些按鍵不怎麼方便使用就是),
    整體感覺好像還不賴~ 就順便用了瀏覽器看一下我的網誌首頁~


















    另外想說 2.0 的模擬器是不是支援完全的中文顯示了,
    但是結果好像還是半套(選了繁體中文~ 結果系統很多地方還是會出現簡體字)















    順便附上 2.0 模擬器的其他畫面(滑動解鎖,另外好像 有些圖示 Icon 也和 1.5 的不一樣),
    但是不確定和實際手機上的圖示是否相同。

    最後~ 如果你問我說~ 1.5 模擬器 和 2.0 模擬器的執行效能比較,
    我只能說~ 沒什麼明顯差異~ 模擬器載入到待機畫面,時間差不多都還是需要 1分鐘左右。

    Android Architecture

    Android 的架構大致上可分為下列四個層面,由上到下分別為
    1. Application Framework: 該應用程式框架主要在訂定 Android 應用程式開發人員開發程式時所會使用到的相關API,並且協助管理 Android 應用程式的運作,例如畫面(Activity)的導覽與生命週期管理等。
    2. Android Runtime: 此部分可分為兩個部分,其中 Core Libraries 包含了大部分的 Java 函示庫,還額外提供如電話以及GPS等 Java 函示庫,並協助將應用程式編譯後之結果 (Java Bytecode) 轉換成dex格式 (針對Java Bytecode部分進行最佳化與效能改善),最後提供給 Dalvik Virtual Machine 執行。
    3. Native Libraries: 此部分主要是系統函示庫,其中包含了Apple Safari 瀏覽器背後的引擎 Webkit ,以及繪圖相關的OpenGL ES等函示庫,主要是由C/C++所建構。
    4. Linux Kernel: Android 的底層是架構於Linux 2.6 的核心之上,因此如之前提到的,只要具備相關的驅動程式,Android 也是可以運行於X86的小筆電上。

    呼~ 這東西還真的不太好解釋說~ 希望我沒有理解或是說明錯誤
    簡單的說,你可以把你的 Android 應用程式 (還是用 Java 開發喔) 想成是透過 Android SDK 進行編譯,並且產出特殊型式(最佳化過後)的 Bytecode ,以便讓 Android Runtime (DVM) 能夠正常執行。

    從 ADC 看 Android 發展歷程

    ADC 全名是 Android Developer Challenge,第一次比賽(Google Android 於2007-11發表三個月後) 就有超過1800個來自全世界的隊伍參加,而總獎金更超過300萬美金,
    其實我覺得Google 很會舉辦這樣的比賽,在短短的時間內就收集全世界軟體開發人員的創意與需求,並藉此規劃其未來的平台發展與支援性。
    我沒有惡意,不過回想看看J2ME (MIDP1~2) 的發展和規格制定,不得不配服Google Android 發展的神速。
    今年已經是第二屆 ADC 比賽了,比賽結果剛剛公佈,有興趣的可以參考這邊,不過從最後的比賽結果看來娛樂或是遊戲和 AppStore 相比的話還是少很多

    我個人認為 Arrival Alert 這個程式還滿有趣的,
     Using your phone's GPS it will determine where you are, and wake you when you are close to your destination!
    這樣坐長途的車也不用擔心睡過頭~不過不知道會不會在到達目的地之前GPS 就把手機的電力給耗光了。

    Google Android 發展歷程
    2007-11: Google 和 OHA (Open Handset Alliance) 發表 Android
    2007-12: Android SDK (m3-rc20a)
    2008-01: ADC 1
    2008-09: Android 1.0
    2009-02: Android 1.1
    2009-06: Android 1.5 (HTC Magic, HTC Hero, Samsung i7500)
    2009-07: ADC 2
    2009-09: Android 1.6 (支援多點觸控喔~ 可惜 HTC Tattoo 螢幕不支援)
    2009-10: Android 2.0 (Moto Droid)

    仔細去看他的規格演進,可以發現越來越多功能是為了多媒體哦,
    包含更多點的觸控、語音辨識、效能提升和網路多媒體的支援,
    不過看來到2.0 還是不會支援Flash的顯示(Hero可以看Flash是因為HTC有進行平台的客製化),但是支援了藍芽傳輸。

    明年 HTC Android 的手機少說也有3~5隻,再加上Acer 和Dell 也要進軍Android 智慧型手機市場,Android  智慧型手機市場的成長力道不可小覷,不過不要以為Android 只能在手機上跑喔,他其實就像個小型OS,也是可以在X86的NetBook上奔跑。

    小時候的我~ 第一次寫手機程式

    小時候的我~ 沒記錯時間的話...應該是在大三的暑假,恩~ 大約4..還是5..年前吧,曾經因為計畫專題的需要,寫了小小的JAVA的手機程式,主要的功能就是提供查詢介面,讓使用者可透過手機查詢到伺服器上相關的漁業生產報價資訊,恩..下面的畫面我翻箱倒櫃找了好久XD~而且現在還可以下載使用耶!



    為什麼要提起這段過去的歷史呢...其實主要是因為學生時代曾經花了不少時間在JAVA 手機的程式開發上,包括後來參加的中華電信應用加值大賽以及校內的創意科技競賽,可以說都離不開JAVA 手機程式的範疇,不過後來上了研究所..當兵...工作..好像也漸漸淡忘了這段經歷..畢竟和我現在工作的內容確實差異還滿大的...

    回想過去寫JAVA手機程式的那段日子,老實說,開發不太容易(開發工具和模擬器都不太好用),那個時候手機彩色的還沒有很多...相機畫素也不高,加上手機先天上的限制..網路傳輸的頻寬...所以完全沒有預料到幾年後的蘋果會推出AppStore,其創新且有趣的遊戲與應用程式,更為iPod Touch/ iPhone 增添了不少賣點。

    不過,就在2009年, 我慢慢發現到 Google Android 應用程式的開發,似乎是另外一個機會(Google 也有 Android Market 呀)....待續

    網誌啟用!

    Creativities and Innovations (創意和創新)
    個人認為這兩項特質還滿重要的,所以就先替我的網誌取了這個名子~

    話說...這個部落格建立也很久了! 但是一直想不到他的定位~
    也就是不太確定究竟自己要寫些什麼東西在上面,也擔心自己沒時間去管理,
    思考了一段時間,我決定就讓這個網誌紀錄我工作之外,我所看到或是接觸到的相關技術或是創新科技的資訊,畢竟生活不能一成不變阿..多接觸新奇的事物,多少能夠讓人有所精進的! 也希望藉此和大家分享我的生活 :)
    Powered By Blogger