20189217 2018-2019-2 《移動平臺開發實踐》第11周學習總結
阿新 • • 發佈:2019-05-12
處理 長時間 還需 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周學習總結