跳到主要內容

發表文章

目前顯示的是 2013的文章

看著這些照片,好懷念以前的日子(詐騙程式碼全攻略)

大家好,我是奶綠茶
等了好久,我終於收到傳說中的詐騙簡訊(呼,趕上流行了)


我就在想他用什麼方法來讓我中毒
身為程式人員當然要來了解對方的手法(老師有練過的,小朋友不要亂點)
首先,他是針對 Android 的使用者
所以你用 PC,Mac,iOS 打上那個網址
都會被轉到一個無人的無名小站
使用 Android 輸入, 就下載一個為 pic.apk 的安裝程式
下載完後,千萬不要按安裝,不然就中獎了
避免這樣的情形,記得手機裡的"不明的來源"一定要關掉
接著我們來看看寫了些什麼
1. 他的 package 取成 com.google.android.gmss
讓你以為是正港 Google 的程式
2. 要了很多權限, 像是直接打電話
3. 他會攔截你的個人資訊,訊息,電話
然後背後送到這個網站:appvip.istmein.de
4. 他很耗電

為何會產生小額付費款項
原因如下
該軟體先取得你的手機號碼
再傳送簡訊 appvip.istmein.de/img.php 至你的電話
然後程式碼會攔截簡訊認證碼
再把認證的資訊送回他們的主機
好了,現在你的手機已經可以被別人小額付費

避免這樣的問題,記得
來路不明的程式不要安裝
手機裡的"不明的來源"一定要關掉
祝大家學習愉快。

小弟把他的程式碼取出來
對學習Android是有幫助的,需要的朋友可以到這兒下載
https://app.box.com/s/p2iu6n06skq46nkga9b4
轉載請註明出處

Android 好用的桌機訊息提示小工具Desktop Notifications

因為工作的關系,大部份時間都在電腦前
但有時會沒注意到手機的訊息
這時可透過 Desktop Notifications 這個 App
當手機有任何的訊息時,桌機也會跳出一個提醒。
安裝完成後, 需要先啟動 Accessibility




完成後,安裝 Chrome 外掛,並填上手機上的 Code, 讓二者連接



App下載:
https://play.google.com/store/apps/details?id=org.hcilab.projects.notification
PC/Mac:Chrome外掛
https://chrome.google.com/webstore/detail/android-desktop-notificat/giicnncicnopjohcpamieklkiacdoeni

AdobeAIR Android In App Purchase

大家好,我是奶綠茶
今天來研究一下如何使用 Adobe AIR 在 Android 使用
In App Purchase, 也就是內購應用(好難翻譯,官方翻譯為:結帳服務)

奶綠茶我使用的這位作者提供的 Native Extensions
https://github.com/pozirk/AndroidInAppPurchase

首先還是要了解一下 Android 的內購流程
先 K 一下官方的文章吧
http://developer.android.com/google/play/billing/index.html

流程如下
1. 成為 Android 開發者
2. 新增 AIR 的應用程式, 並在 manifestAdditions 增加內構權限

3. 編譯出 apk 檔, 並上傳到 Developer Console
成功的話,就可以看到"應用程式內產品"可以新增項目

4.新增內構的項目,有三種, 這部份就自己看一下官方文件吧

5.選擇"服務和API",找到你的 Base64 編碼
6.回到 Adobe AIR, 就可以開始寫程式了
測試的結果


不過使用 AIR NativeExtensions 在內購時,有一個問題要注意
無法付費完成後,馬上使用消耗性物件
比如說遊戲的金幣或是藥水之類的
這是因為 AIR NativeExtensions 無法得知 Android Activity 裡的 onActivityResult 事件
要改也是可以,但工程有點大
所以目前只能用在永久性商品較適合,像是升級成 Pro 之類的。
轉載請註明出處, 祝大家學習愉快

Adobe Flash CC

大家好,我是奶綠茶
最近 Adobe 推出新的雲端服務,把所有的產品線都放上去
今天就來介紹 Adobe Flash CC
在 UI 上新增了暗色系, 也可以換回本來的亮色系。
移除了 AS2 的功能
只支援64位元
啟動,超快的啦


文字的部份只保留原本的動態文字


新版的 Extension Manager 只支援 zxp 格式
這裡有個麻煩之處,舊版的副檔名為 mxp,在新版本裡不能直接安裝
所以需要先找到 Extension Manager CS6 版本,將 mxp 轉成 zxp 格式
這樣 CC 才支援。



轉載請註明出處

Flash AS2 素材Banner程式小幫手

