2011年11月22日 星期二

把 Timer 當 postDelayed 用的方法

之前在寫 .Net 的專案時若需要用到 Timer 常常會直接使用 DispatcherTimer
官方文件:System.Windows.Threading.DispatcherTimer
使用方法在文件中有很詳細的介紹…

2011年10月15日 星期六

PhoneApplicationPage Navigation

撰寫 Windows Phone 時的感覺和寫網頁很像…
但開發者對於 PhoneApplicationPage 的存活控制權很低…
就目前為止我還不知道如何使一個 Page 真的解構或得知一個 Page 何時解構…

2011年10月2日 星期日

C# DateTime 與其他語言 DateTime 計算的注意事項

在 PHP、Java、C++ 等語言上面的日期類別在取 getTimeInMillis() 時…
以現在的日期時間來看應該是拿到類似 1317528009050 這樣的長整數…
但 C# 拿到的值非常不一樣…是類似 634531104000000000 這樣子的長整數…

2011年10月1日 星期六

Thread Local Storage

在撰寫多緒的軟體時難免會發生主、副執行緒使用同份資料的情況…
有一個修飾字可以讓一個變數安全的讓每個 Thread 都取用同樣的資料即 volatile
但我們如果想要反過來讓每個 Thread 不會影響各自的資料呢?就得用到 TLS 嘍…

2011年9月29日 星期四

取得 HttpWebRequest 的 404 狀態

在使用 HttpWebRequest 時我們常常會依 HttpStatus 是否為 200 判斷正常與否…
取得 HttpStatusCode 的方式通常是從 HttpWebRequest 中再取出 HttpWebResponse

2011年9月28日 星期三

WebView 的 External Object 範例

最近弄到的技巧…順便寫個小範例…
記錄一下如何在 WebView 中加入一個 JavaScript Method 並讓網頁回傳參數給 App…

2011年8月25日 星期四

NavigationService.Navigate self

在 Windows Phone 上要開啟某個 PhoneApplicationPage 時,
常常會使用 NavigationService.Navigate 方法…
但一個 PhoneApplicationPage 可以 Navigate 自己嗎?

2011年8月24日 星期三

NeutralResourceLanguage Error 2003 or 1047

前一陣子微軟的 APP HUB 改版…
今日首次在改版後放新版 App 上去…上傳完畢就出現以前沒看過的訊息…

the [neutralresourcelanguage] attribute is missing on the entry assembly. (2003)

2011年8月23日 星期二

scrollTo 沒反應

撰寫 Android 的專案時畢竟大多數情況都是在小尺寸螢幕上顯示…
一直以來都很依賴 ScrollView 或 HorizontalScrollView 讓用戶捲動過多的資訊…
有次要自動幫用戶捲動到重要資訊的位置時…卻發現下了 scrollTo 沒反應…

2011年8月20日 星期六

Get 參數在 WebBrowserTask 失蹤的問題

WebBrowserTask 是在 Windows Phone 上常用來開啟 Browser 的方式…
一直以來都只是拿來開網頁…某次因為配合某項活動做了特別的事…
開啟網頁時必須串上一些 Checksum 字串做參數…這時就發生了以前沒遇過的怪事…

2011年8月2日 星期二

跨頁的 PanoramaItem

在 Windows Phone 上很常用到 Panorama Layout
有許多知名的 App 除了一般的翻頁效果外…還有跨頁的 Item
最近也在公司軟體的改版內有個頁面必須顯示較多的橫向資訊
所以必須加入跨頁的 PanoramaItem

2011年7月9日 星期六

在 TextView 上顯示圖片

有時我們會利用 Html.fromHtml 將 html 字串丟給 TextView 以顯示較為明顯的文字…
若該 html 中有圖片時,是否能在 TextView 上顯示呢?答案是可以的…
利用 Html.formHtml 其中一個 Overload 傳入 ImageGetter callback

2011年7月2日 星期六

Activity android:launchMode

在 Manifest.xml 中每個 Activity 都有個 launchMode 可以調整…
如果專案中每個 Activity 都很獨立,一般是不太需要注意到這個屬性…
但若是專案中的某個 Activity 有可能 startActivity 自己…
例如一個用來顯示資料列表的 Activity 可能在點了某項目後還是利用同一個類別顯示子項目…
那 launchMode 就需要注意嘍…使用了錯的 launchMode 可能造成操作流程不符合預期…

簡易的 interface 應用範例

最近有點覺得自己在 Android 專案中將 Broadcast 用過頭了…
漸漸的在 refactor 的過程將一些 Broadcast 以 interface 的方式替換掉…

2011年6月30日 星期四

自訂預設的語言辨識語系

在 android 的平台下,我們可以很輕鬆的結合語音辨識來做一些貼心功能…

android developers 語言辨識範例

以裝置的語系是繁體中文為例…用戶念出來的句子可能被自動辨識為中文或英文…
例如用戶念的是不夠標準的英文 Jason …而辨識器回傳 "節省" 兩個中文字…
或有些時侯我們其實已知用戶說的一定是中文…但卻被誤判為英文…這樣感覺就不夠專業了…

利用 getDisplayMetrics 調整元件尺寸

