Android 儲存圖片及 6.0 以上的權限授權機制 (Android save image and Marshmallow Requesting Permissions at Run Time )

Permissions demo

Android 對於權限的使用授權,在 6.0 Marshmallow (棉花糖) 之後做了一些更動,除了必須在 AndroidManifest.xml 中做設定,某些權限還必須在執行時取得使用者的授權。這篇文章以儲存圖片做為範例,說明新的授權機制如何使用。

部落格改版筆記 (Blogger design memo)

行動裝置相容性測試

從去年就一直很想對部落格改版,主要是因為沒辦法通過 Google 提供的行動裝置相容性測試,想說 RWD(Responsive Web Design) 都流行那麼久了,也該把自己的部落格弄成 RWD。

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 SlidingTab 加入 Icon 圖示

SlidingTab with icon

這篇文章從 [Android] SlidingTab 的使用 延伸而來,在原本的 Tab 中加入圖示(icon)。這裡稍為紀錄修改的內容,可能不是那麼完整。