一、Activity的用途
先从api获取这个类的总结为:
一个Activity是一个由用户能进行操作的单独,强制的事物,几乎所有的Activities都与用户进行交互,所以Acitity类能创建当你使用setContentView(View view)方法进行创建一个窗口。当然他们通常被使用为一个全屏窗口,当然它也有其他的用法,可以设置成一个浮动窗口(通过设置windowIsFloating)或者与其他的activity进行嵌套,这有两个方法必须子Activity进行继承:
onCreate(Bundle)方法:
这个是初始化Activity,首先,我们会经常通过资源的布局文件调用setContentView(int),而且使用findViewById(int)接收控件在这个Activity需要进行初始化。
onPause()方法:
这个方法是用于处理你要离开这个Acitivy这个方法调用,首先,用户进行对程序的所有的变化应该被提交(经常通过ContentProvider进行保存数据)
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View). While activities are often presented to the user as full-screen windows, they can also be used in other ways: as floating windows (via a theme with windowIsFloating set) or embedded inside of another activity (using ActivityGroup). There are two methods almost all subclasses of Activity will implement:
二、Activity的声明
为了正常使用这个Acitivity,我们必须在 AndroidManifest.xml进行与之相匹配的声明,注意声明必须在<application>的里面,例子如下:
<manifest ... > <application ... > <activity android:name=".ExampleActivity" /> ... </application ... > ... </manifest >
现在我们初学者懂得使用:
<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
表示这个Activity这个是程序的入口Activity而且所有用户都可以启动这个程序,其中intent-filter将后序详细详解。
三、Activity的互相调用
其中有两种方法,一种是调用startActivity(Intent),另一种是调用startActivityForResult(Intent,int),后一种方法比较要注意我们在本地activity重写onActivityResult(int requestCode, int resultCode, Intent data) 方法,而在另一个Activity必须返回resultCode(默认是RESULT_OK),setResut方法.
四、关闭Activity
其中两种关闭方式,一种finish(),另一种是finishActivity(),想对应当然也是上面调用的方法。
五、生命周期的详解
先来看一张我们最经典的Activity的生命周期图:
接着我们来详细介绍这个声明周期:
这个记忆方法是从网上摘抄的
可以看出一般是成双成对的出现,
另外,还有一点要注意,Activity在处于onPause、onStop、onDestroy状态下,系统都可以销毁该Activity所在进程,所以我们在处理一些要保存的数据时,必须在onPause方法中进行,因为onStop和onDestroy方法不一定会被调用。那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。
今天到此为止。。。明天继续。。。