Activity、Service、Broadcast Receiver、Content Provide爲Android四大核心組件,Activity是與用戶交互的窗口,有三種狀態:運行、暫停、中止html
七個方法:android
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
生命週期圖,見:app
http://developer.android.com/reference/android/app/Activity.htmlide
能夠看到:
佈局
運行狀態:在OnResume以後字體
暫停狀態:onPause後,暫停狀態時,若有其它優先更高的程序運行須要內存,可能會中止這程序,釋放內存this
onPause—》OnResumespa
onStop->>onStartorm
小貼士:調整窗口(代碼)字體大小xml
WindowsàPreferenceàGeneral->Appearance->Colorsand Fonts->Text FontàEdit
案例Day2-1:
1)新建 Android Application Project
2)建立新類Show1,
擴展自Activity,繼承Superclass點擊」Browse…」,輸入:Activity,會選中「android.app.Activity」
3)該類配置到AndroidManifest.xml
雙擊打開AndroidManifest.xml,在可視化界面中,ApplicationNodes,」Add」—》」Activity」後,右側,」Browse」,添加剛纔的新類,也可直接在AndroidManifest.xml添加一行:
<activity android:name="Show1"></activity>
4)添加新類的佈局
給新類,添加一內容佈局,右擊:res->layout,添加Android XML File,取名爲:show1,佈局方式:LinearLayout
添加一文本:
<TextView
android:id="@+id/txtMyView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MyView" />
5)新類與內容佈局綁定,在新類代碼文件中添加setContentView(R.layout.show1),以下:
public class Show1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show1);
6)在主頁面佈局中,添加按鈕事件,傳遞字符串給Show1:
public class MainActivity extends ActionBarActivity {
private Button btnStart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnStart=(Button) findViewById(R.id.butStart);
btnStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(MainActivity.this,Show1.class);
Bundle data=new Bundle();
data.putString("txt","Hello Show1");
i.putExtras(data);
startActivityForResult(i,0);
finish();//若有這,則會關閉此頁
}
});
}
7)show1類中接受字符串:
public class Show1 extends Activity { private TextView txtMyView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.show1); txtMyView=(TextView)findViewById(R.id.txtMyView); Bundle data=getIntent().getExtras(); String txt=data.getString("txt"); txtMyView.setText(txt); }}