原创 【Android】Service啓動、遠程服務AIDL、IntentService

啓動方式 1、startService()啓動 該方式啓動的service可無限期運行下去,需調用stopSelf()或調用stopService()停止。當系統資源不足時,Android系統也可能結束服務。 2、bindService(

原创 【Android】Activity知識點

目錄 生命週期 常見場景 進程優先級 橫豎屏 1、android:configChanges設置orientation或orientation|keyboardHidden或不填 2、android:configChanges設置有ori

原创 【Android】Handler機制、源碼分析、內存泄漏

Handler機制 Handler機制也可說是異步消息機制,由Message,Handler,MessageQueue,Looper組成。 Message: Message是線程間傳遞的消息,可攜帶少量信息,在不同線程間交換數據。

原创 【Android】進程通信IPC——Messenger

Messenger可以說是信使,用於不同進程間通信。Messenger是輕量級的IPC,內部是使用了AIDL。 服務端 創建Service,使用Handler參數的Messenger構造方法,具體的數據獲取等操作放在Handler

原创 Android Studio git項目修改url

最近coding升級了,從個人版升爲了企業版,有種變身VIP的感覺,但問題也隨之而來,所有coding中的項目地址都變了。 git命令修改 直接設置新url地址 git remote set-url origin [url]

原创 【筆記】藍牙BLE的簡單總結

做藍牙BLE已經有段時間了,從最初的看文檔到項目中的使用,再到後面嘗試着去實現一個簡單的module,整個過程想想都感覺心累。自己做下簡單的總結,也是重新整理下思路,再度回顧下踩過的各種坑。 查看Android API是瞭解藍牙BLE的第

原创 【筆記】兼容Android7.0的圖片選擇工具類

Android6.0增加了運行時權限請求,Android7.0又限制了文件的訪問權限,不知道以後還會限制什麼其他的。 要實現兼容Android7.0的圖片選擇, 首先拍照需要兼容6.0的權限請求,幸好之前整理過Android6.0之後權限

原创 【筆記】EventBus簡單使用Demo

EventBus很早就已經流行並使用了,但是由於種種原因一直沒踩坑。 EventBus是針對Android的發佈/訂閱事件總線。 EventBus3.0是當前最新的版本,它與之前版本相比較,加入了註解使代碼更加簡潔,使用更加方便。 主要

原创 【筆記】Android Studio中使用NDK-JNI

這些天一直在搞關於JNI的東西,重拾一下C++,翻一翻NDK的API。 NDK的使用第一反應是直接調用底層一些C/C++的東西,另一個衆所周知的功效就是高效,其實我覺得相比較Java部分而言,JNI也更加安全,從反編譯方面來看,Java部

原创 【Android】進程通信IPC——ContentProvider

簡介 內容提供者爲應用程序提供內容,它封裝數據並通過ContentResolver將其提供給應用程序。只有在多個應用間需要共享數據的時候才需要ContentProvider。Android已經爲常見的一些數據提供了默認的Conte

原创 【Android】進程間通信IPC——Binder

Binder是Android中的跨進程通信方式,bindService的時候,服務端返回Binder對象,通過該對象客戶端可以從服務端獲取數據。 在進程間通信IPC——AIDL中創建了ICustomAidlInterface.ai

原创 【Android】進程間通信IPC——AIDL

AIDL 官網定義 AIDL(Android 接口定義語言)與您可能使用過的其他 IDL 類似。 您可以利用它定義客戶端與服務使用進程間通信 (IPC) 進行相互通信時都認可的編程接口。 在 Android 上,一個進程通常無法訪

原创 【筆記】Android高版本Apache HTTPClient變更兼容和HTTP請求

Apache HTTPClient變更 Android6.0 取消支持 Apache HTTP 客戶端 Android 6.0 版移除了對 Apache HTTP 客戶端的支持。如果要繼續使用 Apache HTTP API,需要在

原创 【Android】ThreadLocal源碼閱讀

在查看Handler源碼的時候可以看到其必須綁定一個Looper,然後通過Looper.prepare()方法獲取,而這個Looper對象則是保存在ThreadLocal中的。 定義 ThreadLocal在官網的描述是實現每個線程獨

原创 【Android】Service知識點

啓動方式 1、startService()啓動 該方式啓動的service可無限期運行下去,需調用stopSelf()或調用stopService()停止。當系統資源不足時,Android系統也可能結束服務。 2、bindService(