原创 View.toString()

我們在對View執行toString()方法的時候,會看到一段輸出: *.View {33df71a V.E...... ......I. 0,0-0,0 #7f100102 app:id/view} 一般對象的toString輸出是一段h

原创 Timeout waiting to lock file hash cache>(...) It is currently in use by another Gradle instance.

報錯信息: Timeout waiting to lock file hash cache >(C:\Users\Nietzche.gradle\caches\4.4\fileHashes). It is currently in use

原创 kotlin-let、with、run、apply,also 1,let 2,with 3,run 4,apply 5,also

目錄 1,let 2,with 3,run 4,apply 5,also 1,let 場景一: 最常用的場景就是使用let函數處理需要針對一個可null的對象統一做判空處理。 場景二: 然後就是需要去明確一個變量所處特定的作用域範圍內可以

原创 kotlin-高階函數

定義:一個用函數作爲參數或者返回值的函數 如何定義:()->Unit 括號裏面代表函數的參數,箭頭後面代表函數的返回值。 傳遞一個函數,或要將這個函數賦值給一個變量的時候,需要在函數前面加雙冒號。 這個雙冒號的寫法,叫函數引用Functio

原创 kotlin-第三章(類與對象) 09:kotlin的構造函數 10:伴生對象 11:by關鍵字的作用

構造函數 訪問修飾符 伴生對象 單例類 動態代理 kotlin中特有的類 09:kotlin的構造函數 kotlin的類默認是public final的,如果想去final,則需在class前加open關鍵字 class MainAct

原创 kotlin-第一章 02:最基礎語法 03:Kotlin與java互調 04:新手常遇到的問題

02:最基礎語法 變量聲明 var age: Int = 18 var name: String = "liujia" //如果變量聲明時有直接賦值,則可省略類型 var age2 = 18 var name2 = "liujia" /

原创 kotlin-第二章 05:函數與Lambda閉包 06:擴展函數 07:Lambda閉包 08:高階函數

05:函數與Lambda閉包 1. 有默認參數的函數 通常用於函數重載特別多的時候 有默認值的函數可以大大減少函數的重載數量 fun print(name:String = "zhang tao"){ println(name) }

原创 C++內存分區模型 內存分區模型

內存分區模型 C++程序在執行時,將程序大方向劃分爲4個區域 代碼區:存放函數體的二進制代碼,由操作系統進行管理的。 全局區:存放全局變量和靜態變量以及常量。 棧區:由編譯器自動分配釋放,存放函數的參數值,局部變量等。 堆區:由程序員分配

原创 解決華爲安全鍵盤遮擋Toast的方案

在每次彈出Toast的時候, 判斷是不是華爲機型, 判斷獲取當前焦點View是否是EditText, 判斷inputType是不是密碼類型(確保彈出的是安全鍵盤), 如果以上條件都符合,則收縮鍵盤。 public static void s

原创 C++與java的不同點 常量 字符串 布爾 三目運算符 switch goto語句 一維數組 二維數組 二維數組名稱用途 函數

常量 #define Day 7 //宏常量 const int month = 12 //無法修改的變量 字符串 char ch = 'a'; char str[] = "hehehehe";//c的字符串方式 string str2=

原创 C++結構體 概念 定義和使用 結構體數組 結構體指針 結構體做函數參數 結構體中的const使用場景

概念 結構體屬於用戶自定義的數據類型,允許用戶存儲不同的數據類型 定義和使用 語法:struct 結構體名{ 結構體成員列表 }; 通過結構體創建變量的方式有三種 struct 結構體名 變量名 struct 結構體名 變量名{成員1值,

原创 C++指針 定義指針 使用指針 指針所佔內存空間 空指針和野指針 const修飾指針 指針和數組 指針和函數

一言以蔽之: 指針能間接的訪問變量的內存,進行讀和寫的操作。 定義指針 數據類型 * 指針變量名 int a = 0; int * p; //定義指針 p = &a; //指針記錄變量a的地址 使用指針 可以通過解引用的方式來找到指針指向

原创 數據庫自動升級方案 需求 普通遷移步驟 防中斷遷移步驟 難點及坑

需求 表名的變更 列名的變更 列類型的變更 列值的變更及變更規則 普通遷移步驟 1,創建一個臨時表 2,把裏面的數據全部移動到對應的臨時表中 3,刪除舊錶 4,新建新表 5,把臨時表的數據根據定義好的變換規則把數據一個個導入到新的表中就

原创 Kotlin-複合符號【?.】【?:】【!!'】【as?】【?】【::】

轉自:https://blog.csdn.net/lckj686/article/details/80448471 一、概述 項目中慢慢開始,寫一些簡單的 kotlin類了,挺方便的一個語言,借鑑了不少腳本語言的特點。剛開始用,有些點經常要

原创 Retrofit自定義解析器

某些情況下,從服務器返回過來的json無法自動解析,只能通過手動解析(比如json某些字段的key是不固定的),如果項目中又正在用Retrofit作爲網絡庫的話,就會比較頭疼,因爲Retrofit一般都只需要調用.addConverterF