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

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

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

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

原创 Android網絡編程(五) 之 Volley框架的使用

1 簡介 我們平時開發Android程試中少不了網絡請求,而Android本身也提供了HttpURLConnection和HttpClient來進行網絡請求通信。可是HttpURLConnection和HttpClient使用起來難免會有

原创 Android網絡編程(十四) 之 Socket與NIO

1 簡介 NIO(Non-Blocking I/O或叫New I/O)是一種同步非阻塞的I/O模型,主要用於服務端解決高併發或者大量連接的情況的IO處理。它是JDK1.4中引入的,位於java.nio包中,主要用於彌補原來同步阻塞I/O(

原创 Andorid性能優化(一) 之 如何給App進行內存優化

1 前言 Android系統爲每個應用進程都分配一個有封頂的堆內存值,當應用內存佔用過高到沒有足夠的內存來提供給新對象分配並且垃圾回收機制也已經沒有空間可回收時就會OOM。當一個應用內存佔用過高會使一些性能差的手機系統內存緊缺,使得整體系

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

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

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

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

原创 Android中JNI&NDK入門(四) 之 使用CMake方式編譯NDK

1 前言 我們在前面幾篇文章中對JNK/NDK做了一個入門的介紹,其中使用了Android.mk和Application.mk本地配置的方式進行NDK開發。但是其實在Android Studio 2.2之後便加入了CMake方式來編譯ND

原创 Andorid性能優化(八) 之 網絡請求優化

1 前言 移動互聯網蓬勃發展的今天,我們手機上的幾乎所有App都是需要聯網的。而手機硬件的增強和價格低兼以及運營商流量費用降低和提速,使得用戶對網絡請求的等待和流量消耗的敏感度也在下降。雖然如此,但對於一個App本身開發上的網絡問題也是不

原创 Andorid性能優化(七) 之 省電開發技巧總結

1 前言 在今天移動互聯網蓬勃發展的浪潮下,再好的智能手機也能逃每天一充電的情況。而一款App的好用與否,電量的耗費也是衡量的重要指標之一。今天我們就來一起探索Android中電量的相關知識以及講講App進行省電優化的一些開發技巧。 2

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

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

原创 Android開發者快速上手Kotlin(九) 之 Kotlin與Java混合開發

接《Android開發者快速上手Kotlin(八) 之 協程官方框架Channel、Select和Flow》文章繼續。 16 Kotlin與Java混合開發 我們在前面介紹語法文章裏或多或少有提到過可以使用一些如@JvmXX的註解來解決默

原创 Android開發者快速上手Kotlin(十) 之 Android工程實戰和Kotlin總結展望

接《Android開發者快速上手Kotlin(九) 之 Kotlin與Java混合開發》文章繼續。 17 Android工程實戰 我們在前面一系列九篇文章已經對Kotlin的語法知識進行了跟Java對照式的學習,如果你堅持看完前面的文章恭

原创 Android開發者快速上手Kotlin(八) 之 協程官方框架Channel、Select和Flow

接《Android開發者快速上手Kotlin(七) 之 協程官方框架初步》文章繼續。 14 協程官方框架Channel、Select和Flow 14.1 Channel Channel我們一般翻譯成叫通道,用於多個協程之間進行數據相互傳

原创 Android開發者快速上手Kotlin(七) 之 協程官方框架初步

接《Android開發者快速上手Kotlin(六) 之協程上下文和攔截器》文章繼續。 13 協程官方框架初步 經前面兩篇文章介紹了協程的概念和語言級別的語法後,相信你已經對協程有了一個大概的認識了。今天這篇文章主要是以應用層面來介紹Kot