原创 res下raw和assets的區別

這兩個目錄下的文件都會被打包進APK,並且不經過任何的壓縮處理。 assets與res/raw不同點在於,assets支持任意深度的子目錄,這些文件不會生成任何資源ID,只能使用AssetManager按相對的路徑讀取文件。如需訪

原创 BroadCastReceiver的詳解與使用

1.廣播:系統在運行的時候會發生很多事件,那麼當事件發生的時候系統就會發出廣播通知對此類型的廣播感興趣的程序,應用程序使用廣播接受者接受廣播,以執行相應的代碼。(例如電量改變等) 2.廣播接受者:BroadCastReceiver

原创 滑動事件衝突

一般分三種: 滑動方向一致導致的衝突 滑動方向不一致導致的衝突 滑動方向的各種疊加導致的衝突 解決方案分兩種: 外部攔截法 由外層父容器來處理,在父容器的onInterceptTouchEvent中決定是否需要攔截 內部攔截法 由

原创 Android WebView引起內存泄露

WebView會引起內存泄露這是地球人都知道的事情了,這是因爲如果在xml文件中定義WebView的話,WebView會對當前的Activity持有引用,這樣會引起Activity無法正常銷燬從而引起Activity的內存泄露。

原创 Android常用優秀開源框架彙總

Android常用優秀開源框架(一) 前言 AOSF:全稱爲Android Open Source Framework,即Android優秀開源框架彙總。包含:網絡請求okhttp,圖片下載glide,數據庫greenDAO,鏈式

原创 安卓實時監測充電狀態

最近項目中遇到一個需求,實時監測手機是否接通電源,大概效果如下: 如果拔掉電源上圖對號就隱藏 怎麼實現呢,第一想到的就是使用廣播來進行監聽,代碼如下: /** * 充電檢測 */ public class Battery

原创 安卓距離傳感器

最近項目中需要檢測距離傳感器是否可用,具體效果如下: 相對還是非常簡單的直接調取api就ok,直接展示代碼: 權限: <uses-permission android:name="android.permission.WAKE_

原创 安卓如何打一個簽名的APK

APP簽名,目前可以分爲兩種,大家可以針對自己需要,來使用哪一種簽名 簽名一,有key文件,我們直接把key複製到我們的項目下 然後在appmoudle下build裏android下添加以下代碼 signingConfigs {

原创 安卓簽名文件打包錯誤java.io.IOException:Invalid keystore format ...

1.錯誤 java.io.IOException:Invalid keystore format ... 2.解決方案 方案1: 找到debug.keystore並刪除

原创 高亮搜索文字

要實現類似以上高亮的搜索文字,可以使用以下方法: /** * seach 要搜索的文字 * data 展示的文字 * */ private void setText(TextView t

原创 集成騰訊Bugly(異常上報)

此文只針對異常上報的集成 註冊賬號的過程就省略掉了… 1.集成SDK 在Module的build.gradle文件中添加依賴和屬性配置: implementation 'com.tencent.bugly:crash

原创 安卓自定義textview文字兩端對齊&&高亮文字顏色

原生textview並沒有相對應的文字兩端對齊的API。 首先看一下效果: 基本上就是這麼一個效果,下面直接貼出代碼: public class JustifyTextView extends TextView {

原创 微信小程序-加載html代碼並替換html轉義符

最近改小程序bug,需要加載html代碼,並且後臺返回的html代碼裏有轉義符(類似" <),身爲一個安卓程序員,改小程序很是頭疼,改了將近2個小時,終於是修改好了(不容易呀,還是安卓舒服)。以下是修改之後的效果圖: 先進行轉義

原创 安卓獲取設備信息

開發中我們經常需要用到一些設備的信息,接下來直接給大家貼出一個常用的獲取設備信息的工具類。 public class DeviceInfoUtils { /** * 獲取當前手機系統語言。 *

原创 安卓SharedPrefences存取List

SharedPreferences是Android平臺上一個輕量級的存儲輔助類,用來保存應用的一些常用配置,它提供了string,set,int,long,float,boolean六種數據類型。最終數據是以xml形式進行存儲。在