原创 Kotlin入門(四):關鍵字之lateinit(筆記)

在Kotlin中定義變量或者屬性都是需要初始化值的,並且其都是private的,但是有些時候對於變量或者屬性只需要聲明,但是不需要初始化,則kotlin提供了lateinit關鍵字來實現:   class Student {

原创 Android_Databinding使用整理

自從使用android databinding之後,個人覺得還是很有必要掌握,相比於傳統方式,android databinding的優勢有如下: 解決了數據直接去綁定ui 解決ui可以直接綁定數據 適用於MVVM框架 提高了開發效率,減

原创 android獲取附近藍牙設備並計算距離的實例代碼

需要用到本地藍牙適配器   // 獲取本地藍牙適配器 mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 判斷是否支持藍牙,並確認打開該功能。   // 判斷手機是否

原创 MutableLiveData

LiveData   把ViewModel和LiveData與Act和Frg的生命週期關係理清楚就好了 ViewMode持有數據時長是高於Act/Frg的onDestroy()的,前兩者就算執行到onDestroy()了, vm裏的數據也

原创 LiveData的分析與簡單使用

簡介 LiveData是androidx.lifecycle-livedata包下的一個抽象類,實現了一種關聯了生命週期的簡單觀察者模式,主要的功能就是用於視圖層與數據間的單向一對多通知,一個LiveData會持有一個可觀察的Data對

原创 輸入法引起的內存泄漏

  /**  * 用於輸入法管理  */ public class InputMethodUtils {     public static void fixInputMethodManagerLeak(Activity destCon

原创 android的bigdecimal對0的格式化有bug

服務器返回的數據,android的bigdecimal對0的格式化有bug,bigdecimal去除末尾0,需要判斷一下  return if (data.compareTo(BigDecimal.ZERO) == 0) {      

原创 按Home鍵,再次打開app後,會重新進入manifest文件第一個頁面問題

問題描述: 前幾天測試反饋回來一個這樣的情況就是我在安裝應用之後點擊了打開 然後按home鍵 這個時候應用程序進入後臺 我點擊手機桌面的時候圖片啓動應用程序 程序重新再次啓動 而不是後臺的程序返回到前臺; 解決方案: 在啓動界面的onCr

原创 Android 8.0 後臺Service限制

Android O 後臺啓動Service崩潰問題 在 Android 8.0 (API26)之前,創建前臺服務的方式通常是先創建一個後臺服務,然後將該服務推到前臺。 Android 8.0 (API26)有一項複雜功能;系統不允許後臺應

原创 Android SDK版本特性

6.0(sdk23) 1.運行時權限 ,manifest聲明的權限如儲存、錄音、拍照等要動態申請權限 2.WLAN 和網絡連接變更 、相機服務變更 增加低電耗模式和應用待機模式 取消支持 Apache HTTP 客戶端 移除硬件

原创 解決在Android 8.0無法顯示通知,Android 8.0通知系統適配

概述 Android 8.0 系統,Google引入通知渠道,提高用戶體驗,方便用戶管理通知信息,同時也提高了通知到達率。 通知適配 Android 8.0 功能和 API 配置 build.gradle 中targetSdkVersi

原创 Glide4.9.0加載網絡圖片模糊變形,加載大圖

ImageView imageView = (ImageView) holder.mView.findViewById( R.id.iv_pic ); //默認格式RGB_565使用內存是ARGB_8888的一半,但是圖片質量就沒那麼高

原创 Android10填坑適配指南

1.Region.Op相關異常:java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed 當 tar

原创 Fragment 生命週期和使用,以及和Activity之間的通信

Fragment 概要 Fragment表示 Activity 中的行爲或用戶界面部分。您可以將多個片段(片段就是指 Fragment )組合在一個 Activity 中來構建多窗格 UI,以及在多個 Activity 中重複使用某個片段

原创 Android----複製到剪切板

//接口獲取快遞單號 String trackingNumber = bean.getTrackingNumber(); //獲取剪貼板管理器: ClipboardManager cm = (ClipboardManager) getS