Android知識匯總(2)
前言:完成了GeoQuiz應用的開發之後,我們對Andriod的開發也有了一個初步的了解,其中對我幫助最大的莫過於MVC設計模板的應用,此設計模板的應用大大的簡化了應用的復雜、難懂。接下來我們將會在以有的基礎上加大難度,設計一個更加高大上的應用。
正言:我們這次設計的是一個名為CriminalIntent的應用,此應用可以用來詳細記錄各種辦公室的陋習。CriminalIntent應用記載的陋習記錄包括標題、日期和照片等,支持在聯系人中查找當事人。可以說這個應用真的是十分的實用。
這個應用想要完成比較的麻煩,所以我今天先說說這第七章到第十三章,我所學到的知識,以及這些知識的一個總概。
首先我先給大家看一看這CriminalIntent應用完成的應用界面吧!
想要完成這個應用首先我們要引用兩個從來都沒聽過的東西,它們就是UI fragment與fragment。下面我就來詳細的介紹一下這兩個管理器。(這兩個 東西還是挺重要的,所以我在這裏詳細介紹,便於大家理解,也是讓自己加深一下印象o(* ̄▽ ̄*)ブ)
·fragment是一種控制器對象, activity可委派它完成一些任務。這些任務通常就是管理用戶界面。受管的用戶界面可以是一整屏或是整屏的一部分。
·UI fragment指的是管理界面的fragment。它自己也有產生於布局文件的視圖。
·fragment視圖包含了用戶可以交互的可視化UI元素。activity視圖可預留供fragment視圖插入的位置。如果有多個fragment要插入, activity視圖也可提供多個 位置。根據應用和用戶的需求,可聯合使用fragment及activity來組裝或重新組裝用戶界面。
·fragment 的設計不需要你來親自管理view hierarchy 的復雜變化,通過將Activity 的布局分散到frament 中,可以在運行時修改activity 的外觀,並且activity 管 理 的back stack 中保存些變化。當一個片段指定了自身的布局時,它能和其他片段配置成不同的組合,在活動中為不同的屏幕尺寸修改布局配置(小屏幕可能 每次 顯示一個片段,而大屏幕則可以顯示兩個或更多)。
·fragment必須被寫成可重用的模塊。因為fragment有自己的layout,自己進行事件響應,擁有自己的生命周期和行為,所以你可以在多個activity中包含同一個 fragment的不同實例。這對於讓你的界面在不同的屏幕尺寸下都能給用戶完美的體驗尤其重要。
·activity在其視圖層級裏提供一處位置用來放置fragment的視圖,如下圖所示。 fragment本身不具有在屏幕上顯示視圖的能力。因此,只有將它的視圖放置在 activity的視圖層級結構中, fragment視圖才能顯示在屏幕上。
Fragment的生命周期
1.當一個fragment被創建的時候,它會經歷以下狀態.。
onAttach()
onCreate()
onCreateView()
onActivityCreated()
2.當這個fragment對用戶可見的時候,它會經歷以下狀態。
onStart()
onResume()
3.當這個fragment進入“後臺模式”的時候,它會經歷以下狀態。
onPause()
onStop()
4.當這個fragment被銷毀了(或者持有它的activity被銷毀了),它會經歷以下狀態。
onPause()
onStop()
onDestroyView()
onDetach()
5.就像activitie一樣,在以下的狀態中,可以使用Bundle對象保存一個fragment的對象。
onCreate()
onCreateView()
onActivityCreated()
6.fragments的大部分狀態都和activitie很相似,但fragment有一些新的狀態。
onAttached() —— 當fragment和activity關聯之後,調用這個方法。
onCreateView() —— 創建fragment中的視圖的時候,調用這個方法。
onActivityCreated() —— 當activity的onCreate()方法被返回之後,調用這個方法。
onDestroyView() —— 當fragment中的視圖被移除的時候,調用這個方法。
onDetach() —— 當fragment和activity分離的時候,調用這個方法。
Fragment生命周期的實例測試方法
ViewPager的一些知識
1.ViewPager的簡介和作用
ViewPager是android擴展包v4包中的類,這個類可以讓用戶左右切換當前的view
(1)ViewPager類直接繼承了ViewGroup類,所有它是一個容器類,可以在其中添加其他的view類。
(2)ViewPager類需要一個PagerAdapter適配器類給它提供數據。
(3)ViewPager經常和Fragment一起使用,並且提供了專門的FragmentPagerAdapter和FragmentStatePagerAdapter類供Fragment中的ViewPager使用。
2.ViewPager的適配器
簡介中提到了PagerAdapter,和ListView等控件使用一樣,需要ViewPager設置PagerAdapter來完成頁面和數據的綁定,這個PagerAdapter是一個基類適配器,我們經常用它來實現app引導圖,它的子類有FragmentPagerAdapter和FragmentStatePagerAdapter,這兩個子類適配器用於和Fragment一起使用,在安卓應用中它們就像listview一樣出現的頻繁。
———這寫就是我這兩個星期學到的一些新知識,希望這些對那些對android不太懂的人有所幫助!
Android知識匯總(2)