學號 20189214 《Java程序設計》第十週學習總結
教材學習內容總結
偏好
- 在sharedPreferences包含一個鍵值對,可使用contains方法,來判斷指定的鍵是否存在。可使用getAll方法對全部的鍵值對獲取爲一個Map。
- SettingFragment類是PreferenceFragment類的一個子類。它是一個簡單的類,直接調用了addPreferences FromResource方法來加載3個Preference子類的佈局xml文檔。
操做文件
- Android設備提供了兩種存儲區域,分別是內部的外部的。內部存儲對於應用程序是私有的,用戶和其餘的應用程序不能訪問它。而外部存儲的文件將會和其餘的應用程序分享。好比Camera應用程序。
- 要操做外部存儲的文件,首先要在清單文件中添加Permission。
- 存儲在內部存儲中的文件和存儲在外部存儲的公有文件並不具備相同的安全等級。存儲在外部的文件用戶能夠刪除該存儲,而且使用某種工具來訪問該文件。
操做數據庫
SQLiteDataBase和SQLiteOpenHelper類都屬於android.database.sqlite包。html
- 要在Android應用程序中使用數據庫,擴展SQLiteOpenHelper以幫助建立數據庫和表,以及鏈接數據庫。
- 提供構造方法,它調用本身的超類,傳入Context和數據庫名稱以及其餘內容。
- 覆蓋onCreate方法和onUpgrade方法。
- SQLiteOpenHelper自動管理到底層數據庫的鏈接。有getReadableDatabase()和 getWritableDatabase()兩種方法返回一個SQLiteDatabase實例。
- SQLiteDatabase類中有insert或者execSQL等方法操做數據庫的數據。
- Cursor接口提供了對數據庫查詢所返回的結果集的讀和寫訪問。其moveToFirst、moveToNext、moveToPrevious、moveToLast或moveToPosition方法。經常使用來自行刷新ListView。
獲取圖片
Android爲獲取靜態圖像的應用程序提供了兩個選項,使用一個內建的意圖來啓動Camera或者使用Camera API。
在API中有4個參數shutter、raw、postview、jpeg。分別用來捕獲瞬間的回調,解壓縮圖像數據的回調、預覽圖像數據的回調、JPEG圖像數據的回調。java
Camera2 中主要的API類android
- CameraManager類 : 攝像頭管理類,用於檢測、打開系統攝像頭,經過getCameraCharacteristics(cameraId)能夠獲取攝像頭特徵。
- CameraCharacteristics類:相機特性類,例如,是否支持自動調焦,是否支持zoom,是否支持閃光燈一系列特徵。
- CameraDevice類: 相機設備,相似早期的camera類。
- CameraCaptureSession類:用於建立預覽、拍照的Session類。經過它的setRepeatingRequest()方法控制預覽界面 , 經過它的capture()方法控制拍照動做或者錄像動做。
- CameraRequest類:一次捕獲的請求,能夠設置一些列的參數,用於控制預覽和拍照參數,例如:對焦模式,曝光模式,zoom參數等等。
Camera API詳解sql
代碼調試中的問題和解決過程
- 問題1:SharedPreferences中putStringSet測試無效的問題
問題1解決方案:緣由在於putStringSet和getStringSet中的參數不能是同一個object,因此更改成new HashSet<>(SharedPreferences.getStringSet("abc",new HashSet
()));以NEW對象來避免同一個object的問題。
此時
數據庫
Set
s = new HashSet<>();
s.add("zhy");
s.add("lxq");
editor.putStringSet("abc", s);
安全
學習進度條
目標 |
5000行 |
30篇 |
400小時 |
|
第一週 |
150/200 |
2/2 |
20/20 |
|
第二週 |
200/400 |
1/3 |
20/40 |
|
第三週 |
100/500 |
1/4 |
10/50 |
|
第四周 |
200/700 |
1/5 |
15/65 |
|
第五週 |
1486/2186 |
1/6 |
15/80 |
|
第六週 |
1400/3586 |
1/7 |
18/98 |
|
第七週 |
1400/5000 |
1/8 |
18/116 |
|
第八週 |
1200/6200 |
1/9 |
15/131 |
|
第九周 |
800/7000 |
2/11 |
12/143 |
|
第十週 |
1500/8500 |
1/12 |
15/158 |
|
計劃學習時間:15小時ide
實際學習時間:15小時工具
參考資料