原创 Kotlin---類型判斷與強轉

準備工作準備兩個類Person與Child Person類如下: open class Person(name: String, age: Int) { var mName = name var mAge = age

原创 Kotlin---解構與委託

解構解構可以讓一個對象分解成多個變量,並且爲變量賦值通常,函數的返回值中只能返回一個對象,而我們可能要返回很多的數據。此時就可以用到解構首先定義一個Date類,使用data進行修飾,因爲使用data修飾後,可以爲這個類提供component

原创 SQLite---使用約束

背景在使用SQLite建表的時候,通常會使用_id作爲唯一標示,使用PRIMARY KEY與AUTOCREMENT進行修飾,而主鍵是不可以重複的。但是在這張表中還有其他的Column也不允許重複,則可以使用Unique約束。常用的約束有:U

原创 SQLite---使用觸發器(Trigger)

本文摘取自:SQLite-Trigger背景當數據庫中的數據太多時,往往需要進行清理,將一些過時的數據刪除,但是往往找不到合適的時機進行清理。於是SQLite提供了Trigger,當某些事件發生時,可以觸發並且進行處理。TriggerSQL

原创 Kotlin---接口與繼承

接口與抽象類的區別同樣在Kotlin中也有接口的概念,與Java不同的是,Kotlin中的接口可以定義變量,但是不能爲變量提供構造函數,也可以實現函數體,如果沒有實現的函數,默認抽象,不需要使用abstract來定義。而抽象類中,可以爲定義

原创 Kotlin---擴展

介紹除了與Java類比的這些功能之外,Kotlin還新增了一些新的概念數據類(data)擴展函數密封類(sealed)匿名類伴生對象(Companion)數據類通過data關鍵字來定義數據類。通常用來定義純數據類型的結構體。定義的數據類只能

原创 Kotlin---類與構造函數

類Kotlin中的類定義與Java中無異,只是在Kotlin中,再也沒有static所聲明的靜態內部類。// 創建對象 var childNest: ChildNest = ChildNest() // 類定義 class ChildNes

原创 Kotlin---控制流程

if-else表達式在if-else的控制流中,可以使用表達是來獲取結果,也可以通過閉包來獲取表達式結果class TestKotlin { fun function() { var x: Int = 10

原创 Kotlin---集合與遍歷

介紹同樣在Kotlin中會有List、Map、Set,而與Java中數據結構大多相同,也略有區別。Kotlin中的集合分爲可變集合與不可變集合。List及其遍歷Kotlin的List<E>接口只提供了size、get、indexOf等接口。

原创 Kotlin---基礎數據類型與函數

變量與常量Kotlin和一些腳本語言一樣,在定義變量的時候不需要指定變量類型,Kotlin會根據默認值來確定變量類型。在定義類屬性時,定義的變量必須有默認值,而在定義函數中的局部變量時,可以不指定默認值,但是必須指定變量類型。Kotlin使

原创 Kotlin---使用AndroidStudio配置Kotlin環境

環境配置使用Android Studio 3.0,並且在Android Studio中創建或者導入一個ProjectProject自動配置可以通過創建一個Component,然後選擇Source Language來創建Kotlin的Comp

原创 Android中的Proguard使用

介紹之前介紹瞭如何使用命令行將Jar包根據配置文件進行ProGuard,以及ProGuard的過程,會遇到的問題等。接下來會介紹常用的ProGuard如何配置參數。不常用的可以在官網中查詢如何使用。java -jar proguard.ja

原创 Android中的Proguard介紹

介紹ProGuard是一個Java Class文件的Shrinker,optimizer,obfuscator以及Preverifier。Shrinking步驟:檢測,並且刪除無用的classes,fields,methods,以及attr

原创 Gradle For Android(7)--創建Task以及Plugin

介紹到目前爲止,我們已經看到了很多Gradle構建的屬性,並且知道了怎麼去執行Tasks。這一章,會更多的瞭解這些屬性,並且創建我們自己的Task。一旦知道如何自定義Task之後,就可以完成更多的事情,並且自定義自己的插件,而在多工程中使用

原创 Gradle For Android(9)--自定義構建

介紹現在我們知道了Gradle如何工作,如何創建自己的Task以及Plugin,如何執行test任務,如何設置CI。這一章會包含一些小技巧,接下來會從以下Topic進行討論:Reducing the APK file sizeSpeedin