首页 > 代码库 > 10天学通Android开发(2-1)-核心组件Activity
10天学通Android开发(2-1)-核心组件Activity
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,添加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=http://www.mamicode.com/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=http://www.mamicode.com/getIntent().getExtras();
String txt=data.getString("txt");
txtMyView.setText(txt);
}
}
本文出自 “蓝海战术” 博客,请务必保留此出处http://wanxl.blog.51cto.com/2129901/1587964
10天学通Android开发(2-1)-核心组件Activity