原创 Kotlin中可變參數

對比 Java 中的可變參數 先看下 Java 的可變參數,用我們最熟悉的 main 函數 public static void main(String... args) { } 很多人可能都覺得不對啊,參數應該是數組啊 public s

原创 Kotlin使用Lambda簡化匿名內部類

一、Lambda 簡化演變 下面舉三個例子(接口中的抽象方法,無參數、單個參數、多個參數)來具體說明簡化步驟: 先來看最原始的寫法,不使用 Lambda 表達式,可以理解爲 Java 式的 Kotlin代碼 // 接口中的抽象方法無參數

原创 Mac 上玩 Linux(四)安裝 VMware Tools

Mac 上玩 Linux(一)安裝Ubuntu Mac 上玩 Linux(二)Ubuntu 支持 root 登錄 Mac 上玩 Linux(三)使用 SSH 連接 Ubuntu Mac 上玩 Linux(四)安裝 VMware Tools

原创 Android Studio 提示 The current inotify(7) watch limit is too low

Android Studio 啓動項目提示:External file changes sync may be slow: The current inotify(7) watch limit is too low. More detail

原创 Android MediaProvider

本文以 Android 9.0 爲準 Android 系統提供了對多媒體的統一處理機制,通過一套良好的框架實現了多媒體信息的掃描、存儲、讀取。用戶可以基於這套框架非常方便的對多媒體信息進行處理,這套框架主要包含了三部分: MediaS

原创 適配器模式一篇就夠了

很常用的結構型設計模式,用做兩個不兼容的接口之間的橋樑,結合了兩個獨立接口的功能。 經常看到有人濫用,並且會和策略模式、橋接模式混淆,這裏主要結合例子說明下,如何恰當的引入的適配器模式。 使用場景 一、需求 中國標準電壓是 220V,電器也

原创 搭建免費服務器和Vxx——亞馬遜AWS

亞馬遜一直有新用戶活動,12個月AWS 免費套餐,不過需要注意的是,免費是有條件的,並且有點坑。 例如,Amazon EC2雲計算免費政策是每月750小時,剛好是31天的時間,並且只能開啓一個實例,如果兩個實例開啓一天,就是48小時,會面

原创 C++ 開啓線程 pthread_create 報錯

開啓線程 頭文件中,定義一個 MyFFmpeg 類: class MyFFmpeg { public: MyFFmpeg(JavaCallHelper *javaCallHelper, const char *dataSourc

原创 Flutter 開發環境搭建——Mac OS

Flutter 開發環境的搭建,對於前端來說還是有點複雜的,我這邊由於做過 Android 開發,已經搭好 Java 和 Android 的環境,這裏主要介紹 Flutter 的開發環境。 SDK下載 官方地址:https://flutte

原创 Mac 下 VM 安裝 VMware Tools

VMware Tools 有什麼用? 直觀上來說,可以縮放虛擬機窗口大小,可以創建共享文件夾等等。 安裝 VMware Tools 安裝 VMware Tools 在菜單中找到「虛擬機」點擊「安裝 VMware Tools」。

原创 Android Studio 中的 CMake message 輸出位置在哪裏?

目前 Android Studio 默認支持的 CMake 最新版本是 3.10.2,但是這個版本 message 輸出根本看不到。記得之前 3.6.x 版本中 build 之後還是可以看到的,這篇文章主要說下 message() 的使用和

原创 NDK 編譯報錯 SIMPLE: Error configuring

首先項目肯定沒問題,去年寫的好好的項目,今天 clone 下來根本跑不起來,編譯直接報錯:SIMPLE: Error configuring,除此以外沒有任何信息,網上的資料很少,也基本上都沒什麼用。 一、 發現問題 先來看下奇葩的報錯:

原创 Java 反射機制

不論是 Java 開發 還是 Android 開發,反射、泛型、註解 都是架構設計中很重要的一個知識點。 爲了更好的理解反射,需要先簡單瞭解一些類加載器相關的知識。 類加載器 一、類的初始化 當程序要使用某個類時,如果該類還未被加載到內存中

原创 Mac 下使用 SSH 連接遠程 Linux 服務器

首先 Mac 不像 Windows 需要類似 XShell 這樣的客戶端進行SSH連接,直接使用終端即可。 一、首先查看 IP 地址 我這裏是使用的 Ubuntu 18.04 的模擬器。 輸入命令:ifconfig 需要安裝

原创 Android屏幕適配——使用 dp 實現完美適配

我們一直知道 Android 可以使用 dp、sp 完成簡單的適配,那你真的理解了麼?先來看幾個問題: dp 是如何進行適配的? dp 和 px 是如何換算的? sp 和 dp 的區別? dp 適配爲什麼會有偏差? 如何解決 dp 適配的