Android Activity(一)
一、Activity
-
一个Activity就是一个类,要继承Activity基类(如Activity)或是其子类(如ListActivity);
-
新建Actiivty时要注意复写onCreate()方法(使用Eclipse编写安卓程序时建议直接在新建类的可视化界面选择继承Activity,Eclipse会自动添加上onCreate()方法,节省开发时间);
-
(!important)每新建一个Activity需要在AndroidManifest.xml中进行注册,并写明相应的内容,如下所示:
<activity android:name="com.example.activity.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
另外,如果Activity需要调用系统相对比较底层的功能(个人理解系统操作),如打电话、发短信、调用相机、GPS等,需要在<manifest>标签下注明相应权限,如下所示:
<uses-permission android:name="android.permission.CALL_PHONE" />
不仅是Activity,Android四大组件的任何一个都需要在AndroidManifest.xml中进行注册。
-
Activity生命周期
网上最常用的学习Activity的方法是使用Log.i()方法在LogCat中输出相应信息来进行Activity整个生命周期的观察。
-
Activity活动状态的保存
protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub super.onSaveInstanceState(outState); String content = editText.getText().toString(); outState.putString("content", content); }
默认情况下是没有复写该方法滴(废话),此时系统会默认实现保存Activity中控件的状态(控件需要指定id,没有id就无法保存其状态)。
该方法适用于保存额外的数据,但不适合保存长期数据,长期数据需要在onPause()中操作。
相关图示如下: