編輯:關於Android編程
碎片的生命周期
點擊下載源碼
與活動類似,碎片具有自己的生命周期。理解了碎片的生命周期後,我們可以在碎片被銷毀時正確地保存其實例,在碎片被重建時將其還原到前一個狀態。
1、使用上一篇的項目Fragments,在Fragment1.java文件中添加如下代碼:
package net.zenail.Fragments; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub Log.d("Fragment 1", "onCreateView"); // 實例化布局文件 return inflater.inflate(R.layout.fragment1, container, false); } @Override public void onAttach(Activity activity) { // TODO Auto-generated method stub super.onAttach(activity); Log.d("Fragment 1", "onAttach"); } @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); Log.d("Fragment 1", "onCreate"); } @Override public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); Log.d("Fragment 1", "onActivityCreated"); } @Override public void onStart() { // TODO Auto-generated method stub super.onStart(); Log.d("Fragment 1", "onStart"); } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); Log.d("Fragment 1", "onResume"); } @Override public void onPause() { super.onPause(); Log.d("Fragment 1", "onPause"); }; public void onStop() { // TODO Auto-generated method stub super.onStop(); Log.d("Fragment 1", "onStop"); } @Override public void onDestroyView() { // TODO Auto-generated method stub super.onDestroyView(); Log.d("Fragment 1", "onDestroyView"); } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.d("Fragment 1", "onDestroy"); } @Override public void onDetach() { // TODO Auto-generated method stub super.onDetach(); Log.d("Fragment 1", "onDetach"); } }
2、按Ctrl+F11,將Android模擬器切換到橫向模式;3、在Eclipse中按下F11鍵,在模擬器上調試應用程序;
4、當應用程序加載到模擬器中後,LogCat窗口會顯示如下內容:
5、單擊模擬器上的Home按鈕,LogCat窗口中顯示如下輸出:
6、在模擬器上長按Home按鈕,再單擊Fragments以啟動應用程序,LogCat顯示如下:
7、最後,單擊模擬器中Back按鈕,LogCat窗口顯示如下輸出:
8、由上面的實例可知,碎片經歷的過程如下:
碎片被創建時:onAttach()-->onCreate()-->onCreateView()-->onActivityCreated();
碎片進入後台模式時:onPause()-->onStop();
碎片變為可見時:onStart()-->onResume();
碎片被銷毀時:onPause()-->onStop()-->onDestroyView()-->onDestroy()-->onDetach();
9、與活動一樣,碎片可以使用Bundle對象在以下狀態中還原碎片的實例:
onCreate()、onCreateView()、onActivityCreated()。
這個是一個以弧線為依托的進度控件,主要包括了兩個圓弧、一個圓、一個文本。 當我們點擊開始按鈕的時候,會出現一個動畫,逐漸的出現進度,好了,下面開始我們的編碼。新
最近,同學的同學找我做了一款簡單的安卓手機軟件,第一次,一個人,做一個完整的項目。所以,在這裡總結一下完整的開發流程和步驟,方便後來人入門學習。其實,我是一個新手,沒有系
Tab標簽頁是UI設計時經常使用的UI控件,可以實現多個分頁之間的快速切換,每個分頁可以顯示不同的內容。 TabHost相當於浏覽器中標簽頁分布的集合,而Tabspec
有時候,我們的實體類中會有一些屬性,但是數據庫中沒有對應的類型,這個時候我們就需要自定義轉換器進行類型轉換。很常見的處理就是Date類型一般如果精度要求不高的話我們會轉換