大家好,我是奶綠茶
台灣各家入口網站大多都還只支援 FlashAS2 的素材
在製作時, 會在最上方的圖層上蓋了個透明的 Button 元件
此時下方的其他元素滑鼠事件都會失效,這時可以透過奶綠老師提供的方法
讓物件擁有onRollOver,onRollOut事件
原理:改用 onEnterFrame 不斷的 hitTest 來判斷


圖層:milkmidi_as,筆者的語法,固定加在最上一個圖層即可
// milkidi MovieClip protoypte extends MovieClip.prototype.bannerMode = function(over:Function , out:Function ):Void{ trace("milkmidi bannerMode: "+this); var isOver:Boolean = false; this.onEnterFrame = function ():Void { if( this.hitTest( _root._xmouse, _root._ymouse,false )){ if( !isOver ){ over.apply( this ); isOver = true; } }else{ if( isOver ){ isOver = false; out.apply( this ); } } } } MovieClip.prototype.play2 = function(pFrame:Number , pSpeedFactor:Number, pCallBack:Function):Void{ var _frame :Number = pFrame || this._totalframes ; if (this._currentframe == _frame) { if(pCallBack != undefined) pCallBack.call(_clip); return; } var _emptyMC_ :MovieClip = null; if (this["_emptyMC_"] == unde…

FlashDevelop Error: Java heap space

在使用 FlashDevelop 編譯時出現了
Error: Java heap space
解法:
開啟
{FlexSDK_Root}\bin\jvm.config

把本來的
java.args=-Xmx384m -Dsun.io.useCanonCaches=false
改成
java.args=-Xmx1024m -Dsun.io.useCanonCaches=false
存檔,重新啟動 FlashDevelop

原文出處:
http://www.flashdevelop.org/community/viewtopic.php?f=13&t=6006

flashdevelop unable to start java.exe

最近在使用FlashDevelop發生了這樣的問題
解法:
請安裝 JDK6 , 不要裝 JDK7
請下載 32 元位的 JDK, 不要裝 64 位元的
筆者的預設路徑為:
C:\Program Files\Java\jre6
找到 FlexSDK 的目錄下的 bin 資料夾
開啟 jvm.config
本來的
java.args=
換成
java.home=C:\Program Files\Java\jre6
存檔,重啟 FlashDevelop
完工
轉載請註明出處

Android Custom Dialog

大家好,我是奶綠茶
這一篇來分享如何客製化 ProgressDialog 及 AlertDialog
在 github 官方的 Android App 裡,就有客製化
有興趣的朋友可以直接取得原始碼
https://github.com/github/android
Github ProgressDialog
加入自定的圖示
dialog.setIndeterminateDrawable(context.getResources()
.getDrawable(R.drawable.spinner));
接著在 spinner.xml 就可以使用 rotate 來指定要旋轉的圖示


接著你還可以更改位置
@Override public void show() { super.show(); final Window window = getWindow(); window.getDecorView().setBackgroundDrawable( new ColorDrawable( 0x88ff0000 ) ); window.setGravity(Gravity.BOTTOM); WindowManager.LayoutParams params = window.getAttributes(); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes( params ); }
拿掉黑底, 在 Style 裡更改
<item name="android:backgroundDimEnabled">false</item>


預設的 AlertDialog


自定 AlertDialog
如果要去更改預設的 AlertDialog 樣式相當的麻煩
所以在這我就是自定一個 layout, 然後丟到 Dialog 裡最呈現
這兒有點小地方要注意
Android 3.x 前的版本,確定在左邊
3.x 後的版本,確定在右邊
所以在製作的時候要多這個判斷






轉載請註明出處
SourceCodeDownload

2013新書 設計職人必修:用 Flash 輕鬆打造 iPhone / Android 手機 App

呼,小弟的第二本 Flash 書
設計職人必修:用 Flash 輕鬆打造 iPhone / Android 手機 App
教你使用 Flash 來開發 iPhone / Android 的應用程式




範例搶先看:可以下載 Android / iOS 的完成檔
http://milkmidi.com/2013book/

博客來書籍館的介紹:
http://www.books.com.tw/exep/prod/lookinside.php?item=0010579967

筆者會將發現的錯誤記錄在這篇,如果大家有發現其他的問題也麻煩跟小弟說一下
感謝大家
問題回報:

設計職人必修, 用 Flash 輕鬆打造 iPhone, Android 手機 App

