自製吐司訊息(Customizing Android Toast)

Customizing Toast

原本的 Toast 是小小的黑色背景,在螢幕下方出現,當 Activity 的背景也是黑色的時候,會不太容易看見,這時候可以設計自己的 Toast,讓訊息明顯,以免被使用者忽略了。
原本呼叫 Toast 顯示的方法如下:
Toast.makeText(context, "要顯示的訊息", Toast.LENGTH_LONG).show();
自製 Toast 必須用到自定的 layout。

安裝 Redmine (CentOS + Apache + Ruby on Rails + Redmine)

CentOS + Apache +
Ruby on Rails + Redmine

什麼是 Redmine?根據官方文件的說明,Redmine 是一個很有彈性的專案管理網頁應用程式,使用 Ruby on Rails 框架,可以跨平台及跨資料庫,而且還是 open source。其他更詳細的特色可以參考官方文件的說明。

重點在於專案管理。之前在找類似的軟體,試用過幾個使用 PHP 語言開發的專案管理軟體,但用的不是很順手。當初是因為不熟 Ruby on Rails,所以沒有使用 Redmine。使用其他 PHP 開發的軟體專案管理軟體,可以很快的加入原本的環境中,但如果不好用 (應該是我用不習慣),很容易架設又有什麼用呢?

Cocos2D 學習筆記 (6) - 整合練習2

萬箭齊發 Demo 2

萬箭齊發2 前一版本是利用 CCMoveTo 來移動火箭,現在我們要用另一個方法來移動火箭,這個方法會有一個遊戲主迴圈,這個迴圈會以影格的速度被呼叫,假如是 1 秒顯示 60 個影格,那這個迴圈就是 1 秒被呼叫 60 次,我們將利用這個迴圈來達成元件的移動。

Cocos2D 學習筆記 (5) - 聲音

Cocos2d Sound

關於音樂與音效,iOS 提供兩個加入聲音的框架:
  • AVAudioPlayer:快速容易使用,但功能有限。
  • OpenAL:屬於低階 API,功能較多。
Cocos2D 使用 CocosDenshion 聲音引擎,整合了以上兩種音框架。同時提供了更簡單的 SimpleAudioEngine。

Cocos2D 學習筆記 (4) - 整合練習

萬箭齊發 Demo

這個練習主要是把前面學到的做個整合,做出一個在畫面上不斷往上發射的火箭。依然利用前的範例來修改,大致的步驟如下:
  1. 新增一個自製的火箭 CCSprite
  2. 修改 GameLayer.m 將原先的 CCSprite 換成我們的,並且每秒產生一個火箭。

Eclipse 快速轉移到新版本 (3.7 to 4.3 Kepler)

Eclipse Kepler

我之前使用的版本是 3.7.x 版,在把 3.7.1 升級到 3.7.2 時,只需要到 Window (在 Mac 上是 Helper) -> Install New Software ,從官方的網址上的就能直接升級。但後來想要升級到 4.2 以上的版本時卻發現好像不能直接這麼做,參考這篇,所以最佳做法就是直接下載新的 Eclipse 來使用,這最麻煩的地方就在於外掛及專案開啟的問題,後來找了一下,好像還滿容易的,做法如下。

Eclipse UI 佈景 (MoonRise UI)

MoonRise UI

不知道為什麼,就是很喜歡這種烏漆嘛黑的編輯器,最近發現一個叫 MoonRise UI 的佈景,可以讓 Eclipse 完全變暗,超愛的。可惜的是,在 Windows 上用起來效果很不好,有些字都看不清楚,而且開關資料夾的箭頭也怪怪的,最後只好換回來,但是它的語法高亮的顏色還不錯看,名字叫 RainbowDrops 就真的很彩虹。

這個佈景只支援 Eclipse 4.2+ 的版本,安裝方法很簡單,網站上都有寫的很清楚了,以下是快速說明。


Cocos2D 學習筆記 (2) - 圖層(Layer)及場景(Scene)

Cocos2D demo

上一篇中,我們透過 HelloWorld 來體驗 Cocos2D 的第一次執行,接下來將寫幾行程式,試著加入自已的角色 (Sprite)。
註:Sprite 在 wiki 中的解釋為場景中的一組二維影像,中文被翻譯成「精靈」,這邊我把它稱為角色比較好說明。至於到底什麼是 Sprite,直接搜尋圖片「sprite sheet」就可以清楚瞭解了。




Android 地圖與定位 (Maps and Positioning)(3)

Positioning Demo

前面兩篇(1, 2)主要都是在講地圖,這篇要來講定位,本篇會用一個簡單的軌跡顯示範例來說明。使用地圖時有些必要條件,雖然第一篇有提過了,不過還是再提一下:
  • 請確定已經下載最新版本的 Google Play services client library 並且加入 Eclipse 中
  • SDK 必須使用 Android version 2.2 (API level 8) 或之後的版本,但因為有用到 MapFragment 所以 Mini target SDK 必須大於 12。(建議直接用最新的SDK會遇到最少問題)


解決 iOS6 螢幕自動旋轉(Screen Autorotate)的問題

ios 6 autorotate

螢幕自動旋轉的機制在 iOS6 中有了重大的改變,由於沒時間研究(另外一種說法就是懶~哈哈),就讓舊程式碼一直將究著使用,直到發現情況不妙了,只好還是花時間來找答案。


Google Analytics for Android (1) - 入門

Google Analytics

使用 Google Analytics SDK 能測量什麼:
  • 有多少活躍的使用者在使用應用程式
  • 應用程式在什麼地點被使用
  • 哪些特定的功能被採納及使用
  • 應用程式發生的崩潰及例外
  • 程式內購買(In-app purchases)和交易
  • 其他有用的度量值


在 Android App 中增加分享功能

App share to...

要在 App 中分享訊息到其他 App,例如 Facebook、Plurk、mail 或簡訊等等,可以有兩種做法,一種比較麻煩,必須去使用該平台所提供的 SDK 或 API,一個一個去實做,好處是可以使用比較多的功能,但缺點是開發者必須每個平台都實作,使用者才能使用,使用者能分享到哪個平台,取決於開發者是否實作該平台。

Android 地圖與定位 (Maps and Positioning)(2)

Maps and Positioning

在應用程式中使用 GoogleMap 類別來建立地圖物件,地圖物件可以在 MapFragmentMapView 中顯示。

GoogleMap 幫我們做了哪些事:
  • 連結到 Google Maps service。
  • 下載圖資。
  • 在螢幕上顯示地圖。
  • 顯示控制按鈕,例如平移及縮放。
  • 執行平移及縮放手勢。