原创 獲取驗證碼 倒計時 CountDownTimer

項目中不可避免的要使用倒計時,之前會用之前一直使用Handler + Runnable來實現,但是自從發現CountDownTimer了後, 發現CountDownTimer挺好用 比如要做一個獲取驗證碼的倒計時 新建CountDownT

原创 自定義EditText-帶清除按鈕

一個帶清除按鈕的輸入框其實很簡單, 第一步是設置圖標 private void init() { // 獲取EditText的DrawableRight,假如沒有設置我們就使用默認的圖片,獲取圖片的順序是左上右下(0,1,2,3

原创 客戶端單元測試-Android

單元測試的作用 爲了使工作完成的更加輕鬆,設計更加的完善,減少調試的時間提高代碼的質量。 什麼是單元測試 單元測試是開發者編寫的一小段代碼,用於檢驗被測代碼的一個很小的、很明確的功能是否正確,通常而言,一個單元測試是用於判斷某個特定條件(

原创 客戶端無埋點異常監控-Android

目的      爲了更好的拿到用戶的操作數據,操作習慣,線上的錯誤日誌,爲了能在出現問題時能更快,更準的找到問題,解決問題   收集方式      1.第一類是代碼埋點                即在需要埋點的節點調用接口直接上傳埋點

原创 Android 熱更新 微信的tinker方案 騰訊的bugly集成

以前看到遊戲的更新不需要直觀看到下載安裝就已經更新好了,覺得這個更新方案很NB,然後知道了熱更新,但是也沒有深究 最近公司突然說需要熱更新,不要安裝也可以解決一些小bug。 一、爲什麼需要熱更新 正常的流程是: 新版本上線,發現問題或用戶

原创 Android mvc,mvp,mvvm模式記錄

文章目的: (1)瞭解並區分MVC,MVP,MVVM。 (2)知道這三種模式在Android中如何使用。   mvc MVC,Model View Controller,是軟件架構中最常見的一種框架,簡單來說就是通過controller的

原创 vivo x7 SimpleDateFormat使用奔潰問題

突然有反饋說vivo x7 有奔潰,查看了日誌發現報 java.lang.IllegalArgumentException: Unknown pattern character 'Y'這個問題 查看代碼發現 SimpleDateForm

原创 TabLayout 的使用 更改下劃線的長度,和一個奇葩的問題

使用 TabLayout  1.xml中添加布局 <android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="

原创 java.math.Math類常用的常量和方法:

Math.PI 記錄的圓周率Math.E記錄e的常量Math.abs 求絕對值Math.sin 正弦函數 Math.asin 反正弦函數Math.cos 餘弦函數 Math.acos 反餘弦函數Math.tan 正切函數 Math.ata

原创 Android Sqlite簡單使用

1.新建一個SqlDBHelper類繼承SQLiteOpenHelper用來創建數據庫public class SqlDBHelper extends SQLiteOpenHelper {    // 數據庫名字    private s

原创 自定義view的onMeasure方法 簡單用法

 @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        super.onMe

原创 Android 跳轉傳值的方法

一般有三種方法1.startActivity ActivityA --> ActivityBActivityA中 Intent intent = new Intent(ActivityA.this,ActivityB.class);sta

原创 Android 自定義View 刻度表

圓形刻度表  public class TestDialView extends View {    private Context context;    private int jindu = 60;    //判斷是否在改變   

原创 TextView 加下劃線 、 中劃線

有2中方法//中畫線textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); // 設置中劃線並加清晰  //下劃線textVie