一、Activity的作用
Activity作用就是和用户进行交互;
Activity间接或者直接集成Context、ContextWrapper、ContextTheme、Wrapper等基类
有的时候Activity只用集成Activity的子类(——代表子类)
AccountAuthenticatorActivity实现账户管理界面
ActivityGroup——TabActivity实现Table界面
ListActivity,实现列表界面
——LauncherActivity一个列表项对应一个Activity
——PreferenceActivity实现程序参数设置、存储界面
AliasActivity启动其他Activity结束自己
ExpandableListActivity实现可展开列表界面
FragmentActivity多ui界面
NativeActivity 使用C/C++在NDK环境中处理Activity的生命周期
二、Activity的使用以及之间数据交互
创建Activity
首先要建立一个继承Activity的类,然后重写onCreate方法
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity01);//设置布局文件
TextView myTextView = (TextView)findViewById(R.id.myTextView);
//这里是通过布局文件中的id属性找到对应的组件
Button myButton = (Button)findViewById(R.id.myButton);
myTextView.setText(“我的第一个TextView”);
myButton.setText(“我的第一个Button”+”\n”+”test”+”\r”+”test2”);
}
Android应用要求所有应用组件(Activity、Service、ContentProvider、BroadcastReceiver)都必须显示的进行配置
AndroidManifest.xml 中的application元素中添加
<!– 配置Activity –>
<activity
android:name=”.Activity1″ 指定实现Activity的类名
android:icon=”@drawable/ic_launcher” 对应的图标(一般不需要)
android:label=”@string/app_name” > 对应的标签
<intent-filter> 如果带有这个元素说明这个Activity是启动的首先相应的
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
通常程序会有很多Activity但是只有一个Activity是入口(就是配置文件中带有intent-filter的那个)
启动其他的Activity需要入口启动的Activity启动;通常用两种方法启动
startActivity(Intent intent)
startActivityForResult(Intent intent,int requestCode)
Intent intent = new Intent(StartActivity.this,SecondActivity.class);
//启动intent对应的Activity
startActivity(intent);
或者使用finish()这样这个程序就是结束了
finish()结束当前Activity
finishActivity结束以startActivityForResult启动的Activity
intent.putExtra(“name”, “中文?”);
这样在intent.getStringExtra(“name”);就可以获取到对应的值
同样可以使用putSerializable序列化对象进行传递参数
三、Activity的回调机制和生命周期
onCreate()第一次被创建,通常设置布局文件绑定监听器等(常见)
onStart()用户可以看到
onResume()获取用户焦点
onPause()启动了另外的Activity(常见)
onStop()Activity不能被用户所见
onRestart()返回原来创建的Activity,未被onDestory
onDestory()代码中调用finish方法或者系统资源不够用
PS:Activity是四大组件之一,也是用户接触最多的一个组件,是用户进行交互的窗口;一定要熟练使用Activity