原创 Android 攔截或屏蔽返回鍵

在Android開發中我們常常會遇到需要攔截或屏蔽返回鍵的需求,對攔截後的返回鍵進行特殊操作。 監聽返回鍵有兩種方式 1、重寫OnBackPressed方法 @Override public void onBackPres

原创 Android RecyclerView實現九宮格效果

RecyclerView更加優化的複用機制和方便實現UI效果,幾乎替代Listview和GridView的使用。但是分割線的實現,需要自己繼承ItemDecoration來繪製。 完整代碼已上傳至Github:RecyclerVi

原创 Android 基礎性能數據獲取(/proc/)

一、系統內存 讀取命令: /proc/meminfo Java代碼: private void click(){ try{ String cmd = "/proc/meminfo";

原创 Java命令:jmap的使用

一、前言 jdk安裝後會自帶一些小工具,jmap命令(Java Memory Map)是其中之一。主要用於打印指定Java進程(或核心文件、遠程調試服務器)的共享對象內存映射或堆內存細節。 jmap 命令可以獲得運行中的jvm的堆

原创 Android 動態計算ListView的高度

目錄一、簡介二、效果圖三、代碼實現 一、簡介 在Android開發的過程中有的時候我們需要手動計算ListView的高度,比如說,ScrollView中嵌套ListView的時候,我們就需要手動精確計算ListView的高度了。

原创 Android onActivityResult中requestCode與resultCode區別

想要了解requestCode與resultCode的區別,我們需要先了解以下三個方法的用法: startActivityForResult(Intent intent, Int requestCode) setResut

原创 Linux命令:find命令詳解

find命令格式 find path -option [-print] [-exec -ok |xargs |grep] [command {} \;] # 參數說明 path: find命令所查找的目錄路徑。

原创 Android WebView 與 JS 交互

目錄二、具體分析2.1 Android通過WebView調用 JS 代碼方式1:通過WebView的loadUrl()方式2:通過WebView的evaluateJavascript()方法對比使用建議2.2、JS通過WebVie

原创 通過Github創建Android庫供其他項目依賴引用

目錄一、簡介二、實現第一步:將自己的項目託管到Github上。第二步:點擊releases。第三步:創建release。第四步:填寫版本號、名稱、描述信息。第五步:點擊【Publish release】。第六步:複製項目路徑。第七

原创 Java命令:jstack — 獲取線程dump信息

目錄一、命令介紹二、使用實例實例一:jstack查看輸出實例二:jstack統計線程數實例三:jstack檢測死鎖實例四:jstack檢測CPU高 一、命令介紹 Usage: jstack [-l] <pid>

原创 Android Studio 突然出現很多紅色波浪線或紅色感嘆號解決方案

最近在開發過程中,某次打開Android工程之後,代碼了出現大量的紅色波浪線報錯提示,但是工程確可以正常編譯、正常打包,嘗試了很多方法都無法去掉,最後找到了最有效的解決方案,步驟如下: 1、刪掉工程根目錄下的.idea目錄; 2、

原创 Android Gradle 多渠道打包、動態配置AppName

目錄一、簡介二、Gradle多渠道打包1、普通做法2、Gradle多渠道打包 一、簡介 因爲國內Android應用分發市場的現狀,我們在發佈APP時,一般需要生成多個渠道包,上傳到不同的應用市場。這些渠道包需要包含不同的渠道信息,

原创 Android Canvas繪製帶箭頭的直線

先看下效果圖: 下面我們直接看代碼 我自定義了一個View,代碼如下: package com.davis.drawtrangle; import android.content.Context; import android

原创 Android Gradle 批量修改生成的apk文件名

目錄一、簡介二、代碼實現1、 Gradle 3.0以下版本2、Gradle 3.0以上版本 一、簡介 平時開發都知道,我們要上線的時候需要在Android studio打包apk文件,可是默認的打包名是app-release.ap

原创 Linux命令:grep命令詳解

grep常用參數說明 grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...] OPTIONS: -