原创 Gradle編譯不過需要替換的倉庫地址

在Project的build.gradle裏面配置: 注意要把jcenter()替換掉變成阿里雲的倉庫. buildscript { repositories { google() //

原创 Android中BitMask的使用(MeasureSpecMode)

我們在讀Android源碼的時候都應該都接觸過MeasureSpecMode這個類吧.很多人都能隨口說出三種測量模式.那麼我們今天看看這裏面是怎麼取值與使用值的. 再看下面的代碼的時候我們瞭解一個基本的概念: &操作符,如果兩個

原创 Java label標籤(精簡版goto)

參考來自<< Thinking in java >> 一書 讓我們看一個例子: public static void main(String[] args) { for (int i = 0; i < 4; i++) {

原创 記錄Android dex轉jar(ubuntu)

下載地址 查看dex2jar詳細的使用方法. 具體的命令 sh d2j-dex2jar.sh -f -o output_jar.jar 你的.apk 可能會提示你沒有權限.那麼就到你的dex2jar文件目錄,修改屬性.

原创 記錄PathClassLoader(簡單的插件化使用)

ClassLoader源碼 public abstract class ClassLoader { private ClassLoader(Void unused, ClassLoader parent) {

原创 工作中Git常用命令

如果想要更加深入學習Git,應該在官網上閱讀.Git-Book. 下面我列一下我經常用到的命令吧. git add file 開始跟蹤一個文件,並且把file變成暫存狀態 git add --all 跟蹤全部文件 git sta

原创 Java賦值操作需要注意的地方

摘錄自 << Thinking In Java >> 賦值使用操作符" == “.它的意思是"取右邊的的值(即右值),把他複製給左邊(即左值)”.右值可以是任何常數,變量或者表達式(只要它能生成一個值就行).但左值必須是一個

原创 Java 多線程 (synchronized)

記錄一下文字,不想總翻書看. 文字與例子來自<<Java多線程編程核心技術>>,如有侵權請聯繫我刪除. 關鍵字synchronized擁有鎖重入的功能,也就是在使用synchronized時,當一個線程得到一個對象鎖的時候,

原创 Android HandlerThread與IntentService

記錄一下開發中遇到的這些東西,講解的不多,畢竟這些都是陳芝麻爛穀子的東西了,就是把源碼堆在這裏加了一些註釋. ThreadLocal 如果每個線程都想有自己的共享變量就得使用ThreadLocal,這個類解決了每個線程綁定自己的值

原创 Android通知權限設置(8.0上下兼容)

記錄開發中通知權限使用 public class NotificationAccess { private static final String TAG = "NotificationAccess"; pub

原创 Java按位操作符記錄

介紹 按位操作符用來操作整數基本數據類型中的單個“比特”(bit),即二進制位。按位操作符 會對兩個參數中對應的位執行布爾代數運算,並最終生成一個結果。 按位操作符來源於C語言面向底層的操作,在這種操作中經常需要直接操縱硬件,設置

原创 Java Comparator接口中compare方法使用

經常忘記,記錄一下. 首先看一下部分排序源碼 //----------------------------Collections.sort------------------------------------------

原创 Ubuntu Java安裝與設置環境變量

最近又重新配置了Java,這裏記錄一下. 很多人爲了方便會直接使用OpenJDK,我不習慣,所以是在Oracle官網下載的. $sudo apt install openjdk-8-jdk 首先卸載之前的OpenJDK sudo

原创 Android最全UI庫合集

Android UI Library 目錄索引 抽屜菜單 ListView WebView SwitchButton 按鈕 點贊按鈕 進度條 TabLayout 圖標 下拉刷新 ViewPager 圖表(Chart) 菜單(Menu

原创 Android P通知發送源碼分析

Notification源碼分析 Android 0 以上發送一條消息的示例代碼: @RequiresApi(api = Build.VERSION_CODES.O) public void sendNotif