原创 Gradle配置apk命名

打包時間獲取 //getTimeZone(id)這個id可以是GMT+8:北京時間 也可以是所在城市 我這裏是杭州 def releaseTime() { return new Date().format("yyyyMMdd

原创 Java多線程:徹底搞懂線程池

原文鏈接:https://blog.csdn.net/u013541140/article/details/95225769 熟悉Java多線程編程的同學都知道,當我們線程創建過多時,容易引發內

原创 Kotlin使用anko實現頁面跳轉

1、startActivity 不帶參: startActivity<XXXActivity>() 帶參: startActivity<XXXActivity>( "key" to value,"key" to value) 2、st

原创 Android反編譯apk

原文鏈接:https://blog.csdn.net/vipzjyno1/article/details/21039349/ 一、準備必要工具   工欲善其事,必先利其器,首先我們要下載好反編譯

原创 adb命令安裝apk到手機

1、首先手機連接電腦      驗證是否連接成功:win+R打開運行,輸入cmd打開dos命令窗口,輸入命令adb devices會展示所有連接的device 2、安裝apk     手機連接成功後,輸入adb install  (ap

原创 Android插件化——Small框架

0x01 前言 Android插件化框架一直以來就是安卓平臺上的一個重要技術方向,從攜程的DynamicAPK到360RePlugin再到阿里巴巴的Atlas,甚至美團和滴滴的安卓團隊都有自己的一套安卓插件化解決方案。面對業界如此熱門的技

原创 哈夫曼(Haffman)編碼

哈夫曼編碼又稱赫夫曼編碼,是赫夫曼爲了解決當年遠距離通信(主要是電報)的數據傳輸的最優化問題提出的。哈夫曼編碼是一種可變字長的編碼方式,主要目的是根據使用頻率來最大化節省字符(編碼)的存儲空間。 哈夫曼樹 如何繪製哈夫曼樹呢?假設我們在網

原创 Android8.0實現版本更新解析包錯誤

在實現8.0以上App版本更新時遇到解析包錯誤問題排查: 第一步:權限    AndriodManifest.xml文件 <!-- 8.0 android安裝 --> <uses-permission android:name=

原创 Android圖片壓縮詳解

簡介 由於工作原因,boss下達的任務就大概說了對圖片進行壓縮尋找比較合理的方式,還舉了一個項目中的坑,就是系統原生的Bitmap.compress設置質量參數爲100生成圖片會變大的坑。所以我打算用一點時間研究研究Bitmap在內存和外

原创 BLE藍牙 onCharacteristicChanged()不回調問題

Android低功耗藍牙開發,onCharacteristicChanged()怎麼也不回調,原因查找: 1、查看藍牙服務特徵的Properties是否爲 PROPERTY_NOTIFY int properties = charact

原创 Android 低功耗藍牙開發

初識低功耗藍牙 Android 4.3(API Level 18)開始引入Bluetooth Low Energy(BLE,低功耗藍牙)的核心功能並提供了相應的 API, 應用程序通過這些 API 掃描藍牙設備、查詢 services、讀

原创 Android藍牙

藍牙 Android 平臺包含藍牙網絡堆棧支持,憑藉此項支持,設備能以無線方式與其他藍牙設備交換數據。應用框架提供了通過 Android Bluetooth API 訪問藍牙功能的途徑。 這些 API 允許應用以無線方式連接到其他藍牙設備

原创 冒泡排序、插入排序和簡單選擇排序

冒泡排序 一次比較兩個元素,如果他們的順序錯誤就把他們交換過來 /** * 冒泡排序 */ @Test public void bubbleSort() { int[] array

原创 動腦不會老之口+口+口=30

本身是個所謂的玩笑題,然後採用剛瞭解的算法寫個程序來計算,還是採用按位對應法,獲取一個數組的所有長度爲3的子序列,具體分析參見獲取數組的所有子序列 @Test public void add() { int

原创 Java位運算符

1、位異或(^) 運算規則:兩個數轉爲二進制,然後從高位開始比較,如果相同則爲0,不相同則爲1。 例如:3^5 3的二進制:0011 5的二進制:0101 計算結果二進制:0110  十進制:6 2、位與(&) 運算規則:兩個數都轉爲二進