是的,各位奶粉們,小弟的第二本書
"設計職人必修, 用 Flash 輕鬆打造 iPhone, Android 手機 App"
即將上市啦, 滿滿的精采範例, 
熱血的程度就像中日棒球之戰一樣,
搶購的熱潮就像反核活動一樣(明明就還沒上市)。
特別預留 2 本給奶粉們。
活動時間:現在開始到小弟拿到書為止。
活動玩法:以 "書名任意一詞" 來造句。
例:我愛 Flash(有出現 Flash)。
例:核四的問題是每位職人必修的課題(有出現 職人必修)。
小弟將選出最有創意的二名得主。(創意創意,千萬不要抄襲)
創意沒有好壞,一切以我自己來主觀判斷(對,我就是裁判)
抱歉補充一下:因為書的運費關系,限台灣地區的朋友參加



範例搶先看
http://milkmidi.com/2013Book/?s=blogger
想第一手拿到書的奶粉們,可以到筆者的粉絲團
https://www.facebook.com/milkmidifans

AIR on Android 的大Bug

大家好,我是奶綠茶
最近在熱血於 AIR 上的行動裝置開發
發現了一個大問題
在 Android 平台上, 如果你使用了 Stage3D, 小弟使用的是 Away3D
在 permission 加上這一段後

效能就會變的超差的
原因不明
可以下載筆者這個 Demo
加入這一段就可以知道了
http://milkmidi.blogspot.tw/2012/11/away3d-on-ipad-and-android.html

轉載請註明出處

2013 Adobe AIR Mobile 跨平台行動裝置開發班

2013 Adobe AIR Mobile 跨平台行動裝置開發班
是的,小弟精心準備的行動裝置課程

應用程式的戰場已從桌機漫延至行動裝置, 這中間經歷過 iOS 公開表示不會支援 Flash Player, 而 Adobe 也宣佈放棄 Android 平台的 Flash Player, 看似 Flash 的時代好像結束了, 其實不然, Flash 在桌機平台上還是保有優勢, 近來加入的硬體加速功能 ( Stage3D, StageVideo ), 及多執行序工作 ( Worker ) , 更讓 Flash 在效能上大大的提升, 更能讓創意的點子不在受限於以往的效能而無法完美的發揮。
Flash 在行動裝置上多了 Adobe AIR 的包裝, 把各平台上的向容性問題降到最低, 省去許多測試的時間, 開發上也是用熟悉的軟體與語言, 節省人力成本與工時, 面對這麼競爭的 App 市場, Flash 還是最佳的開發選擇。
本課程是針對智慧型手機 iPhone 和 Android 所量身定做的程式開發課程 使用 Adobe Flash 透過 AIR SDK, 編譯到各行動裝置平台。
學員需自備一隻行動裝置以方便開發測試, 二選一即可:
1. Android 請先確定您的裝置可以安裝 Adobe AIR https://play.google.com/store/apps/details?id=com.adobe.air
2. iOS iPhone4 或 iPad2 以上的裝置 需先成為 iOS 開發者, 並在 Mac 上取得 p12 憑證 可以參考梅干桑老師的教學, 如何製作 iOS 開發者憑證 http://www.minwt.com/ios/4411.html 課堂上請攜帶轉好的 p12 憑證。 如果你的機子 JB 過的話就不需要以上步驟

報名網址:
http://www.flycan.com.tw/course/Adobe-AIR-Mobile.php

trace 進化版

大家好,我是奶綠茶
在開發任何程式語言時, 輸出的資訊是非常重要的
在 AS 裡使用 trace 來輸出
但預設就只會輸出文字
想要得到在那個類別下的函式執行的
可以透過以下的方法。

package { public function mTrace( ... args ):void { var e:Error = new Error(); var caller:String = "[" + e.getStackTrace().match( /[\w\/]*\(\)/g )[ 1 ] + "]"; trace( caller, args ); } }
接著就可以使用 mTrace("我是奶伯伯"); 就會得到像這樣的資訊 [CateringMain/init()] [object CateringMain] 轉載請註明出處

在 Facebook IFrames 使用 Google Analytics

大家好,我是奶綠茶
最近遇到一個問題
就是在 IE 下(是的,又是該死的IE)
包在 Facebook 裡的 iFrame 網頁. Google Analytics 會失效

解決方法可以參考以下網址
How to Track Facebook iFrames with Google Analytics
http://www.savio.no/blogg/a/104/how-to-track-facebook-iframes-with-google-analytics

Texturepacker

大家好,我是奶綠茶
在開發 Starling 或是 Html5 動畫時,
會需要把所需要的元素合成一張圖片
同時輸出一份文件檔(通常是 XML)
如果要自己製作就太慘忍了,好再有好用的工具可以使用
http://www.texturepacker.com/
TexturePacker
最好用的是,可以把 swf 丟進軟體
就幫你產生一張大圖和文件
支援 Starling、Cocos2D 等軟體
有試用版可以下載, PC , Mac 皆有
大推