標籤:sqlite資料庫 win str mcr 架構 字串 執行個體化 一個 內容
前言:在前兩個星期我們進行了CriminalIntent應用的一些基礎性的架構的編寫,在這一部分基礎性的東西的編寫過程之中,我們學會了一些新的知識——UI fragment、fragment。這兩個新知識我已經在Android知識匯總二裡面進行了較為詳細地闡述,有需要的朋友可以前往此隨筆去查看呦!(有什麼不足的十分歡迎大家指出來,我會在之後的隨筆之中加以改進??)好了好了,你們也可能覺得煩了,我們接下來進入今天隨筆的正題……
正言:在這兩個星期之內我們需要完成的是CriminalIntent應用的對話方塊內容、工具列以及SQLite資料庫這三個部分的編寫。大家應該很容易看出這三部分是CriminalIntent應用的核心組成部分,所以這三部分也肯定會遇到好多我們此前沒有接觸過的知識。接下來我會總結出這之中我個人認為比較重要的一些知識點。
CriminalIntent應用對話方塊
對話方塊的作用:我們添加CriminalIntent對話方塊的目的是為了便於使用者修改crime記錄日期。
對話方塊的操作方式:使用者只要點擊CrimeFragment中的日期按鈕,應用就會彈出對話方塊,具體的操作過程如。
在對話方塊設計這個章節中,我們主要完成的是兩部分的內容:日期對話方塊和Fragment資料轉送。
日期對話方塊
在日期對話方塊的完成過程中我們使用的依然是Fragment知識,大概步驟如下:
(1)建立DialogFragment
(2)顯示DialogFragment
(3)設定對話方塊的內容
Fragment資料轉送
此部分的內容主要是完成完成兩部分的內容:
(1)將資料轉送給DatePickerFragment
要傳遞crime日期給DatePickerFragment,需要將他儲存在DatePickerFragment的argument bundle中。建立和設定fragment argument通常是在newInstance中完成的,所以我們要在 DatePickerFragment中添加newInstance方法,方法代碼如下:
接下來我們在CrimeFragment中也添加newInstance方法:
把原來CrimeFragment中onClick中的DatePckerFragment dialog = new DatePickerFragment();改為DatePickerFragment dialog =DatePickerFragment.newIntstance(mCrime.getDate());
最後我們就要擷取Date對象並且初始化DatePicker,實現代碼如下:
(2)返回資料給CrimeFragment
首先我們設定目標Fragment,這個比較簡單就是在CrimeFragment中加入一句代碼:private static final int REQUEST_DATE = 0;
接下來我們加入高亮選取日期按鈕更新代碼,代碼如:
最後我們設定一個私人方法upDate,把這個私人方法添加到代碼CrimeFragment中,代碼如:
工具列
工具列的作用:工具列可以放置菜單選項、提供應用導航,還能協助統一設計風格、塑造品牌形象。
工具列的樣式及其使用方法:工具列給出了crime記錄的功能表項目,並且還有向上的功能,具體如。
在這個章節中我們要完成的是三部分內容:工具列、菜單以及層級式導航。
菜單工具列
(1)首先我們要在strings.xml中添加一些字串(有一些現在還用不到,不過沒關係我們先添加進去),如:
(2)定義菜單,為了建立菜單資源我們需要在fragment_crime_list.xml中寫入如下代碼:
(3)建立菜單
首先我們要覆蓋onCreateOptionsMenue方法,實現執行個體化fragment_crime_list.xml中定義的菜單,代碼如下:
然後調用setHasOptionsMenu方法實現菜單的回調,代碼如下:
(4)響應功能表項目選擇
首先刪除CrimeLab中隨機crime記錄的代碼;
然後在CrimeListFragment中添加響應功能表項目選擇事件,如下:
SQL資料庫
資料庫作用:持久化儲存資料。
資料庫的完成過程:
(1)定義schema
(2)建立初始資料庫
(3)修改CrimeLab
(4)寫入資料庫
小結:這幾個單元的代碼編寫讓我明白了代碼編寫需要十分的嚴謹,要邊寫邊運行不能等到編寫了好多之後再測試,這樣如果錯了將會很頭疼。希望大家也能養成邊寫代碼邊測試的好習慣!
Android知識點匯總(3)