原创 RecyclerView 局部更新

如果列表中的某個item數據發生微小變化而需要更新UI狀態,直接notifyDataSetChanged()的方式會影響性能,今天看到Android官方的列表局部更新方式,分享給大家: void onNewDataArrived

原创 Android 錄音(錄音時爲pcm,然後轉爲MP3)

項目中用的評論回覆功能,錄製語言時爲pcm格式,然後轉換爲MP3格式: package zhiji.dajing.com.util; import android.media.AudioFormat; import android.m

原创 Android Handler的優化使用

看到一遍寫的不錯的文字,引用一下! Handler: 普通用法: Handler用於處理和從隊列MessageQueue中得到Message。一般我們要重寫Handler的handleMessage(Message msg){}方

原创 Fiddle抓包手機

首先 手機必須和電腦處在同一網絡 fiddle設置 第二步:獲取電腦IP地址,用手機瀏覽器打開 http://電腦IP地址:8888/ ,然後下載fiddle證書並且安裝 第三步,設置手機端網絡的代理爲手動,主機名爲電腦IP地址,端口

原创 Program type already present: com.google.protobuf.micro.a

今天集成融雲的時候出現了這個錯誤,網上一搜 都明白是依賴重複了,需要刪掉一個APP的或者是moudle裏面的,但是死活就是找不到重複的依賴(你氣不氣啊)  也用了gradlew dependencies app:dependencies

原创 Compilation error. See log for more details

如果xml文件配置錯誤,build和clean等是找不到錯誤具體位置的,使用命令:gradlew clean build 可以找到xml文件錯誤的位置 對於第三方SDK衝突的問題:application標籤下面配置:  tools:re

原创 RecyclerView 根據item寬自適應網格佈局

在Github裏面找了下,有hongyang大佬的flowLayout,但是好久沒有維護了,Android8.0貌似也使用有問題,後面就找到了Google官方的 FlexboxLayoutManager,地址是:https://githu

原创 Android 判斷棧中Activity是否存在

網上各種辦法,最後經過測試,在棧中你能獲取到的只有baseActivity和topActivity,如果你需要判斷的Activity在棧別的位置,那麼根本判斷不了,因爲返回的只有棧中Activity的個數,並沒有Activity的名字。

原创 Android Dialog設置透明度

@Override public void show() { super.show(); WindowManager m = ((Activity) mContext).getWindowMana

原创 Android8.0通知權限適配

關於這個版本8.0以上獲取通知欄狀態 大部分手機都ok的 主要是國產的OPPO vivo 怎麼拿都是true 下面的方法是找了好久的綜合解決版本  終於成功搞掉了vivo和OPPO public static boolean isNot

原创 我的RxJava學習之旅 二

AsyncSubject 它可以是被觀察者 也可以是觀察者 (ps: 雌雄同體)public static void test4(){ // public abstract class Subject<T, R> exten

原创 RXjava 學習基礎篇

原文地址點擊打開鏈接 目錄 目錄前言RxJava 概念初步 作用 - 異步模式 - 觀察者模式結構 - 響應式編程優勢 - 邏輯簡潔 RxJava 依賴RxJava 入門 事件產生事件消費事件訂閱區分回調動作入門

原创 Android(Java)加載SO文件

 原文地址點擊打開鏈接 一、前言 Android中有時候爲了效率以及平臺開發庫的支持,難免會用到NDK開發,那麼都會產生一個so文件,通過native方法進行調用,開發和調用步驟很簡單,這裏就不多說了,本文主要來介紹,我們在使用

原创 自定義View頁面的滑動切換

本文爲博主原創--未經博主允許不得轉載--謝謝合作! 效果圖(左中右共三個個頁面,左右頁面默認隱藏,隨手指滑動出來....) <?xml version="1.0" encoding="utf-8"?> <com.nxnresearc

原创 我的RxJava 學習之旅 五

onErrorReturn : 處理Observable中的onError事件(自己消化掉)並返回一個自己設定的數據public static void test24(){ Observable.create(new Ob