2014年11月26日 星期三

Android 開發(七十六) split icon effect

不知道大家有沒有看過這個影片




裡面的這個這個劈腿真的很厲害,
所以我也希望我們的android icon也可以做到類似的問題
恩....扯得有點遠了XD

其實我只是想做到將一張圖片分開的特效XD 如下圖


這個特效其實概念很簡單,首先將我們的image 切成四個等分,
之後利用移動的距離來分別移動我們四個bitmap即可

首先,我們遇到的第一個問題是該如何將一張完整個圖片分成四個等分?


    private Bitmap createRightUp() {
        Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
        Canvas myCanvas = new Canvas(bitmap);
        myCanvas.clipRect(new Rect(getWidth() / 2, 0, getWidth(), getHeight() / 2));
        super.onDraw(myCanvas);
        return bitmap;
    }

首先我們必須先創建一個跟圖一樣大小的bitmap,接著利用clipRect將圖裁減成希望的大小或者圖型,向我這邊就是裁減出右上角的圖,當我call super.onDraw時就會將圖片畫在我的bitmap上,接著我們只需要將我的bitmap畫在view的canvas上即可
canvas.drawBitmap(rightup, deltaY, -deltaY, null);

第一個問題這樣就解決了,那麼接下來是第二個問題
我該怎麼讓四張bitmap移動?

首先我們可以利用touchevent來計算出移動的距離,
然後我們只需要將bitmap畫在canvas上的位置做相對的移動即可也就是
canvas.drawBitmap(rightup, deltaY, -deltaY, null);
裏的deltaY

這樣就可以完成我們想要的功能了

講了那麼多,最後還是附上sample


2014年10月30日 星期四

Android 開發(七十四) extract string to xml

相信每個開發app的開發人員都會有這個經驗,每次要將字串抽到string.xml裡的時候
都要花很多時間,不知道android studio有沒有提供什麼快速的方法呢?

答案當然是有的



首先先選取字串 -> 按下 alt + enter  -> extract string resource -> keyin your resource name -> done

話說...最近越來越懶人模式了XD



2014年10月28日 星期二

Android 開發(七十三) jsonToJava

我相信目前大部分的人都是使用Gson來接資料,
但是在接資料的時候會發現,每次新的api都要自己建model很麻煩....
尤其是當model很多層的時候就會花很多時間在這個上面

好啦...其實是我很懶...

所以,我就稍微搜尋了一下相關的tool 然後就找到了
http://jsontojava.appspot.com/


這個要怎麼用? 首先將你的dummy api或者是實際上要串接的api的網址丟入
並且填入你要的package name 和 folder name 還有是否要使用parceable/gson

接著等個幾秒鐘,你的model就完成了
最重要的是,他有提供command line,所以只需要寫個簡單的script就可以在local
快樂的使用這個功能了!!

2014年10月23日 星期四

Android 開發(七十二) Regex開發

我想有一點開發經驗的developer都會遇過同樣的情形,
在android上寫regex是非常痛苦的一件事,

因為語法不熟,所以常常要測試語法是否有寫錯,可是
總不能每寫一次語法就build一次,這樣實在太花時間,為了解決這個問題
我稍微搜尋了一下android studio的plugin

Regex Tester個人覺得是蠻方便的工具



















只需要在上方打入reg語法,下方寫入你要match的文字,他就會自動幫你check了
不再需要build就可以直接測試,速度快多了

設定環境變數

當要設定環境變數時,可以利用以下的方式做設定,

vi ~/.bash_profile

然後在文件裡key入路徑即可

export ANDROID_SDK_HOME=~/Documents/adt-bundle-mac-x86_64-20140321/sdk

export PATH="$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$ANDROID_SDK_HOME/build-tools/17.0.0:$PATH"

2014年10月22日 星期三

Android 開發(七十一) Gradle 查詢可執行command

常常會遇到要下gradle command的時候卻不知道該怎麼去下command

例如我今天想要看 dependencies tree ,可是卻不知道該如何下commnad

gradle 有內建一個非常方便的功能

gradle -q task --all

這個commnad會將所有可執行的task 列出來,有點像是ls的感覺...

你可以利用這個command找到你希望執行的command


以下是我下 gradle -q task --all的部分可執行 command

Android tasks
-------------
actionbarsherlock:androidDependencies - Displays the Android dependencies of the project
app:androidDependencies - Displays the Android dependencies of the project
DataDroid:androidDependencies - Displays the Android dependencies of the project
FacebookSDK:androidDependencies - Displays the Android dependencies of the project
slideMenu:androidDependencies - Displays the Android dependencies of the project
viewpager:androidDependencies - Displays the Android dependencies of the project


從上面可以很清楚的知道,假設我要看我project的 dependencies
我只需要執行  gradle  app:androidDependencies