跳到主要內容

發表文章

目前顯示的是 2月, 2012的文章

新案上線:Heineken海尼根 Android App

大家好,我是奶綠茶 新案上線:Heineken海尼根 (iOS/Android) 這次小弟是開發 Android 的 App. 使用原生 Java 程式寫的, 不是用 air 喔。 這次的專案,讓我經驗值大增呀 之後再來補上這次用到的技術文章 點我進入頁面

Android 檢查網路是否連線中

大家好,我是奶綠茶 如何在 Android 檢查網路是否連線, 可以使用以下程式判斷: public static boolean isNetworkAvailable( Context context ) { ConnectivityManager cm = (ConnectivityManager) context .getApplicationContext().getSystemService( Context.CONNECTIVITY_SERVICE); if (cm == null) { return false; } else { NetworkInfo[] infos = cm.getAllNetworkInfo(); if (infos != null) { for (NetworkInfo networkInfo : infos) { if(networkInfo.getState() == NetworkInfo.State.CONNECTED){ return true; } } } } return false; } 但這樣就只能限自行呼叫,如果想要用偵聽的話,可以寫一個 BroadcastReceiver, 同時在 intentFilter 加上 action android:name="android.net.conn.CONNECTIVITY_CHANGE" public class ConnectionChangeReceiver extends BroadcastReceiver { @Override public void onReceive( Context context, Intent intent ) { boolean isNetworkAvailable = isNetworkAvailable(context); Toast.makeText(context, "isNetworkAvailable:"+isNetworkAvailable, Toast.LENGTH_LONG).show(); } public static

Android App 版本更新

大家好,我是奶綠茶 如何寫自動版本更新的提示呢? 1.先得到目前的版本: int versionCode = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode; 2.在自動的主機放置一個txt檔,並輸入一個版本號 3.檢查遠端的版本是否比較新 4.是的話,就開始下載 Intent updateIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://xxx.apk")); context.startActivity(updateIntent); context.finish(); 轉載請註明出處

Android Intent

在 Android 裡 要呼叫另一個 Activity 時 可以使用 方法1: Intent intent = new Intent( 目前Activity.this, 目標Activity.class); startActivity(intent); 方法2:可以帶入字串 Intent intent = new Intent(); ComponentName cName = new ComponentName( 目前Activity, "目標Packge+Class的字串"); intent.setComponent(cName); startActivity(intent); 方法3:使用 Action , 需在 Mainifest.xml也加入宣告 Intent intent = new Intent(); intent.setAction("milkmidi.android.IntentAction"); startActivity(intent); <activity android:name="xxx.xxx.XXXActivity"> <intent-filter< <action android:name="milkmidi.android.IntentAction"> <category android:name="android.intent.category.DEFAULT"> </category<</action<</intent-filter> >/activity> 轉載請註明出處

Android Design Preview tool

Android 好用之 Preview tool 你經常在 Photoshop 排好 layout , 想丟到手機上看呈現的畫面嗎 現在 Google 推出一個小工具 就可以把 PC 端的畫面同步到手機上 Windows 和 Mac 皆可使用,大推啦 影片: http://www.youtube.com/watch?feature=player_embedded&v=WvQrP1szEzg 下載: http://code.google.com/p/android-ui-utils/downloads/list

Flash座標自動產生器

大家好,我是奶綠茶 最近 Mobile Device 的需求越來越大 設計師們在出 layout 時, 還要自動辛苦的寫座標, 小弟就寫一個 flash 座標自動產生器, 就可以快速產生, 準時下班(誤) 可安裝在 flash CS3 以上的版本 使用方法 下載 mxp 檔, 然後安裝 開啟 flash 把要出現座標的物件,轉成 MovieClip 從 Componenet 面版找到 DisplayPosition 拉到場景上 編譯,完成,出現,下班(誤) 原樣 發怖後 轉載請註明出處

Flash TLF Text Bug

大家好,我是奶綠茶 最近朋友問我一個載入 flash 檔的問題 外部載入一個 swf , 並呼叫裡面一個 public 的函式 這麼簡單的問題,馬上就可以決解, 結果卻花了我半小時,一查之下才發現是 TLF Text 產生的 被載入的 swf 主程式碼 public class LoadedDoc extends MovieClip{ public function LoadedDoc() { trace("LoadedDoc"); } public function test():void { trace( "test"); } } 載入的主程式碼 var loginLoader:Loader = new Loader(); var url:URLRequest = new URLRequest("alert_as.swf"); loginLoader.load(url); loginLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loginPageLoadCompleteHandler); public function loginPageLoadCompleteHandler(e:Event){ var _alertAS:MovieClip = e.currentTarget.loader.content as MovieClip; _alertAS.test(); } 正常來說,這樣寫可以成功呼叫, 但當你的被載入swf有使用新版的 TLF Text時 flash會很好心的幫你多包了一層 Class, 導至就產生了錯誤 用 Flash Decompile 來看一下 使用 TLF Text 使用 Classic Text 目前還想不到解法, 先筆記一下