原创 帶刪除按鈕的EditText

在使用輸入框的時候,常常需要在輸入框後帶有一鍵清除輸入內容的按鈕。採用自定義View的方式是複用性較高的方法。另一方面也可以採用控件“控件+監聽”的較爲簡單的方法來實現。佈局文件:<LinearLayout     android:layo

原创 監聽系統網絡狀態

  項目開發過程中,總會涉及到網絡請求部分,在每個網絡請求前都需要判斷網絡當前的連接狀態。本文總結了Android系統服務ConnectivityManager和WifiManager的常用方法。關鍵類:ConnectivityManage

原创 完全關閉App的兩種做法

  做項目的時候,涉及到一個註銷登錄的過程,這時候需要關閉之前打開的所有Activity。僅finish當前Activity顯然是不夠的,需要把返回棧中的Activity一個個銷燬。我實踐過的方法有兩種:1、基礎類BaseActivity中

原创 ButterKnife 8.5.1使用總結

   最近在做一個OA項目,其中有許多的界面都是表單類型的數據收集,沒完沒了的findViewById敲的我手都麻木了,於是找到ButterKnife框架。實踐過後覺得確實好用,個人認爲代碼結構也更清晰易讀了,使用總結如下。ButterKn

原创 addView遇到的坑及其解決

   代碼中給容器動態添加子View時遇到一些問題,當時還是糾結許久的。擅總結者無敵,寫下此篇總結,問題比較的簡單,希望對新手有所幫助。 使用場景:情況一:View view = View.inflate(this, R.layout.it

原创 AsyncHttpClient 實戰總結及思考

第一次參加工作時使用的網絡框架是AsyncHttpClient,雖說該框架使用非常簡潔,但是使用的過程同時也是初學者成長與思考的過程。在項目的不同階段,重新查閱網絡請求的代碼,總能想到一些優化的方法,或大或小。 github:https:/

原创 Annotation註解及元註解

在使用許多第三方框架的時候,查閱源碼如ButterKnife等。發現許多註解的使用,頓時覺得註解都玩不溜怎麼稱霸武林。當然無論Java還是Android的SDK中都有大量註解的使用,以前總是走馬觀花,印象中知道註解代表的意思,但開口總是說不

原创 透明系統欄及沉浸模式的總結

關於所謂的“沉浸式”,我有許多話要說,因爲這個東西實在是折磨了我許多的時間。實現的方式有許多,兼容性問題也不少。官方文檔也讓我感到也有些雲裏霧裏。那些“長得很相似”的Flag,適用情況很接近的設置方法,讓我不得不一個個測試,然而卻一次次推翻

原创 Appium環境準備及IOS真機測試

       本文主要內容:Appium-Server、Appium-Desktop的具體搭建及使用步驟。以及IOS真機測試需要特別注意的方面。Appium-Server1、使用node.js編寫2、命令行版本通過npm安裝3、官網提供GU

原创 原碼、反碼、補碼的理解與思考

原碼、反碼、補碼都是二進制表示數的方式 原碼原碼:首位爲符號位,0表示整數,1表示負數,其餘位表示數值,例如0011表示+3,而1011表示-3。優點:符合人類閱讀習慣,無論正數負數都能馬上讀出來缺點:計算機做運算的時候不會把符號位提取出來

原创 Annotation註解及元註解

在使用許多第三方框架的時候,查閱源碼如ButterKnife等。發現許多註解的使用,頓時覺得註解都玩不溜怎麼稱霸武林。當然無論Java還是Android的SDK中都有大量註解的使用,以前總是走馬觀花,印象中知道註解代表的意思,但開口總是說不

原创 TestNG使用總結

        TestNG是誕生於JUnit3和JUnit4之間的一個測試框架,雖然在JUnit4之前誕生,但被認爲更先進,NG是Next Generation的意思。TestNG擁有諸多新特性,以及消除了JUnit中的許多限制,更適合於

原创 獲得手機硬件信息

關鍵類:android.os.Build.* 如果需要針對不同手機品牌做適配,可以通過手機廠商(Manufacturer)信息做代碼控制,更精確一些可以使用型號(Model),Model可以更精確指向一款手機。 下面記錄我手裏的幾臺手機的信

原创 ExpandableListView總結

在實現類似通信錄,等帶有兩層或多層組織架構的列表功能時,會使用到ExpandableListView,他是ListView的子類,使用方式也和ListView大同小異,這裏做一個總結。 關鍵類:1、SimpleExpandableListA

原创 HttpUrlConnection發送GET、POST請求

之前在使用AsyncHttpClient的時候,遇到在Android6.0後找不到HttpClient的問題,後來官方更新了1.4.9版本替換了HttpClient爲第三方的cz.msebera.android.httpclient。瞭解到