編輯:關於Android編程
1、Activity簡介:
Activity可以簡單理解為android手機應用程序中的每一個界面,
其有相應的實現Activity類的java類文件(相當於手機界面控制相關邏輯的文件,類似flex頁面的腳本文件,或者常見頁面形式中的js),
也有響應的布局xml文件,預先設置好響應的布局控件及其大小、顏色等屬性,
每一個Activity都需要在AndroidManifest.xml文件中注冊,類似於javaweb中servlet,listener需要在web.xml中注冊一樣。
2、Activity的生命周期圖,如下:
簡單幾個階段說明:
1)、比方說打開一個登錄Activity,名為LoginActivity,該LoginActivity會先執行onCreate,onStart,onResume方法,完成登錄界面的初始化。
2)、若用戶點擊返回導航到主菜單,則執行LoginActivity的onPause,OnStop(用戶看不到登錄界面時執行),OnDestory方法<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICAgIG9uUmVzdGFydNTaz8LD5sq508OwuMD9y7XD96GjPC9wPgo8cD4zoaKwuMD9y7XD96O6PC9wPgo8cD4gICAgvPK96aO619y5ssG9uPa958Pmo6zSu7j21ve958Pmo6zD+86qVGVzdExpZmVDeWNsZUFjdGl2aXR5o6jQ6NTao6mjrNK7uPa147v31ve958Pmyc+1xLC0xaXXqrW9tcTX073nw+ajrMP7zqpUZXN0TGlmZUN5Y2xlQWN0aXZpdHkyo6y0+sLrvLCyvL7WzsS8/sjnz8KjujwvcD4KPHA+VGVzdExpZmVDeWNsZUFjdGl2aXR5LmphdmE8L3A+CjxwPjxwcmUgY2xhc3M9"brush:java;">package com.example.helloworld; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestLifeCycleActivity extends Activity { private int i = 1; private Button test_life_cycle_btn1 = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_life_cycle); System.err.println(i + "、" + "TestLifeCycleActivity onCreate"); i++; findView(); test_life_cycle_btn1.setOnClickListener(new OnClickListener() { Intent intent = new Intent(TestLifeCycleActivity.this, TestLifeCycleActivity2.class); @Override public void onClick(View view) { TestLifeCycleActivity.this.startActivity(intent); } }); } private void findView(){ test_life_cycle_btn1 = (Button) findViewById(R.id.test_life_cycle_btn1); } @Override protected void onDestroy() { super.onDestroy(); System.err.println(i + "、" + "TestLifeCycleActivity onDestroy"); i++; } @Override protected void onPause() { super.onPause(); System.err.println(i + "、" + "TestLifeCycleActivity onPause"); i++; } @Override protected void onRestart() { super.onRestart(); System.err.println(i + "、" + "TestLifeCycleActivity onRestart"); i++; } @Override protected void onResume() { super.onResume(); System.err.println(i + "、" + "TestLifeCycleActivity onResume"); i++; } @Override protected void onStart() { super.onStart(); System.err.println(i + "、" + "TestLifeCycleActivity onStart"); i++; } @Override protected void onStop() { super.onStop(); System.err.println(i + "、" + "TestLifeCycleActivity onStop"); i++; } }
TestLifeCycleActivity2 .java
package com.example.helloworld; import android.app.Activity; import android.os.Bundle; public class TestLifeCycleActivity2 extends Activity { private int i = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_life_cycle2); System.err.println(i + "、" + "TestLifeCycleActivity2 onCreate"); i++; } @Override protected void onDestroy() { super.onDestroy(); System.err.println(i + "、" + "TestLifeCycleActivity2 onDestroy"); i++; } @Override protected void onPause() { super.onPause(); System.err.println(i + "、" + "TestLifeCycleActivity2 onPause"); i++; } @Override protected void onRestart() { super.onRestart(); System.err.println(i + "、" + "TestLifeCycleActivity2 onRestart"); i++; } @Override protected void onResume() { super.onResume(); System.err.println(i + "、" + "TestLifeCycleActivity2 onResume"); i++; } @Override protected void onStart() { super.onStart(); System.err.println(i + "、" + "TestLifeCycleActivity2 onStart"); i++; } @Override protected void onStop() { super.onStop(); System.err.println(i + "、" + "TestLifeCycleActivity2 onStop"); i++; } }
TestLifeCycleActivity布局文件,僅有一個按鈕,轉到子界面:
05-14 10:54:19.012: W/System.err(1862): 1、TestLifeCycleActivity onCreate 05-14 10:54:19.012: W/System.err(1862): 2、TestLifeCycleActivity onStart 05-14 10:54:19.041: W/System.err(1862): 3、TestLifeCycleActivity onResume -- 以上三個為主界面的初始化 05-14 10:54:23.481: W/System.err(1862): 4、TestLifeCycleActivity onPause -- 點擊按鈕後將要轉到子界面,先暫停主界面 05-14 10:54:25.241: W/System.err(1862): 1、TestLifeCycleActivity2 onCreate 05-14 10:54:25.251: W/System.err(1862): 2、TestLifeCycleActivity2 onStart 05-14 10:54:25.281: W/System.err(1862): 3、TestLifeCycleActivity2 onResume -- 初始化子界面,此時子界面被渲染,占據屏幕最前端 05-14 10:54:27.551: W/System.err(1862): 5、TestLifeCycleActivity onStop -- 主界面不可見,執行主界面的stop方法 05-14 10:55:11.742: W/System.err(1862): 4、TestLifeCycleActivity2 onPause -- 點擊返回導航時,暫停子界面 05-14 10:55:11.802: W/System.err(1862): 6、TestLifeCycleActivity onRestart -- 執行主界面的restart方法 05-14 10:55:11.802: W/System.err(1862): 7、TestLifeCycleActivity onStart -- 執行主界面的start方法 05-14 10:55:11.813: W/System.err(1862): 8、TestLifeCycleActivity onResume -- 執行主界面的onResume方法,重新開始渲染主界面,此時主界面在屏幕最前端 05-14 10:55:13.354: W/System.err(1862): 5、TestLifeCycleActivity2 onStop -- 子界面不可見,執行子界面onStop方法 05-14 10:55:13.362: W/System.err(1862): 6、TestLifeCycleActivity2 onDestroy -- 銷毀子界面
05-14 10:56:50.281: W/System.err(1862): 1、TestLifeCycleActivity onCreate 05-14 10:56:50.301: W/System.err(1862): 2、TestLifeCycleActivity onStart 05-14 10:56:50.391: W/System.err(1862): 3、TestLifeCycleActivity onResume -- 主界面初始化渲染 05-14 10:56:55.331: W/System.err(1862): 4、TestLifeCycleActivity onPause -- 子界面將要占據手機屏幕,暫停主界面 05-14 10:56:56.411: W/System.err(1862): 1、TestLifeCycleActivity2 onCreate 05-14 10:56:56.421: W/System.err(1862): 2、TestLifeCycleActivity2 onStart 05-14 10:56:56.441: W/System.err(1862): 3、TestLifeCycleActivity2 onResume -- 子界面渲染 05-14 10:56:58.051: W/System.err(1862): 4、TestLifeCycleActivity2 onPause -- 主界面將要占據手機屏幕,暫停子界面 05-14 10:56:58.261: W/System.err(1862): 5、TestLifeCycleActivity onResume -- 用戶點擊返回導航到主界面,執行主界面OnResume,因為子界面沒有來得及占據手機屏幕,所以主界面此時仍然可見,則不會執行其OnStop方法 05-14 10:56:59.111: W/System.err(1862): 5、TestLifeCycleActivity2 onStop -- 子界面不可見,執行onStop方法 05-14 10:56:59.111: W/System.err(1862): 6、TestLifeCycleActivity2 onDestroy -- 銷毀子界面 05-14 10:56:59.521: W/System.err(1862): 6、TestLifeCycleActivity onPause -- 用戶點擊多次返回導航,退回到主界面後,接著退出主界面,到手機桌面,則需暫停主界面 05-14 10:57:04.571: W/System.err(1862): 7、TestLifeCycleActivity onStop -- 接著主界面不可見,停止主界面 05-14 10:57:04.571: W/System.err(1862): 8、TestLifeCycleActivity onDestroy -- 接著銷毀主界面
1.簡介MediaScannerJNI的在MediaScanner中的地位可參考Android MediaScanner 總綱MediaScanner JNI文件名:an
三星Galaxy S6 Edge推出有一段時間了,受很多用戶的贊揚,不過再好的手機在使用的過程中也會出現一定的問題。比如數據連接問題,手機卡頓滯後問題,攝像
熟知:什麼是傳感器: 所謂傳感器能夠探測如光、熱、溫度、重力、方向 等等的功能!Android中提供傳感器有哪些:&nbs
推薦閱讀:淺析Android手機衛士自定義控件的屬性淺析Android手機衛士關閉自動更新詳解Android 手機衛士設置向導頁面一般的手機沒有root權限,進不去dat