跳到主要內容

發表文章

目前顯示的是 六月, 2011的文章

FlashDevelop4 compile Android, iOS app

大家好,我是奶綠茶
相信大家對 Adobe CS5.5 能夠將 AIR 發怖到 Android 和 iOS 平台是一件非常興奮的事
今天就來分享如何使用 FlashDevelop4 , 透過 Flex SDK , 下 Command Line 的方法
直接 compile 成 apk 和 ipa 檔。
我的工作環境是 Windows7 32或64皆可
安裝所需的檔
1. 先下載 FlashDevelop4
http://www.flashdevelop.org/community/viewtopic.php?f=9&t=8281
目前還是 Beta 版, 如果 FD3 和 FD4 想共存的話,記的在安裝 FD4 時要選擇 standard
安裝時, 會問你要不要自動下載 Flex SDK 和 AIR SDK , 把他取消掉, 我們自己手動下載。
2. 下載 FlexSDK , 筆者我下載的是 Flex4.5(內建 AIR2.6 SDK) 的版本,
3. 下載 AIR2.7 SDK http://www.adobe.com/products/air/sdk/
完成後, 把 AIR2.7 裡的檔案,整個蓋掉 Flex4.5
4. java runtime
5. Android SDK http://developer.android.com/sdk/index.html

開發流程
1.啟動 FlashDevelop4



2.設定 FlexSDK 路徑
3.開啟新專案,選擇 AS3 Android App


此時會看到你的 Project 長成這樣


3. 修改 FlexSDK 路徑和Android SDK路徑
因為背後是使用 Command Line 的方法來 compile , 所以需要再設定一次
開啟 bat/SetupSDK.bat

:: Path to Flex SDK
set FLEX_SDK=C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\4.5.1

:: Path to Android SDK
set ANDROID_SDK=D:\Program Files\Android\android-sdk-windows\platform-tools

完成後,按下 Ctrl + Enter, 都沒問題…

Android 漢語拼音排序

大家好,我是奶綠茶
研究了好一陣子的 Android
也上架了一個 WP7Contact 的 App,
來分享一下如果使用漢語拼音來排序聯絡人
android 官方有分享一個 HanziToPinyin.java
使用這個類別,就可以得到漢語拼音
接著透過 String 的 compareToIgnoreCase
就可以依字母排序

1. 得到聯絡人
先過濾一下,只要出現有電話的聯絡人即可,同時只要得到 _id 和 display_name 的欄位就好
String select = "((" + ContactsContract.Data.DISPLAY_NAME + " NOTNULL) AND (" + ContactsContract.Data.HAS_PHONE_NUMBER + "=1) AND (" + ContactsContract.Data.DISPLAY_NAME + " != '' ))"; final String[] PROJECTION = new String[]{ ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI, PROJECTION, select, null, null);
2. 得到漢語拼音, 這個 function 是從 android 裡另一個類別取出的
public static String getSortKey(String pName) { ArrayList tokens = HanziToPinyin.getInstance().get(pName); if (tokens != null && tokens.size() > 0) { StringBuilder sb = new StringBuilder(); fo…

UIFlow for Flash

這次來練習一下仿 iPhone 的 UIFlow Flash 版

轉載請註明出處

製作羅輯:
把所有的圖片丟到一個 Sprite 裡,並依序排列
接下時,記錄當下的滑鼠座標
再用 EnterFrame 不斷的記錄現在的座標和上一個 FPS 的座標差
丟給主要的 Sprite.x 屬性。
放開後,判斷使用者是否拉動超過一半,移動到下一個或上一個,
當托到第一個或最後一個時,拉動的距離要越來越慢。
IPhoneScrollTween.as
/** * @author milkmidi * @version 1.0.1 * @date created 2011/06/01 */ package milkmidi.behavior { import com.greensock.TweenMax; import com.greensock.easing.Cubic; import flash.display.DisplayObject; import flash.display.Sprite; import flash.display.Stage; import flash.display.StageQuality; import flash.events.Event; import flash.events.EventDispatcher; import flash.events.MouseEvent; import flash.geom.Point; /** * IPhone scroll behavior */ public class IPhoneScrollTween { private static var DECAY :Number = 0.98; private static var BOUNCING_SPRINGESS :Number = 0.45; private static var SNAP_VELOCITY :Number = 40; private var mStage:Stage; public function get stage():Stage { return mStage; } publ…