原创 Android JNI 開發入門

前言 本文主要介紹如何在Android Studio上進行Native開發和調試,通過本文希望讀者可以瞭解到以下幾個方面: 搭建Native相關環境,主要包括NDK、CMake、LLDB 創建一個新的Native項目 CMake命令和腳本

原创 Android消息機制

概述 Android的消息機制主要是指Handler的運行機制以及其關聯的MessageQueue和Looper的工作過程,要想弄清楚Android的消息機制,需要弄清楚幾個重要類的工作原理: ThreadLocal MessageQue

原创 Android Studio 刪除自定義的javadoc tag

    Preferences -> Editor -> Inspections -> Javadoc 

原创 Android Java和Kotlin互轉

安裝Kotlin插件 Android Studio選擇Preference -> Plugins,搜索Kotlin,然後安裝插件,安裝成功後重啓 Java 轉Kotlin 選擇要轉的Java文件 右鍵或是選擇頂部菜單欄的Code選項

原创 Charles抓包技巧

Mac上抓包時我們一般使用Charles,這裏是一些使用技巧的記錄: 1. MapRemote 選擇某個地址,右鍵,看到MapRemote,點擊後進入編輯,可以把某個具體的地址映射到另外的地址, 例如我們正式服的地址是:xxx.xxxx.

原创 二叉樹的遍歷和構建

一.先上圖,一個簡單的二叉樹如下:根據根節點的訪問順序,二叉樹的遍歷方式可分爲三種:前序遍歷:先訪問根節點,再訪問左子樹,最後訪問右子樹中序遍歷:先訪問左子樹,再訪問根節點,最後訪問右子樹後序遍歷:先訪問左子樹,再訪問右子樹,最後再訪問根

原创 React Native Navigator

a. react-native版本從0.29.0升級到0.45.1後出現下面的錯誤: Navigator is deprecated and has been removed from this package. It can now

原创 IntentService 分析

IntentService 是Android爲我們提供的一個類,繼承Service類,第一步,先來看看源碼裏面開頭的註釋:/** * IntentService is a base class for {@link Service}s t

原创 TypeError: expected dynamic type 'string', but had type 'object'

將React Native的版本升級到最新的0.45.1之後,出現如下錯誤: 通過調試無法定位錯誤的地方,於是從錯誤提示入手,注意到錯誤發生在調用方法showAlert的時候,猜測是Alert參數類型出錯,回頭看使用Alert的地方,代

原创 SSLHandshakeException

Java程序訪問https鏈接,在本機上訪問正常,放到服務器上卻出現了下面的錯誤: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExcepti

原创 Android性能優化總結

一.佈局優化:優化思想就是儘量減少佈局的層次,以達到減少繪製時的工作量優化方法:刪除無用的控件和層次使用合適的ViewGroup,如RelativeLayout使用<include> <merge> <Viewstub>儘量使用Compo

原创 Android Handler

在Android的異步消息處理機制中,Handler發揮着重要的作用,本文從Handler源碼的角度,對Handler的使用進行分析。首先來看看Handler的創建方式:1. 在主線程可以直接通過new創建2. 在子線程中需要先調用Loo

原创 HttpUrlConnection訪問重定向接口

最近在做一個爬蟲項目,需要抓取一些網站的資訊和其中的圖片,抓取過程中發現有一些圖片鏈接會重定向,而服務器存儲時不支持重定向,於是想嘗試直接拿到重定向的鏈接。 藉助Chrome瀏覽器的開發者工具(快捷鍵F12),選擇Network ->

原创 Java的線程和創建方式

一.進程與線程1. 進程:操作系統中運行的基本單元2. 線程:在進程中獨立運行的子任務,CPU以不確定的反射或者說是以隨即的時間來調用線程中的run方法Thread其實也是實現了Runnable接口,因爲Java是單繼承的,所以使用繼承T

原创 Android實現類似IOS右滑返回的效果

使用類庫SwipeBackLayout https://github.com/Issacw0ng/SwipeBackLayout 出現的問題: 1. 主Activity返回時黑屏或者返回只是看到桌面背景而沒有看到上一個Activity