Time of Update: 2018-01-30
Handler訊息機制的一些原理(直接用code講解)——Android開發,handlerandroidpackage com.example.handlertest; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.app.Activity; import
Time of Update: 2018-02-01
Android5.0新控制項,Android5.0控制項Google在推出Android5.0的同時推出了一些新控制項,Android5.0中最常用的新控制項有下面5種。 1. CardView(卡片視圖)CardView顧名思義是卡片視圖,它繼承FrameLayout。它是一個帶圓角的背景和陰影FrameLayout。CardView被封裝為一種布局,並且經常在ListView和RecyclerView的Item布局中,作為容器使用。 CardView的使用非常簡單: 1
Time of Update: 2018-01-30
PMS 啟動流程,pms啟動流程1.在SystemServer中啟動PackageManagerService.main2.newPackageManagerService()並添加到ServiceManager中3.newinstaller(建立installer和installd的socket串連,最終在底層實現install,remove,dexopt等功能)4.通過systemConfig擷取到xml檔案中資訊5.建立PackageHandler Message
Time of Update: 2018-01-24
Http 緩衝機制,http緩衝機制HTTP 緩衝體系首先我將 Http 緩衝體系分為以下三個部分:1 HTTP/1.1 200 OK2 Cache-Control: no-cache3 Content-Type: image/png4 Last-Modified: Tue, 08 Nov 2016 06:59:00 GMT5 Accept-Ranges: bytes6 Date: Thu, 10 Nov 2016 02:48:50 GMT7 Content-Length: 3534
Time of Update: 2018-01-26
自訂小太陽控制項,小太陽控制項 你沒看錯,右上方的那個大圓就是傳說中的太陽,^_^這個動畫的痛點在於這個“食物”的繪製上吧,不用懷疑,你還是沒看錯,那些小點就是傳說中的食物首先一步步來,看到這種效果,第一個想到的就是一個普通的小圓,而這個大圓就用貝塞爾繪製,至於為什麼用貝塞爾而不是直接繪製一個半圓呢,因為食物是繞著半圓的,緊貼著,你需要拿這個半圓做參照物,不然隨便改改布局就亂套了,然後是小圓也需要圍著半圓繞圈,這兩個都需要一個已知的poi
Time of Update: 2018-01-24
自訂灑豆子,灑豆子 先上灑豆子的效果,突發奇想,覺得這個動畫挺有意思的,就抽空寫了一個玩玩繪製流程: 定義6個‘’豆子‘’,每個豆子有各自的屬性,大小,拋出的速度等,然後控制每個的方向和狀態,回彈效果使用差值器 BounceInterpolatorpackage com.fragmentapp.view.beans;import android.animation.Animator;import
Time of Update: 2018-01-17
git push每次提交都要輸入使用者名稱的解決方案,gitpush前言最近把代碼從csdn轉移到gitee後,每一次git push都需要輸入使用者名稱和密碼,比較麻煩,那有沒有一個辦法可以去掉這個步驟呢?原因每次都需要輸入使用者名稱和密碼是因為你採用的是https方式提交代碼,如果採用的是ssh方式只需要在版本庫中添加使用者的sha的key就可以實現提交時無需輸入使用者名稱和密碼。解決辦法git remote -vgit remote rm origingit remote add
Time of Update: 2018-01-17
高德地圖定位,高德地圖對高德地圖的定位進行封裝,方便調用如下是高德官網的指導:http://lbs.amap.com/api/android-sdk/guide/create-map/mylocation如下是主要的代碼 定位使用的是(5.0.0版本後的),主要記錄下封裝的思路 1 public class MapLbsLayerImpl implements ILbsLayer { 2 3 private Context mContext; 4
Time of Update: 2018-01-17
DingTalk調試應用Inspect不顯示或顯示空白的解決方案,inspect空白首先必須使用DingTalk開發版,並確保已經通過此連結開啟了調試功能:https://open-doc.dingtalk.com/docs/doc.htm?spm=5176.10694750.0.0.3tPHed&treeId=171&articleId=104908&docType=1如果出現點擊Inspect出現空白頁面,是由於國內無法訪問google造成的。可以使用離線開發人員工具
Time of Update: 2018-01-12
分享一個android debug模式,出現 waiting for debugger把介面卡住,取巧的解決辦法,androiddebugger使用android studio開發程式時,有時會出現 waiting for debugger 卡住介面,軟體無法正常debug啟動並執行情況,很多網友分享了一些解決辦法,比如:1 開啟cmd進入命令列,進入adb所在目錄先後執行adb kill-server,adb start-server。2 開啟cmd進入命令列,輸入netstat
Time of Update: 2018-01-12
自訂switchButton,這篇部落格要講的是自訂switchButton,不過沒有設定動畫效果。我用GradientDrawable來繪製switchButton,我們先看看最終的效果:點擊前:點擊後 接下來我們看看如何?首先:該類繼承RelativeLayoutSwitchButton extends RelativeLayout{} 該類需要用到的成員: private ImageView track; //滑塊所在的軌道 private
Time of Update: 2018-01-12
GsonFormat外掛程式,GsonFormat外掛程式可以根據JSONObject格式的字串,自動產生實體類參數。要使用這個外掛程式,首先要做的事下載它。方法如下:方法一:1.Android studio File->Settings..->Plugins–>Browse repositores..搜尋GsonFormat 2.安裝外掛程式,重啟android studio 方法二:1.下載GsonFormat.jar ; 2.Android
Time of Update: 2018-01-12
Android-AnsyncTask非同步任務,android-ansynctask同步和非同步概念區別:同步,必須執行完成某個問題後才能繼續執行其他的。非同步,我會去先執行其他問題,你執行完之後返回給我一個結果就可以。 android中為什麼要引用非同步任務呢 android啟動的,會啟動一個線程也稱為主線程,UI線程,但是我們不能把所有耗時的任務交給主線程來完成,這樣會影響使用者的體驗,也就是說我們要另外的開闢新的線程來執行我們的任務,但是在android中,(載入圖
Time of Update: 2018-01-01
android 比較靠譜的圖片壓縮 第一:我們先看下品質壓縮方法: private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100,
Time of Update: 2018-01-05
在android studio中配置運行時簽名,androidstudio做項目的時候,有時需要用到第三方介面,而基本第三方介面都是要求我們要先進行簽名。結果每次調試都得手動進行簽名一次,實在麻煩。所以android studio提供了一種在啟動並執行時候自動進行簽名的方法,在build.gradle(Module:app)中進行配置,剛剛開始我們不知道如何直接用代碼配置,那麼我們可以用android studio的可視化視窗進行編輯。1、開啟Build->Edit Build
Time of Update: 2017-12-06
android 程式執行linux命令注意事項,androidlinux一:問題描述 在已經root過的android裝置下,app執行一個linux命令,app需要擷取su許可權,在某些android主板下會出現異常, Command: [su] Working Directory: null Environment: null,代碼如下:private void execLinuxCommand(String cmd){ Runtime
Time of Update: 2017-12-07
Android7.0 MTK方案 編譯OTA升級包錯誤Could not append verity data!一、Android7.0 MTK方案 編譯OTA升級包時報錯,如下 Could not append verity data!: error: file_write: incomplete writeFailed to write sparse fileTraceback (most recent call last): File
Time of Update: 2017-12-03
Android圖片的Base64編碼與解碼, Base64是網路上最常見的用於傳輸8Bit位元組碼的編碼方式之一,Base64就是一種基於64個可列印字元來表示位元據的方法。 Base64編碼是從二進位到字元的過程,可用於在HTTP環境下傳遞較長的標識資訊。例如,在Java Persistence系統Hibernate中,就採用了Base64來將一個較長的唯一識別碼(一般為128-bit的UUID)編碼為一個字串,用作HTTP表單和HTTP GET
Time of Update: 2017-11-21
Android IJKPlayer緩衝區設定以及長時間播放後出錯,androidijkplayer IJKPlayer拖動播放進度會導致重新請求資料,未使用已經緩衝好的資料,所以應該盡量控制緩衝區大小,減少不必要的資料損失。 mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER,
Time of Update: 2017-11-21
【免費資源】最新stm32系列視頻教程,stm32視頻教程星創客STM32系列教程之一單片機基礎&GPIO星創客STM32系列教程正式上線,為我們帶來系列講解的是華清遠見星創客的金牌講師David。通過這一系列的教程學習,可以協助我們更好的認識嵌入式,打好基礎。第一節課,我們將學習的是單片機基礎和GPIO相關的知識。【課程目標】掌握單片機原理、GPIO相關知識。【STM32系列教程適用對象】1.具備c語言基礎;2.具備數字電路基礎;3.具備類比電路基礎;4.想要對單片機有一定瞭解的學員&