Android 基础知识详解

来源:互联网 发布:java判断字符串空格 编辑:程序博客网 时间:2024/05/07 18:55

1:Activity与Fragment的生命周期。

Activity的生命周期:

这里写图片描述

1) onCreate():当Activity第一次被创建时调用,完成活动的初始化操作.
2) onStart(): 当用户可以看到这个Activity时调用
3)onResume(): 当获得了用户的焦点时,就是用户点击屏幕
4)onPause():当系统准备启动或回复另一个活动时调用.在这个方法中将一些小号CPU的资源释放,保存一些重要数据。
5)onStop():当活动完全不可见时调用,当新启动的活动时,像对话框式的,还处于可见时,该方法是不会调用.
6)onDestroy():活动被销毁时调用
7)onRestart():当活动有停止状态变为运行状态时调用.

Fragment的生命周期:

这里写图片描述

对比图:

这里写图片描述

测试代码:

 import android.app.Activity;   import android.app.ListFragment;   import android.os.Bundle;   import android.util.Log;   import android.view.LayoutInflater;   import android.view.View;   import android.view.ViewGroup;   import android.widget.ArrayAdapter;   import android.widget.ListView;    /**         * Demonstration of using ListFragment to show a list of items         * from a canned array.        */   public class FragmentListArray extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      Log.e("HJJ", "Activity &&&& onCreate...");      // Create the list fragment and add it as our sole content.      if (getFragmentManager().findFragmentById(android.R.id.content) == null) {          ArrayListFragment list = new ArrayListFragment();          getFragmentManager().beginTransaction().add(android.R.id.content, list).commit();      }  }  @Override  protected void onStart() {      // TODO Auto-generated method stub      super.onStart();      Log.e("HJJ", "Activity &&&& onStart...");  }  @Override  protected void onResume() {      // TODO Auto-generated method stub      super.onResume();      Log.e("HJJ", "Activity &&&& onResume...");  }  @Override  protected void onStop() {      // TODO Auto-generated method stub      super.onStop();      Log.e("HJJ", "Activity &&&& onStop...");  }  @Override  protected void onPause() {      // TODO Auto-generated method stub      super.onPause();      Log.e("HJJ", "Activity &&&& onPause...");  }  @Override  protected void onDestroy() {      // TODO Auto-generated method stub      super.onDestroy();      Log.e("HJJ", "Activity &&&& onDestroy...");  }  public static class ArrayListFragment extends ListFragment {      @Override      public void onAttach(Activity activity) {          // TODO Auto-generated method stub          Log.e("HJJ", "ArrayListFragment **** onAttach...");          super.onAttach(activity);      }      @Override      public void onCreate(Bundle savedInstanceState) {          // TODO Auto-generated method stub          Log.e("HJJ", "ArrayListFragment **** onCreate...");          super.onCreate(savedInstanceState);      }      @Override      public View onCreateView(LayoutInflater inflater, ViewGroup container,              Bundle savedInstanceState) {          // TODO Auto-generated method stub          Log.e("HJJ", "ArrayListFragment **** onCreateView...");          return super.onCreateView(inflater, container, savedInstanceState);      }      @Override      public void onActivityCreated(Bundle savedInstanceState) {          super.onActivityCreated(savedInstanceState);          Log.e("HJJ", "ArrayListFragment **** onActivityCreated...");          String[] array = new String[]{"C++", "JAVA", "PYTHON"};          setListAdapter(new ArrayAdapter<String>(getActivity(),                  android.R.layout.simple_list_item_1, array));      }      @Override      public void onStart() {          // TODO Auto-generated method stub          Log.e("HJJ", "ArrayListFragment **** onStart...");          super.onStart();      }      @Override      public void onResume() {          Log.e("HJJ", "ArrayListFragment **** onResume...");          // TODO Auto-generated method stub          super.onResume();      }      @Override      public void onPause() {          Log.e("HJJ", "ArrayListFragment **** onPause...");          // TODO Auto-generated method stub          super.onPause();      }      @Override      public void onStop() {          Log.e("HJJ", "ArrayListFragment **** onStop...");          // TODO Auto-generated method stub          super.onStop();      }      @Override      public void onDestroyView() {          Log.e("HJJ", "ArrayListFragment **** onDestroyView...");          // TODO Auto-generated method stub          super.onDestroyView();      }      @Override      public void onDestroy() {          // TODO Auto-generated method stub          Log.e("HJJ", "ArrayListFragment **** onDestroy...");          super.onDestroy();      }      @Override      public void onDetach() {          Log.e("HJJ", "ArrayListFragment **** onDetach...");          // TODO Auto-generated method stub          super.onDetach();      }      @Override      public void onListItemClick(ListView l, View v, int position, long id) {          Log.i("FragmentList", "Item clicked: " + id);      }  }  

测试结果:

onCreate过程  01-22 15:30:28.091: E/HJJ(10315): Activity &&&& onCreate...  01-22 15:30:28.091: E/HJJ(10315): ArrayListFragment **** onAttach...  01-22 15:30:28.091: E/HJJ(10315): ArrayListFragment **** onCreate...  01-22 15:30:28.115: E/HJJ(10315): ArrayListFragment **** onCreateView...  01-22 15:30:28.123: E/HJJ(10315): ArrayListFragment **** onActivityCreated...  onStart过程  01-22 15:30:28.123: E/HJJ(10315): Activity &&&& onStart...  01-22 15:30:28.123: E/HJJ(10315): ArrayListFragment **** onStart...  onResume过程  01-22 15:30:28.123: E/HJJ(10315): Activity &&&& onResume...  01-22 15:30:28.123: E/HJJ(10315): ArrayListFragment **** onResume...  onPause过程  01-22 15:31:26.748: E/HJJ(10315): ArrayListFragment **** onPause...  01-22 15:31:26.748: E/HJJ(10315): Activity &&&& onPause...  onStop过程  01-22 15:31:27.638: E/HJJ(10315): ArrayListFragment **** onStop...  01-22 15:31:27.638: E/HJJ(10315): Activity &&&& onStop...  onStart过程  01-22 15:31:57.537: E/HJJ(10315): Activity &&&& onStart...  01-22 15:31:57.537: E/HJJ(10315): ArrayListFragment **** onStart...  onResume过程  01-22 15:31:57.537: E/HJJ(10315): Activity &&&& onResume...  01-22 15:31:57.537: E/HJJ(10315): ArrayListFragment **** onResume...  onPause过程  01-22 15:32:47.412: E/HJJ(10315): ArrayListFragment **** onPause...  01-22 15:32:47.412: E/HJJ(10315): Activity &&&& onPause...  onStop过程  01-22 15:32:47.865: E/HJJ(10315): ArrayListFragment **** onStop...  01-22 15:32:47.865: E/HJJ(10315): Activity &&&& onStop...  onDestroy过程  01-22 15:32:47.865: E/HJJ(10315): ArrayListFragment **** onDestroyView...  01-22 15:32:47.865: E/HJJ(10315): ArrayListFragment **** onDestroy...  01-22 15:32:47.865: E/HJJ(10315): ArrayListFragment **** onDetach...  01-22 15:32:47.865: E/HJJ(10315): Activity &&&& onDestroy...
0 0
原创粉丝点击