原创 Binder雙向通信(AIDL)

詳細的資料還是在官網看吧這個準確:Android 接口定義語言 (AIDL). 雙向通信的話說白了就是在服務端裏面設置回調.然後客戶端註冊回調接口實現雙向.同時系統也提供了RemoteCallbackList這個類方便了我們負責維

原创 RecyclerView緩存方式源碼分析

本文有分析錯誤的地方,recyclerView真複雜.我也是把自己大概知道的地方整理了一下,沒有形成系統的,有明確定義的文章.僅供參考. RecyclerView setAdapter()的過程 public class Re

原创 Android面試題解答(結尾有彩蛋)

用於面試參考,不做深究。答案整理自互聯網,也會加上我自己的理解。 說說Activity的啓動流程 Activity啓動有幾種方式?一種是寫一個startActivity,第二種是點擊手機App,通過手機系統裏的Launcher機制

原创 Ubuntu更新企業微信

首先去下載最新的wine軟件模擬器,建議下載最新的. 下載最新的深度企業微信. 注意:最新的軟件,需要使用最新的wine版本.自己選擇.否則會出現這種情況. 最後:安裝企業微信的命令或者右鍵安裝: sudo dpkg -i '

原创 Java float轉int

網上巴巴的說了那麼多,倒是給個結論啊.搜索半天,浪費一堆時間,不知道到底哪個說的對哪個說的錯. 直接自己寫着看吧. float a1 = 2.42f; float a2 = 2.13f; float a3 = 2.89

原创 菜雞專用Git命令

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

原创 Kotlin記錄知識點(二)

關鍵字lateinit 在 Kotlin 中,我們必須在聲明對象時初始化對象的屬性。 我們可以使用 lateinit 推遲屬性初始化。使用 lateinit 時,應儘快初始化屬性。 //調用 Fragment#onCreateVi

原创 Java byte[]數組處理工具類以及具體例子

截取byte數組一般會用到的方法 /* * *destPos, int length) src:源數組; srcPos:源數組要複製的起始位置; dest:目的數組; destPos:目的數組放置的起始位置; length:複製的

原创 Java繼承擴展接口

繼承擴展接口 //怪物 interface Monster { //危險 void menace(); } //危險的怪物 interface DangerousMonster extends Monster { //有破壞力

原创 Color設置透明度(Android)

我們可以在color文件中定義:android:background="#XXxxxxxx" 半透明顏色值和我們平時使用的顏色不一樣,半透明顏色值共8位,前2位是透明度,後6位是顏色。 也就是透明度和顏色結合就可以寫出各種顏色的透

原创 使用Android RemoteCallbackList簡化遠端接口跨進程回調

RemoteCallbackList 負責維護遠程接口列表的繁瑣工作,通常用於執行從Service到其客戶端的回調 跟蹤一組已註冊的IInterface回調,注意通過唯一的IBinder來識別它們(通過調用IInterface#

原创 Android makefile 屬性記錄

基礎知識 Android.mk 文件必須先定義 LOCAL_PATH 變量: LOCAL_PATH := $(call my-dir) 此變量表示源文件在開發樹中的位置。在這行代碼中,編譯系統提供的宏函數 my-dir 將返回當

原创 Kotlin記錄知識點(一)

字符串字面值可以包含模板表達式 ,即一些小段代碼,會求值並把結果合併到字符串中。 模板表達式以美元符($)開頭,由一個簡單的名字構成: val s = "abc" println("$s.length is ${s.lengt

原创 Android studio3.5版本 R.java文件的位置

1.進入project模式,先clear ,然後再rebuild project 2.找到R.java

原创 ubuntu 18.04 安裝惠普打印機教程

在自己公司的局域網內,諮詢當前樓層的打印機ip地址與打印機名字.(打印機是否需要驗證賬戶等). 電腦上根據ip地址先查詢設備,然後添加. 添加完之後選擇下載對應的打印機的驅動.比如惠普的Linux發行版驅動. 安裝驅動.例如我