1. 程式人生 > >20189217 2018-2019-2 《移動平臺開發實踐》第11周學習總結

20189217 2018-2019-2 《移動平臺開發實踐》第11周學習總結

處理 長時間 還需 api 代碼更新 工具類 代碼行數 miss 應該

教材學習內容總結

第43章要點

要點1:錄制視頻

錄制視頻需要用到麥克風和攝像頭硬件,還需要賦予一些相應的權限。

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.CAMERA"/>
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

第44章要點

要點1:MediaRecorder類

  • MediaRecorder 是 MediaStream Recording API 提供的用來進行媒體輕松錄制的接口, 他需要通過調用 MediaRecorder() 構造方法進行實例化。
  • MediaRecorder錄像錄音必須按照API說明的調用順序依次調用,否則報錯。可能會出現無法調用start()方法或者調用start()後閃退。
  • MediaRecorder的輸出可以寫入到一個文件。
  • MediaRecorder依賴硬件,不同手機上可能需要不同的配置。

第45章要點

要點1:Handler

Handler類的引入

技術分享圖片

Handler的執行流程圖

技術分享圖片

  • UI線程:就是我們的主線程,系統在創建UI線程的時候會初始化一個Looper對象,同時也會創建一個與其關聯的MessageQueue;
  • Handler:作用就是發送與處理信息,如果希望Handler正常工作,在當前線程中要有一個Looper對象;
  • Message:Handler接收與處理的消息對象;
  • MessageQueue:消息隊列,先進先出管理Message,在初始化Looper對象時會創建一個與之關聯的MessageQueue;
  • Looper:每個線程只能夠有一個Looper,管理MessageQueue,不斷地從中取出Message分發給對應的Handler處理。

第46章要點

要點1:AsyncTask類

  • android.os.AsyncTask類是一個工具類,它使得處理後臺進程以及將進度更新發布到UI線程更加容易。
  • 這個類專門用於持續最多數秒鐘的較短的操作,對於長時間運行的後臺任務,應該使用Java並發工具框架。
  • AsyncTask類帶有一組公有的方法和一組受保護的方法。公有方法用於執行和取消其任務。execute方法啟動一個異步的操作,而cancel方法取消該操作。受保護的方法是供你在子類中覆蓋的。doInBackground方法就是一個受保護的方法,它是該類中最重要的方法,並且為異步操作提供了邏輯。
  • 還有一個publishProgress方法,也是受保護的方法,它通常從doInBackground中調用多次,通常在該方法中編寫代碼更新一個進度條或其他UI組件。

代碼調試中的問題和解決過程

  • 問題1:

  • 問題1解決方案:

代碼托管

技術分享圖片

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 200/200 2/2 20/20
第二周 300/500 1/3 17/37
第三周 787/1287 1/4 15/52
第四周 350/1637 1/5 16/68
第五周 1049/2686 1/6 20/88
第六周 1500/4186 1/7 18/106
第七周 1718/5904 1/8 14/120
第八周 200/6104 1/9 12/132
第九周 800/6904 2/11 12/144
第十周 800/7704 1/12 15/159
第十一周 500/8204 1/13 20/179
  • 計劃學習時間:18小時

  • 實際學習時間:20小時

參考資料

  • Java和Android開發學習指南(第二版)
  • 3.3 Handler消息傳遞機制淺析

20189217 2018-2019-2 《移動平臺開發實踐》第11周學習總結