在 android 的專案 res 資料夾中…有 drawable-hdpi、mdpi、ldpi 等資料夾…
在文件中的以下文件有提到系統會根據裝置的 Dpi 值預設使用哪個資料夾的檔案…

2011年6月23日 星期四

在 Emulator 下使用實體鍵盤輸入

說來慚愧…Windows Phone 的專案也開發了個不算小的東西出來…
一直都是使用模擬器上的螢幕鍵盤在輸入文字…
到了最近才知道原來在使用模擬器時,按下實體鍵盤的 PageUp 即可切換為實體鍵盤輸入…
而按下 PageDown 又可以切回虛擬鍵盤…
是的…兩種鍵盤不能並存…也算蠻麻煩的…
但是在輸入大量文字時至少有實體鍵盤可以測就方便多了…
以前要測試 Windows Phone 上的瀏灠器看某網頁時若網址帶了長長的 Get 參數總是心煩意亂…
將此資訊提供給和我一樣有此需求的人…

2011年5月21日 星期六

識別 3G 網路服務提供商

不知這是不是台灣的怪現像還是其他國家也有一樣的狀況…
Android 除了官方的 Market 之外…還有各電信商獨自的市集…
例如中華電信的 Hami 或遠傳電信的 S 市集等…

2011年5月20日 星期五

利用 CheckBox 控制顯示密碼

最近在弄一個需要登入驗證密碼的服務…
比較特殊的是這次在 App 上不必檢查密碼內是否含有什麼特殊字元…

2011年5月19日 星期四

好用的 Microsoft.Phone.Tasks

Microsoft.Phone.Tasks Namespace 下有許多好用的類別…
例如播號的 PhoneCallTask、開啟瀏灠器的 WebBrowserTask

2011年5月17日 星期二

如何獲得連線狀態

在 Android 上想要知道目前裝置是否有連線能力必須觀察系統 Broadcast
Action 為 ConnectivityManager.CONNECTIVITY_ACTION
以下程式碼示範如何判斷目前是否有連線能力與是否使用 3G 網路

2011年5月13日 星期五

CDialog m_pCtrlCont 與 Focus

這陣子都在 Windows 7 x64 的環境下開發專案…
因為發生一些狀況所以將專案 pull 一份至 Windows XP 上編譯…

2011年4月20日 星期三

ListView cacheColorHint

這是一個簡單的 ListView 描述,背景不是單純的顏色…
而是選用一張圖片作背景,如此執行起來似乎沒什麼問題…

2011年4月17日 星期日

判斷某個 package 是否存在與開啟某個 App

最近的專案碰到的新東西…記錄一下…
以下是尋找裝置中是否有安裝某個 package
通常用在判斷當有裝某東西才做某些事時用到,目前知道的方法有兩種…

2011年3月27日 星期日

vs 2008 in Win 7 x64

最近換了新的工作機,由 Windows 7 x86 轉到 Windows 7 x64
花了些時間將平時上班常用的工具裝一裝…大致上就是 Visual Studio、 Eclipse 等等…

2011年3月6日 星期日

callback function

最近在包裝一些程式碼…
主要是讓其他人方便使用又可以讓程式碼達到隱密性的要求…
一直以來只有使用像 AfxBeginThread、STL Sort 這類的 callback 經驗…
以致於忘了一些細節…剛好這次吃了點虧所以印像變深刻了…記錄一下…

2011年3月3日 星期四

friend class

最近有個需求,必須寫一個 Library 供合作廠商使用,
Libray 的內容有關於公司的機密,所以不能任意讓其他人存取,

2011年2月25日 星期五

WebClient 與 HttpWebRequest

在 .Net Framework 的 System.Net 下有許多操作網路資源的 Class
挑這兩個出來是因為在 Windows Phone (或說Silverlight) 上僅有這兩個可用

2011年2月16日 星期三

在 ImageView 顯示 internet resource

直覺上要在 ImageView 顯示 http://ooo.xxx/nnn.jpg 此類網路圖片,
應該是用 ImageView::setImageUri() 才對,試驗以後卻發現沒反應。

2011年2月15日 星期二

2011年1月28日 星期五

FindBugs

介紹一個最近由老闆介紹下才知道的 Java 分析工具 FindBugs
因為我自己是用 Eclipse 開發 Java 專案,所以僅記錄安裝 Eclipse IDE 的流程…

2011年1月20日 星期四

更新 Android 2.3 SDK 與注意事項

Google 在前先日子已經釋出 Android 2.3 SDK 嘍…
因為先前有記錄過在 Windows 下裝 Android SDK 的方式了…
這裡僅記錄升級 2.3 SDK 的方式…

2011年1月16日 星期日

日期與字串的小記錄

這陣子對於 Java 這個語言可以說是硬寫,
實在沒有什麼基礎,從前輩寫的某個專案拿過來就邊看邊學寫了起來,

2011年1月11日 星期二

獲取 https 連結內容

最近在 Android 上需要介接一些 https protocol 的 API
大部份和登入與授權有關,比如 facebook、plurk 等登入 API
所以記錄一下與 http 連線不同之處,大概就是針對 httpClient 物件做一些額外的調整