2014年2月25日 星期二

OrmLite ProGuard Setting

OrmLite 的 ProGuard setting


# OrmLite uses reflection
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }

-keepclassmembers class * { 
  public <init>(android.content.Context); 
}
-keepattributes *Annotation*
沒設定可能會出現 DataField 的 Annotation 無法找到 reference。
參考:http://stackoverflow.com/questions/9853096/proguard-with-ormlite-on-android

2014年2月16日 星期日

Android Free Chart Library Comparison

列一下 Android 的圖表 Library 比較以及看起來的優缺點。

較推薦
  1. AChartEngine:https://code.google.com/p/achartengine/
    仍在維護、支援圖表種類夠多、沒針對 dpi 處理。
  2. AFreeChart:https://code.google.com/p/afreechart/
    久未維護、支援圖表種類夠多、沒針對 dpi 處理、沒針對螢幕大小處理。
  3. AndroidPlot:https://bitbucket.org/androidplot/androidplot/overview
    仍在維護、支援圖表種類夠多、似乎有針對 dpi 處理
其他
  1. HoloGraphLibrary:https://bitbucket.org/danielnadeau/holographlibrary
    仍在維護、支援圖表種類少、有處理 dpi、有處理螢幕大小。
  2. GraphView:https://github.com/jjoe64/GraphView
    較少在維護、支援圖表種類少、dpi 及螢幕尺寸問題因不符需求不確定。
  3. StockChartView:http://stockchartview.org/
    仍在維護、較新出、圖表支援種類尚不足?、未處理 dpi



Convert Project From Subversion To Git Using git2svn

從 SVM 匯入專案到 Git
可手動用 git svn 或是用 git2svn。
而 git2svn 也是 GitHub 推薦的移轉方式

GitHub:https://github.com/nirvdrum/svn2git


用法可參考 README 的說明,不同格式的 svn 配置方式會需要不同的參數。
一般來說用第一個就可以,不過也有例外。

例如這次要將 AChartEngine 做一份 Git Mirror。
由於 AChartEngine 只有 trunk 一個目錄(見上方連結),因此用了第三個方式:

svn2git http://svn.example.com/path/to/repo --trunk trunk --nobranches --notags

2014年2月13日 星期四

Intent Filter android:scheme Must Be In Lowercase

從 Android 4.4 開始,內建瀏覽器改為 Chrome。
而 Chrome 在解讀網址時,會將網址的 scheme 轉為小寫。
因此在實作上要遵從官方的說法。

且官方原本也就建議 Intent Filter 的 scheme 和 host 都必須使用小寫。
官方說明:http://developer.android.com/guide/topics/manifest/data-element.html