Activity、Service、Broadcast Receiver、Content Provide为Android四大核心组件,Activity是与用户交互的窗口,有三种状态:运行、暂停、停止

七个方法:


protected void onCreate(Bundle savedInstanceState);

protected void onStart();

protected void onRestart();

protected void onResume();

protected void onPause();

protected void onStop();

protected void onDestroy();


生命周期图,见:

http://developer.android.com/reference/android/app/Activity.html


可以看到:

运行状态:在OnResume之后

暂停状态:onPause后,暂停状态时,如有其它优先更高的程序运行需要内存,可能会停止这程序,释放内存

onPause—》OnResume

onStop->>onStart


小贴士:调整窗口(代码)字体大小

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,添加AndroidXML 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);

}
}