March 31, 2011

myPocket 發表

先前提過的記帳小軟體目前已經發佈到market上了。

我自己的使用情境是這樣。
平常摸的到電腦的時候用MacMoney記帳,在摸不到小麥的時候記到myPocket裡面。等回到家匯出,傳送到dropbox,再打開MacMoney把資料匯進來。

很想試試myAB的匯入功能,無奈我自己沒有買,目前也只能推測這樣匯出myAB是可以正常吃進去的了。希望有熱心網友可以回報使用情形。

匯出excel的功能是為了各位熱情捧場的朋友們,竟然願意選擇myPocket作為唯一一套記帳軟體讓我有點受寵若驚。(哈哈...) 不過這樣的使用情境是不是還需要再增加什麼其他功能可能就需要各位使用者提供意見了。

Market連結: myPocket

softkeyboard擋住控制元件

之前就有發現有時候軟鍵盤出現的時候會擋住比較底下的EditText。本來沒有特別去找什麼solution。

其實我加了ScrollView之後,擋住的問題還是存在。

google之後找到解法。原來只要在該activity的manifest裡面加入android:windowSoftInputMode="adjustResize"就可以囉~ 真是方便呢。

March 30, 2011

Market無法修改recent changes

開始在market publish,一切都還頗為新鮮。

今天又替我的小軟體更新了一些功能,要放出去之前想要增加一些comment結果不知道為什麼,market上的recent changes這欄一直都不能修改。明明就已經上傳新的版本了還不讓人家改,真的是很奇怪的一件事。

後來google查才知道原來是market的小bug。參考這篇

所以只要先save之後就可以修改recent changes囉~

March 22, 2011

native code發生奇怪的crash

最近一直發生JNI的code鬼打牆的狀況。
同一份code的有時候build起來就可以用,有時候build起來就會一直當掉。查svn的log查了老半天查不出個所以然。

結果原來是因為,我們只看到native code會掛掉就一直查native code的部份,殊不知原來NDK在build的時候也會很"聰明"的去檢查AndroidManifest.xml,看來似乎是為了如果現在是debug build的話,JNI也要跟著build一些東西進去。而那些不知道到底是什麼,又根本沒用到的東西,就是造成我最近莫名其妙跑起來都會當掉的原因。

總之,如果各位在使用NDK又發生奇怪的狀況,請記得先試試看,把AndroidManifest.xml裡面的debuggable先設為false來build native code,以免發生這種怪事。

以上case close!

March 13, 2011

我的記帳小軟體

從windows時代就開始習慣用電腦記帳,當時用的是帳務小管家。後來換成mac之後,就找了另外一套記帳軟體- MacMoney

因為我平常使用電腦的時間蠻長的,所以通通用電腦來做記錄也十分方便。把記錄留在電腦上也比手機來的安全,免得不小心把手機還原或者刷機之後,資料就不見光光了。

不過這樣還是有點小缺點,如果週末出門玩耍,一整天的時間都碰不到電腦,一整天又花不少錢的時候,就很容易記到漏掉,這時候就會很希望手機上還是可以有個記帳軟體可以用。

所以我也曾經試過一些android的記帳軟體,但這樣兩套各自運作的結果就是,晚上回家我還是得把記錄重新手動輸入到電腦的記帳軟體內,非常不方便。這時候就覺得如果能有一套軟體,可以把資料從手機同步到電腦的記帳軟體內那就真是太方便了!!!

其實mac money這套軟體真的做的非常好。作者提供有一個線上記帳的功能,智慧型手機的使用者只要連上網路就可以線上記帳。然後可以直接在mac money內匯入線上記錄的帳目,已經非常方便了。

上週無事,記帳的時候忽然發現我的mac money有一個選項十分可疑。

研究一番之後,發現他的格式也非常簡單,於是就試著做了一個小軟體讓我可以從手機上記帳,然後再用它的匯入功能將資料匯入mac money中。

就這樣,我的第一個小軟體就誕生囉。

March 11, 2011

use Input type="numberDecimal|phone"

當我們想讓使用者單純輸入數字的時候可以在xml裡面指定Input type=numberDecimal
但往往這樣寫卻是出現一個包含所有符號的鍵盤,數字鍵只有上面小小一排,非常難按。

此時我們可以使用系統的電話鍵盤Input type=phone

你看這樣不是好按許多嗎...
但是這樣一來,使用者可能會從這個鍵盤誤輸入一些非數字的符號,若要避免這種情況,可以加入底下的設定。android:digits="0123456789"如此一來就不會吃到一些奇奇怪怪的符號囉。

March 9, 2011

ProGuard for Android

android sdk在升到目前的最新版本(SDK tools r10, ADT 10.0.0)之後,google為SDK tool提供了新功能。直接將混淆器ProGuard內建至整個開發流程中。

在[project]/default.properties內加入proguard.config=proguard.cfg即可指定proguard的混淆參數為proguard.cfg檔。

該檔案也會在新建專案時自動產生通用內容。開發人員只需要將需要keep的class設定加到這個cfg檔內即可。

一般都是加入-keep public class com.myapp.customcomponents.* 若要整個package全部都keep的話則用-keep public class com.myapp.customcomponents.** {
public protected *;
}


Android Developer - ProGuard
ProGuard如何Keep整個package

複製檔案路徑

有時候需要複製檔案路徑,可能用來分享給別人,或者寫一些教學文件或記錄。在windows上只要從檔案總管的網址列複製下來就可以了,但是在mac上卻沒有這樣的東西可以用。

每次還要打開文字編輯器來拖拉放也真的是一件頗為麻煩的事。

搜尋之後找到這個網頁,上面提供了一個小機器人的workflow可以使用。

下載下來之後先將Get File Path.action點兩下安裝至automator,再點Copy File URL.workflow,再儲存起來,就會自動跑到finder的service內了。


正確安裝之後,在finder中,點選檔案右鍵就可以出現如下選項。


點選在資料夾點選右鍵,服務>CopyFileURL即可使用。