原创 java.lang.IllegalStateException: closed

使用okhttp3的時候遇到的異常:java.lang.IllegalStateException: closed。原因是流已經關閉,所以無法再進行操作。 問題再現: 在Callback方法中調用了兩次response.bo

原创 Android與Java的一些思考

Android的生命週期: onCreate -> onStart -> onResume -> onPause -> onStop -> onDestroy Android中以standard(標準模式)在Activity(A

原创 wifi狀態下實現文件傳輸

上一篇中講到利用Socket和Java的IO流,去實現服務端和客戶端互相發送和接收信息,這篇文章談一談如何實現文件(音樂、圖片等)的發送和接收。 上文中實現了消息的傳遞,利用的是socket通信,使用到了Java中的IO流。而

原创 Android動態權限申請

Android6.0需要動態申請權限,並且申請的時候requestPermissions需要傳入Activity做參數。 下面是獲取sd卡讀寫權限的申請。 if (Build.VERSION.SDK_INT >=

原创 一套完整的APP版本更新代碼

本文轉載至IT985博客:點擊打開鏈接 在很多APP中版本更新是最基本的一個功能了,那麼從檢查版本更新到下載自動安裝這一系列過程改如何實現呢,當然有很多方式,這裏我總結了一種其中很基本的方式。 這是效果圖:      

原创 WIFI 掃描和連接熱點

前一篇文章講解了如何打開(關閉)WiFi和創建熱點,接下來看一下如何掃描和連接熱點。 重要的類:ScanResult (代表掃描到的熱點)下面是其一部分屬性 1.String SSID:網絡名稱。 2.WifiSsid

原创 二分查找

二分查找 1.二分查找又稱折半查找,它是一種效率較高的查找方法。 2.二分查找要求:(1)必須採用順序存儲結構 (2).必須按關鍵字大小有序排列 3.原理:將數組分爲三部分,依次是中值(所謂的中值就是數組中間位置的那個值)前,中值

原创 Android中Crash收集

問題 Android應用不可避免會發生Crash,不管你的代碼寫得有多風騷,在這個複雜的網絡環境中,Crash還是時常的會發生。也就是常說的應用程序發生崩潰。常見表現就是閃屏然後退出。 原因 有些Crash是隻在特定網絡環境中

原创 Binder機制開啓篇

寫在前頭:對於Android的Binder機制,我對它可以說是又愛又恨。因爲作爲一個應用層的開發者,的確不需要對它知道太多便可以開發出一款好的應用,但是由於程序員的天性,我又迫切想知道關於它的一切。於是,我便去探尋它的點點滴滴,

原创 WIFI (熱點)打開和關閉

在Android中,很多地方都會用到getSystemService()方法去獲取一個ServiceManager對象。對WIFI的操作也不列外。如果我們想要進行一系列的wifi操作,也需要先獲取到這個對象。下面以具體代碼來進行分

原创 二叉樹的四種遍歷方式

二叉樹是一種很常見的數據結構,其結構如下圖: 下面接受他的四種遍歷方式: 先序(先根)遍歷:即先訪問根節點,再訪問左孩子和右孩子 中序遍歷: 後序遍歷: 層次遍歷:按照所在層數,從下往上遍歷 前提:這裏先給出測試中的二叉樹

原创 使用F12獲取URL

經常使用瀏覽器,瀏覽器的F12鍵 -開發者工具,不知道搞Android的朋友有沒有去使用過。這是一個很強大工具,可以查看大部分的網絡請求的信息,url和header等信息。 舉個栗子 拿學校的官網做例子(使用Google瀏覽

原创 Android可跳轉指定位置的Log

在使用Android Studio開發的時候,當程序出現錯誤的時候,我們通常可以通過點擊錯誤日誌跳轉到指定方法出錯的那一行。例如,下圖便是常見的空指針異常所拋出的錯誤日誌: 然而,當我們自己使用Log.x去打印Log的時候卻沒

原创 10進制N進制

題目需求:將一個十進制數值轉換爲任意N進制的數。(不考慮大數的問題) 結題思路:採用遞歸的形式處理,將十進制數值進行短除N的操作。如圖所示: 結果爲:餘數的結果 從下往上讀取:如圖中的1->0->1. C語言代碼: 遞歸實現: #

原创 筆試題彙總

持續更新 亞信筆試: try{ return ; ... }finally{ System.out.println("haha"); } 上述代碼是可以不需要catch也能編譯成功的。 並且finally語句會運行