原创 camera2拍照報錯集錦寶典,

CaptureRequest contains unconfigured Input/Output Surface! 出現這個錯誤的原因是我們在一次捕獲capture(也就是拍照的時候),cameraCaptureSession

原创 Android多線程面試---談談你對多線程的理解+handle機制

要談線程,就不得不引出進程的概念,在Android中一個應用程序就是一個單獨的進程,一般來說,當我們運行一個應用,系統就會自動創建一個進程,並且爲這個進程創建一個主線程--UI線程,這樣就可以運行MainActivity,應用程序的組件默

原创 sharedPreferences存儲實現原理

有幾個問題,關於SharedPreference存儲 (1)每次調用getSharedPreferences時都會創建一個SharedPreferences對象嗎?這個對象具體是哪個類對象?       答:不是,只要name相同,就會返

原创 Android studio 入門級搭建 OpenCV

要在Android Studio上搭建OpenCV, 1、首先我們要去官網下載OpenCV的SDK源碼:OpenCV官網地址 2、點擊releases選項卡,我們可以任何選擇自己想要的version,當然因爲這裏使用的是Andro

原创 基於Binder機制之AIDL原理分析

上一篇完成了兩個項目間的AIDL跨進程通訊demo(這個demo是兩個應用之間的通訊,如果是一個項目之間的通訊就更簡單了,反正就三要素:溝通C-S的橋樑——AIDL文件,客戶端,服務端都放到一個項目就行了),沒有分析任何原理,下面

原创 Android_Q版本跳過授權彈框自動獲取adb的debug模式

注意:跳過開發者模式獲取debug授權功能,只能是在系統級別的apk中獲取,install的第三方apk不能使用下列功能!!! 在需要跳過開發者模式直接獲取adb—debug模式的apk中,設置下列屬性值 /** *注: 0-

原创 使用registerNative方式編寫JNI中c/c++函數

上次面試,騰訊小哥聽說我寫過jni代碼,問了一個問題,JNI代碼裏,Java上層聲明的一個native函數,在cpp文件中實現它的時候,函數名過長,有沒有什麼辦法來改進? 一般我們寫JNI中cpp的代碼,都是Java_包名_類名_

原创 如何看懂android.mk文件,並學會使用

首先我們來看一段android.mk文件 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_CERTIF

原创 android反編譯

前幾天玩一個小手遊,就想看看能不能反編譯一下apk我改改代碼然後也體驗一下僞土豪的感覺,就查資料學了學反編譯,發現你要是光看框架代碼還是挺方便的,閒言少敘,往下看  命令行方式的反編譯需要三個工具類,分別是 apktool

原创 自定義view---抽屜控件的製作

 前兩天有人留言問購物車模塊有個需求是側滑刪除應該這麼做,類似QQ消息側滑刪除,藉此總結一下實現邏輯,事實上諸如動畫平移的這種view位置移動效果有兩種解決方案: view控件自身的移動 ViewGroup移動內容,注意是移動V

原创 view動畫的實現流程原理

之前去百度面試,被問到一些問題,補間動畫的實現原理,屬性動畫的實現原理,兩者的區別,爲什麼源碼設計者要將補間動畫設計成只改變位置而不改其真實屬性值,這些問題如果不看源碼根本無法回答,今天有時間來記錄一下充實充實自己。我們來整理一下

原创 apk安全的一點思考

從普通開發環境來說,思考apk的安全性有以下幾點 1、防止二次打包:   由於android打包過程中系統只要求自簽名,不強制要求第三方權威機構簽名認證,所以很容易通過解析apk包,修改或者是刪除其中存儲簽名信息的META-INF文件

原创 關於Serializable和Parcelable的一點淺析

第一個問題,Serializable和Parcelable是什麼? &#8915 Serializable和Parcelable都是實現序列化/反序列化操作的名稱,那麼什麼是序列化操作?從功用來說,當我們編寫代碼時會有這樣一個需求,一

原创 多線程學習-----從經典模式之生產者消費者模式入手

 生產者消費者模式是一個經典的多線程模式,要搞懂線程的同步異步, 從生產者消費者模式出發是一個很好的學習方式,但是這個模式是面向過程開發的軟件模式, 它並不是面向對象的23種JAVA設計模式。  關於生產者消費者模式,就是 生產者線