什么是Activity?

Activity是最基本的Android应用程序组件,应用程序中,一个Activity通常就是一个单独的屏幕。每个Activity都被实现为一个独立的类,并且从Activity基类继承而来,Activity类会显示视图控制组件,并对事件作出响应,大多数应用程序都是有多个Activity组成的。


继承 Activity(当然也可以继承ListActivity、ActionBarActivity等)。


onCreate()方法,在该方法中调用 setContentView()方法展示要 显示的视图,调用 findViewById()方法实例化组件。




在深入了解Activity之前,我们先要知道一下MVC设计模式,在JAVAEE 中MVC设计模式已经很经典了,而且分的也比较清晰了,但是在Android中,好多人对MVC在Android开发中的应用不是很清楚,下面我就先来介绍一下MVC在Android开发中的应用:

       M(Model 模型):Model是应用程序的主体部分,所有的业务逻辑都应该写在这里,在Android中Model层与JavaEE中的变化不大,如:对数据库的操作,对网络等的操作都放在该层(但不是说它们都放在同一个包中,可以分开放,但它们统称为Model层)。

       V(View 视图):是应用程序中负责生成用户界面的部分,也是在整个MVC架构中用户唯一可以看到的一层,接收用户输入,显示处理结果;在Android应用中一般采用XML文件里德界面的描述,使用的时候可以非常方便的引入,当然也可以使用JavaScript+Html等方式作为View。

       C(Controller控制层)android的控制层的重任就要落在众多的activity的肩上了,所以在这里就要建议大家不要在activity中写太多的代码,尽量能过activity交割Model业务逻辑层处理。

       好了,在介绍过Android应用开发中的MVC架构后,我们就可以很明确的知道,在Android中Activity主要是用来做控制的,它可以选择要显示的View,也可以从View中获取数据然后把数据传给Model层进行处理,最后再来显示出处理结果。

Activity生命周期如下:


android 继承 ProgressBar 继承activity_MVC


Activity 的生命周期是被以下的函数控制的。

public class Activity extends ApplicationContext {
 void onCreate(Bundle icicle);
 protected void onStart();
 protected void onRestart();
 protected void onResume();
 void onFreeze(Bundle outIcicle);
 protected void onPause();
 protected void onStop();
 protected void onDestroy();
}

onCreate(Bundle) 函数是你进行初始化的地方,这个也是执行
setContentView(View)函数的地方,setContentView(View)函数可以传入一个由XML
编制的UI界面,可以使UI和具体实现完全分离。
onPause()函数是处理用户离开当前 Activity 的地方。更重要的是,任何在当前
Activity中的任何改变都要在这个函数中提交。


Activity有四种状态:
       活动状态,当Activity处于Stack(栈)顶时,就是手机当前的现实屏幕,这是 Activity就处于activity或者运行状态。
       运行但是失去焦点,当Activity还处于运行状态时,但是屏幕是有另外一个Activity处于文档处于焦点状态,当前的Activity就处于pause。
       停止,当Activity被另一个Activity完全覆盖的时候,就被停止了,其实就是虽然在运行,但是用户却看不见。
       结束,当Activity处于pause或者stop时,系统可以结束 Activity,回收资源,这是Activity就是处于结束状态了。
       处于结束状态的是Activity,如果要使用户可见,只要重启才可以。


实例:


为应用添加新的Activity


第一步:新建一个继承Activity的类,如:ShowActivity

public class ShowActivity extends Activity {
    @Override protected voidonCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
     }
}

第二步:需要在功能清单AndroidManifest.xml文件中添加进上面Activity配置代码(红色部分):

<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="cn.edu.bzu.activity"
     android:versionCode="1"
     android:versionName="1.0"<
    <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"<
        .....
<activity android:name=“.ShowActivity” android:label=“欢迎你"/>
  
  ...
</manifest>

实例:打招呼


android 继承 ProgressBar 继承activity_android_02

android 继承 ProgressBar 继承activity_Android_03