原创 Coordinatorlayout、AppBarLayout、ToolBar及CollapsingToolbarLayout的巧妙使用

CoordinatorLayout 衆所周知,CoordinatorLayout可以監聽其所有子控件的各種時間,然後自動幫助我們做出最合理的相應。舉個例子,當我們的Snackbar是基於底部的FloatingActionButton觸發的

原创 Android Studio AIDL編譯時錯誤: 找不到符號

在使用AIDL實現跨應用通信時,我們把aidl接口複製到外部應用時,同時也複製了實現了Parcelable的User類,並把User類也放到aidl文件夾下會報這個錯: 解決辦法一: 在build.gradle添加如下配置再sync n

原创 Android進程間通信——AIDL

上一篇我們在使用Messenger來進行進程間通信的方法,可以發現,Messenger是以串行的方式處理客戶端發來的消息,如果大量的消息同時發送到服務端,服務斷仍然只能一個個處理,如果有大量的併發請求,那麼用Messenger就不太合適了

原创 Android進程間通信——AIDL Binder連接池

當項目AIDL業務需求增多時,我們不可能無限制得創建Service,因此,針對這種情況,我們將所有得AIDL放在同一個Service中去管理。 在這種模式下,整個工作機制是這樣得:每個業務模塊創建自己得AIDL接口並實現此接口,這個時候不

原创 Android Studio使用AIDL技術進行SDK開發

前面我們有介紹AIDL的基本用法: Android進程間通信——AIDL Android進程間通信——AIDL Binder連接池 現在我們來介紹利用AIDL來實現一個簡陋的SDK,將獲取用戶信息的方法暴露給客戶端,先放工程目錄: SD

原创 Android NDK開發(一)——ndk-build編譯生成so庫文件並使用

JNI簡介 JNI(Java Native Interface),是方便Java調用C/C++等Native代碼封裝的一層接口。 NDK簡介 NDK(Native Development Kit),是Android提供的一套工具集合,通過

原创 Android Studio提示Handler的匿名內部類的內存泄露風險解決方案

首先我們看Android Studio的風險提示: 我們知道,在Java中非靜態內部類和匿名內部類都會隱式持有當前類的外部引用,android中使用Handler進行消息的異步處理時,最常用的定義Handler的方式如上圖,使用匿名內部類

原创 https通信原理之加密算法、散列算法、數字證書

一、背景 Http協議由於是明文傳送,所以存在三大風險: 1、被竊聽的風險:第三方可以截獲並查看你的內容 2、被篡改的危險:第三方可以截獲並修改你的內容 3、被冒充的風險:第三方可以僞裝成通信方與你通信 正式因爲存在以上三大安全風險,所以

原创 Android Studio 安裝、環境配置、git配置

最近電腦重裝了系統,需要重新配置開發環境,故作個記錄,方便以後查閱。 前言 安裝JDK,配置JDK環境。 在“系統變量”中新建一個變量名爲JAVA_HOME的變量,變量值爲本地Java的安裝目錄。 一些Java版的軟件和一些Java的工具

原创 Python遊戲編程入門(一)——初識Pygame

Pygame是一組功能強大而有趣的模塊,可用於管理圖形、動畫乃至聲音,可以讓我們很輕鬆的開發複雜的遊戲。通過使用Pygame來處理在屏幕上繪製圖像等任務,不用考慮衆多繁瑣而艱難的編碼的工作,而是將重點放在程序的高級邏輯上。 安裝Pytho

原创 Android NDK開發(二)——CMake腳本構建項目

在Android Studio 2.2 之後,工具中增加了CMake的支持,也就是說,Android Studio 2.2 之後有兩種選擇來編譯C/C++代碼,一個是上篇ndk-build + Android.mk + Applicati

原创 Android下openssl編譯和使用(二)

上篇我們介紹如何編譯了openssl:https://blog.csdn.net/zoujin6649/article/details/89891720 接下來我們看看如何使用 1、新建一個測試工程,並勾選include C++ supp

原创 Android下openssl編譯和使用(一)

項目中需要用到openssl庫的AES加密,寫下來方便以後查閱。 編譯 1、安裝Linux版本的NDK 編譯openssl需要使用NDK,先下載NDK: # 在home目錄下建立ndk目錄 $ mkdir android $ cd an

原创 React Native學習之 Image組件

靜態圖片資源 React Native提供了一個統一的方式來管理iOS和Android應用中的圖片。要往APP中添加一個靜態圖片,只需把圖片文件放在代碼文件夾中某處,然後像下面這樣去引用它: <Image source={require

原创 React Native學習之 Touchables類組件

TouchableHighlight組件 用戶點擊時,組件的透明度會降低,同時會有一個底層的顏色透過而被用戶看到,使得組件視圖變暗或變亮。 TouchableHighlight只支持一個子節點(不能沒有子節點也不能多於一個),包含多個子組