原创 Binder機制在java層和C++層的實現的相同點和不同點?

Binder機制在java層和C++層的實現的相同點和不同點? 相同點:①這兩層的Binder機制結構是相同的。Java層的Binder機制實際上是對c++層次進行了一個封裝,使用JNI方法,使得Java代碼可以調用c++層中相應的函數。

原创 設計模式之簡單工廠模式、工廠方法模式對比

簡單工廠模式 定義: 定義一個工廠類用來決定實例化哪個實例對象。 特點: 客戶端和具體算法解耦,在擴展上只需要增加新的子類和添加工廠的判斷邏輯即可,把改動和邏輯判斷放到工廠類來完成。 示例: 計算器示例:   工廠方法模式(Factor

原创 Android Studio使用中遇到的問題

一直更新中...... 1、引用的本地framework.jar與SDK衝突,設置如下配置後編譯時依然會存在說找不到方法或變量的問題,但是確實可以跳轉到 在Project的build.gradle中做如下配置,此時可順利編譯出APK。 g

原创 Android系統服務編寫實例-Binder(Java層AIDL)

此篇涉及系統服務編寫流程,主要就是Java層AIDL實現Binder跨進程通信;JNI的編寫;ioctrl的學習 C/C++層實現可參考另一篇文章:Android Binder實現示例(C/C++層) 最近開發項目中,涉及到一個訊飛硬件降

原创 Android Studio中使用git實現項目的多人開發

項目經驗,僅供參考 項目中遇到需要多人協同開發APP,本地使用Android Studio,爲便於管理版本庫,打算使用git來管理,默認已經安裝好git等相關軟件了。 1、先在電腦或服務器建立一個共享路徑,在共享路徑下建立一個純版本庫--

原创 Android N後使用JNI時調用一些庫出現is not accessible for the namespace的問題

查閱資料等,Google從Android N開始,除了那些在Android NDK提供的庫之外,限制了應用對系統私有庫的加載。 目前有兩種解決方案: 1、如果有源碼權限,可以將system/etc/public.libraries.txt

原创 設計模式之單例模式

單例模式(Singleton) 定義: 保證一個類只有一個實例,並提供一個訪問它的全局訪問點。 特點: 只有一個實例,有懶漢式和餓漢式。 示例: 懶漢式 實例對象在首次被引用時,才實例化; /** * 單例模式測試類:懶漢模式 */

原创 設計模式之開放-封閉原則

開放-封閉原則 定義: 是說軟件實體(類、模塊、函數等等)應該可以擴展,但是不可修改。 特點: 1、對於擴展是開放的 2、對於更改是封閉的

原创 設計模式之迪米特法則

迪米特法則 定義: 如果兩個類不必彼此直接通信,那麼這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發此調用。 特點: 其強調的前提是在類的結構設計上,每一個類都應當儘量降低成員的訪問權

原创 設計模式之觀察者模式

設計模式中的觀察者模式,又稱發佈-訂閱模式(Publish-Subscribe); 定義: 它定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某個主題對象。這個主題對象在狀態發生變化時,會通知所有的觀察者對象,使得觀察者能夠接收消息後

原创 設計模式之狀態模式

狀態模式(State) 定義: 當一個對象的內在狀態改變時允許改變其行爲,這個對象看起來像是改變了其類。 特點: 主要解決的是當控制一個對象狀態轉換的條件表達式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜

原创 解決"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"錯誤

本人使用Android Studio3.0.1;OS win 7; 某次更新後編譯出現No toolchains found in the NDK toolchains folder for ABI with prefix: mips64

原创 Android 修改MTU(代碼中修改)

1、通常是通過adb命令查看修改: adb shell ifconfig會列出設備網口參數配置; 例如修改wifi網口MTU,ifconfig wlan0 mtu XXX; 此種修改重啓wifi即失效 2、在Android framewo

原创 Android 6.0後獲取Wifi Mac & 藍牙Mac

Wifi  Mac獲取:https://www.jianshu.com/p/16d4ff4c4cbe /** * 遍歷循環所有的網絡接口,找到接口是 wlan0 * 必須的權限 <uses-permission android:na

原创 Android app平臺簽名方法

1、使用源碼編譯 將編譯出的apk放到源碼中進行platform簽名 2、使用signapk.jar簽名 之前查看資料也是說,將平臺的platform.x509.pem、platform.pk8、signapk.jar三個文件拷貝到一個文