原创 androidNDK 交叉編譯+靜態編譯和動態編譯 .a和 .so庫的引用

文章目錄配置觀景變量新建.h .c 文件並交叉編譯出靜態庫和動態庫AS加載使用靜態庫和動態庫Android Studio mk方式加載靜態庫Android Studio 通過 CMake加載靜態庫和動態庫 我是在 Linux 上編

原创 shell 腳本常用回顧~

文章目錄新建一個 shell 並定義變量執行 shell 的幾種方式判斷上一次執行shell腳本是否成功查看當前服務器的磁盤信息打印當前腳本路徑輸出當前文件名shell執行是否成功、獲取傳入參數相關for 循環計算查找文件夾內文件

原创 Android JNI 開啓子線程後調用 Activity 方法更新UI

MainActivity 代碼 點擊按鈕調用 native 方法,開啓線程,調用MainActivity 方法更新UI class MainActivity : AppCompatActivity() { compa

原创 如何把一個有序的整數數組放到二叉樹中+如何對二叉樹鏡像反轉

把一個有序的整數數組放到二叉樹中,所構造出來的二叉樹也一定是有序二叉樹。 實現思路:\color{#A52A2A}{實現思路:}實現思路:以中間節點爲根節點將數組分爲左右兩部分,對數組的兩部分用遞歸的方式構建左右子樹。 代碼如

原创 Android JNI cpp文件創建 java bean 對象並返回

具體的使用方式都在代碼裏面了。 首先準備一個 Student 和 Person class Student { var name: String? = null; var age: Int? = 0; } c

原创 Android Application創建到Activity啓動(launcher啓動和startActivity啓動)

文章目錄點擊桌面應用程序創建application和activity流程點擊 startActivity() 時的調用流程問題: 爲什麼啓動時會先調用棧頂activity的onPause()問題:爲什麼requestWindowF

原创 Java實現LRU緩存方案

LRU 是 Least Recently Used 的縮寫,意思是 最近最少使用 。LRU 緩存就是使用這種原理實現,就是緩存一定的數據,超過設定的最大值以後就移除過期的數據。 解決方案:可以使用兩個數據結構實現一個LRU

原创 從數組中找到 a+b=c+d 的兩個數對

給定一個數組,找出數組中是否有兩個對數(a,b)和(c,d)使 a+b=c+d ,其中 a,b,c,d 是不同元素。比如: {1, 9, 23, 3, 33, 7}; 1+9 = 3+7 分析:如果使用四重循環的話時間複雜

原创 如何用 O(1) 的時間複雜度求棧中最小元素

棧具有後進先出的特點,因此 push 和 pop 只需要對棧元素進行操作。通過遍歷來查找最小元素的時間複雜度爲 O(1) ,那麼如何才能用 O(1) 的時間複雜度求棧中最小元素呢? 採用空間來換取時間的方式來提高時間複雜度。具體

原创 java 如何實現棧

文章目錄棧的定義數組實現棧鏈表實現棧 棧的定義 棧(stack)是限制插入和刪除只能在一個位置上進行的表,該位置是表的末端,叫做棧頂(top),有的稱爲限定性的限制表結構。棧有時也叫做 LIFO (後進先出)表。 數組實現棧

原创 如何查看單鏈表是否有環?

查看鏈表是否有環?兩種方式 思路:就是因爲有環,所以是沒有尾節點,也就是 node.next 永遠都是有值的。可以通過兩個前進速度不同的節點去循環,如果有相遇的時刻說明有環。 首先創建Node節點 private class

原创 兩個升序數組合併成一個有序數組

題:兩個升序數組合併成一個升序數組。 利用題中數組是生序排列的。代碼如下:代碼中去除了相同元素 @Test public void test() { // 定義兩個數組 a ,b 生序排列

原创 Android 從 MVC 到 MVP 的演變

文章目錄MVC 簡介MVP 簡介和基本框架搭建MVP 重構(1)MVP 重構(2)對網絡,圖片等的封裝 MVC 簡介 MVC 模式代表 Model-View-Controller(模型-視圖-控制器) 模式。這種模式用於應用程序

原创 Android 組件化-Gradle配置

組件化 Gradle 配置 1. 項目基本業務結構如下圖。 新建項目結構如下: 2. 抽取 gradle 基本配置到 config.gradle ext { // 是否開啓組件化開發 true -> 開啓 fals

原创 Android 插件化入門 (插樁原理)

文章目錄插樁方式實現插件化 插樁方式實現插件化 項目機構如下:app爲宿主application ,pluginstand爲中間連接作用,負責定義主app和插件之間組件傳遞規則。shop用來打包插件apk。 主app和sho