Java8 新功能筆記 (4) - Optional

Optional

Optional 是值的容器,只有兩種狀態,不是有值就是沒值。目的是做為 null 的替代方案。Optional 提供工廠方法,將你輸入的值產生為 Optional 物件,這時Optional 物件即為該值的容器,若要取回該值,必須使用 get() 方法。

Java8 新功能筆記 (3) - Stream

Stream

Java 8 新增了一個新的 Stream package 專門用來處理集合(collection),搭配 lambda expression,在處理集合方面變得更加方便。

Java8 新功能筆記 (2) - Lambda expression

Lambda expression

Java 8 新加入的功能 Lambda 表達式,讓你可以將函式做為方法的參數,如果你寫過 JavaScript 應該會覺得有點像。Lambda 有許多的優點,可以簡化匿名內部類別、偵聽器及事件處理等的冗長程式碼,讓它們不只變短也易讀。另外還可以實體化前面介紹的函式介面、並且以更方便的方式操作集合等等。

Java8 新功能筆記 (1) - Functional Interfaces

Functional Interfaces

Java 8 的新功能最讓大家有印象的是 Lambda 表達式,但在使用 Lambda 表達式之前,要先瞭解另一個新的功能,叫做 Functional Interfaces 函式介面。其實它不是新的東西,只是被賦予特定任務,所以重新定義它的名稱及用途。

Core Data 入門 (2)

Core Data

重構,將方法移動到實體中。在 Core Data 入門(1) 的範例中,我們把對資料庫動作的所有程式都寫在 ViewController 裡面,這樣的做法不太好,既然這些動作和 Product 實體有關,那就應該放在它自己身上,任何對 Product 的動作一律由它來處理。

Core Data 入門 (1)

Core Data

什麼是 Core Data ? 在 iOS(OSX) 應用程式中,要儲存資料可以使用資料庫或檔案,以及現在要介紹的 Core Data,所以 Core Data 的用途就是儲存資料。Core Data 是在 OSX 10.4 及 iOS 3.0 之後開始使用,它可以將物件序列化後儲存在 XML、binary(二位元檔)或 SQLite 資料庫。

Swift Optional 的使用

Swift Optional

當宣告一個變數,這個變數預設就是 non-optional (非選擇性)的,換句話說就是指派了一個 non-nil (不可為 nil)的值,也就是這個變數必定有值。假如你指派 nil 值給 non-optional 變數,compiler 就會告訴你不能這麼做。


使用 Android ViewPager 製作 Gallery

ViewPager

很久很久以前,當我第一次要做一系列圖片的橫向滑動展示時,使用的是 Gallery 這個類別,之後過了很久幸福快樂日子,某一天!Eclipse 上竟然出現了「This class was deprecated.」之類的訊息,嚇得我立即關閉專案,馬上逃走並灌了三瓶啤酒壓壓驚。無視了一陣子之後,想說這樣下去也不是辦法,決定來找找新的替代方法,就找到了親愛的 ViewPager。

使用 Android SlidingTab 製作可滑動標籤

SlidingTab

舊式的標籤(Tab)在製作上很繁鎖,操作靈活性也很差。Sliding Tab 讓這些缺點都消失了,要加入一個標籤頁(page),只要簡單的加入一個新的 Fragment 就能辦到,而且在 Tab 數量很多的情況下,連標籤列本身都能夠左右滑動來顯示。

Sliding Tab 可以很容易的指定該 Tab 被選取時,底線指示器的顏色,而且每個 Tab 都可以指定不同的顏色。