原创 Android開發者快速上手Kotlin(六) 之 協程進階

接《Android開發者快速上手Kotlin(五) 之 初只協程》文章繼續。 12 協程進階 我們在完成了上一篇文章的學習後,你是不是已經大概清楚協程是什麼和怎樣使用了。但是你可能還存在着疑惑,既然協程沒有異常的能力,使用過程中還需要自己

原创 Android開發者快速上手Kotlin(五) 之 初識協程

接《Android開發者快速上手Kotlin(四) 之 泛型、反射和註解》文章繼續。 11 初識協程 11.1簡介 協程(Coroutine)並非什麼新產物,它是幾十年前就已存在的概念,但興起於近些年。Kotlin作爲一門朝陽語言,它跟其

原创 Android開發者快速上手Kotlin(三) 之 高階函數和SAM轉換

接《Android開發者快速上手Kotlin(二) 之 面向對象編程》文章繼續。 6 高階函數 Kotlin中的高階函數其實就是跟高等數學中的高階函數一個概念,就是函數套函數,即f(g(x))。什麼意思呢?其實很好理解,就是將函數本身看作

原创 Android開發者快速上手Kotlin(一) 之 簡介和基本語法

1 前言 在開始語法學習Kotlin之前,先說說本系列文章內容的大概的定位,本系統文章只是針對Android開發者快速上手Kotlin語言,大多時候在語法的介紹時會跟Java語言作比較,一些基本上跟Java差別不大的地方可能並不會介紹到,

原创 Android開發者快速上手Kotlin(二) 之 面向對象編程

接《Android開發者快速上手Kotlin(一) 之 簡介和基本語法》文章繼續。 5 面向對象編程 在Kotlin中,所有的類都繼承於Any,這就像Java中的Object一樣。類的實例化不需要使用new關鍵字。 5.1 包 Kotli

原创 Android開發者快速上手Kotlin(四) 之 泛型、反射和註解

接《Android開發者快速上手Kotlin(三) 之 高階函數和SAM轉換》文章繼續。 8 泛型 8.1 泛型的聲明 Kotlin中的泛型基本上跟Java是一個思路的,只是在使用上有一點點區別。如: fun <T> func1(a:

原创 Android網絡編程(一) 之 網絡分層及協議簡介

1 概述 OSI/RM 在1978年國際標準化組織(ISO)提出了“開放系統互連參考模型”,即著名的OSI/RM 模型(Open System Interconnection/Reference Model)。此後,不同廠家生產的計算機便

原创 Android網絡編程(二) 之 HTTP協議原理

1 簡介 要了解HTTP協議原理,就要說到HTTP報文。HTTP 報文是面向文本的,報文中的每一個字段都是一些ASCII 碼串,各個字段的長度是不確定的。HTTP 有兩類報文:請求報文和響應報文。瞭解HTTP報文前,可以先通過抓包工具進行

原创 Android中JNI入門(三) 之 動態註冊Native函數

1 前言 前面兩篇文章中,已經對JNI有了一些介紹。現在我們來回顧一下,它主要是通過使用javac -h命令來生成了一個.h的頭文件,來產生Java和Native兩邊方法函的註冊關聯。這樣當Java代碼中去執行Native方法的時候,就會

原创 Android中JNI入門(二) 之 Java與Native相互調用

我們在上一篇文章《Android中JNI入門(一) 之 初識NDK和JNI》中已經通過Demo演示瞭如何在Java代碼中去調用C++代碼,今天繼續來看看在JNI中是如何反調用Java方法的。先大概提一下,JNI中要調用Java方法的流程是

原创 Android中JNI入門(一) 之 初識NDK和JNI

1 NDK NDK全稱是Native Develop Kit,翻譯作原生開發工具包。它允許你爲Android使用C/C++代碼來實現應用程序的功能。換言之Android的SDK之外,有一個工具叫NDK,用於進行C/C++的開發。一般情況,

原创 Andorid性能優化(六) 之 啓動速度優化

1 App啓動方式 App的啓動可分爲:冷啓動、溫啓動和熱啓動。其中冷啓動是App啓動耗時最長的啓動情況,今天我們來講解啓動速度的優化也是專門針對冷啓動來進行。 1.1 冷啓動 當App啓動時,後臺沒有該App對應的進程,比如手機啓動後第

原创 Andorid性能優化(五) 之 ANR總結和分析

1 概述 ANR(Application Not responding)是指應用程序無響應,Android中會在主線程中針對不同的場景監控應用程序的響應時間,如果在超出該場景限定的超時時間還沒有將邏輯處理完畢就會造成ANR。一般情況下系統

原创 TCP/IP簡介和Android中Socket及Http的使用

計算機網絡及其協議 概述 OSI/RM 在1978年國際標準化組織(ISO)提出了“開放系統互連參考模型”,即著名的OSI/RM 模型(Open System Interconnection/Reference Model)。此後,不同廠

原创 Andorid性能優化(四) 之 如何給Apk瘦身

1 前言 我們在日常開發過程中,隨着版本的迭代、應用模塊或功能的增多、老舊代碼冗餘、各種炫酷效果加入、大分辨率手機對圖片的要求、圖片不合理使用、濫用第三方庫,等原因,應用安裝包Apk文件也就逐漸越來越大了。雖然目前手機流量價格已經不像過去