2013年8月30日 星期五

使用 Dropbox 備份 source code

基本上我自己開發 sample app 都會一併使用 git 開始管理 source code
一方面為了備份, 只是存在本地總是有風險

Steps

  • 聯結 Dropbox 到電腦
    我的路徑是 ~/Dropbox/ git base 想放在 ~/Dropbox/Backup/gitbase
  • 建立 bare 的 git repository
    bare 的話,就不會把 source code 再 checkout 出來一份
$ cd ~/Dropbox/Backup/gitbase
$ git init --bare HelloWorld
Initialized empty Git repository in /Users/elvis/Dropbox/Backup/gitbase/HelloWorld/
脫光光的 git repository 長得像
$ ls -l HelloWorld
total 24
drwxr-xr-x 9 elvis staff 306 8 30 14:56 .
drwxr-xr-x 8 elvis staff 272 8 30 14:56 ..
-rw-r--r-- 1 elvis staff 23 8 30 14:56 HEAD
-rw-r--r-- 1 elvis staff 112 8 30 14:56 config
-rw-r--r-- 1 elvis staff 73 8 30 14:56 description
drwxr-xr-x 11 elvis staff 374 8 30 14:56 hooks
drwxr-xr-x 3 elvis staff 102 8 30 14:56 info
drwxr-xr-x 4 elvis staff 136 8 30 14:56 objects
drwxr-xr-x 4 elvis staff 136 8 30 14:56 refs
  • 連結原來的 source code 到 dropbox
$ cd ~/work/HelloWorld
$ git remote add dropbox ~/Dropbox/Backup/gitbase/HelloWorld
如果原來已經有一個 master 了, 你也本來沒有 upstream
$ git push dropbox master
$ git branch -u dropbox/master master
如果原來的 master 已經有 upstream 了,只是備份用,就直接
git push dropbox master

2013年8月27日 星期二

View.isInEditMode()

每次都會忘記的東西
在 Custom View 裡, 想要在 GUI layout editor 看到東西
if (isInEditMode()) { // put some item here }
這樣在 layout editor 就可以看到,而不是空空的一片
這個可以參考 Google IO 2011 影片

2013年8月22日 星期四

iPad 發瘋 lag

昨天晚上為了看 半澤直樹
就開了風行影視起來看
看到一半又想到玩一下 Plants vs Zombies 2
結果呢
本來就覺得很頓的 iPad 3rd gen 便是像發瘋般的 lag

動了一陣子後,他就自己關機了 -____-"

anyway, 反正搞了半天本來還想 reset 它...
結果發現應該是剩下的容量低到某個水位
因為
  • 風行影視大約 cache 了 500MB 的資料
  • PvZ 2 一開起來又開始下載了 180 MB 的資料

卯起來把裡面的照片 app 清一清就沒事了
64G 的 iPad 剩下 9G...
清完後也順了不少

本來颱風天 12 點多就要睡的,弄到一兩點
結果失眠了
wtf..............................

2013年8月21日 星期三

Eclipse 使用 hidden API

Eclipse 使用 hidden API

流程

  • 會需要 out/ 下的東西, 所以先完整的 build 過一次
  • jar 檔 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/ classes-full-debug.jar
  • $ unzip classes-full-debug.jar -d xxx
  • 把 META-INF 和所有不需要的 class 刪除
  • 例如 app 需要以下的 import
android.app.ActivitManager
android.content.Intent
android.media.AudioManager
android.media.AudioSystem
android.text.TextUtils
  • 重新打包成 jar 檔
$ jar cvf ~/hidden.jar android
  • 加進 Eclipse 的 libs/ 下
  • clean build

script, save your life

$ cat classlist.txt
android.app.ActivitManager
android.content.Intent
android.media.AudioManager
android.media.AudioSystem android.text.TextUtils
$ unzip classes-full-debug.jar -d xxx; cd xxx; cat ../classlist.txt | sed 's/./\//g' | sed 's/$/.class/' | perl -ne '@ = glob $; print "$ " for @;' | xargs jar cvf ../hidden.jar