您的位置:首页 > 移动开发 > Android开发

Android Activity

2016-04-18 23:07 555 查看
Activity是一个应用程序组件,提供了用户与程序交互的界面
Android四大组件:
-- Activity
-- Service
-- BroadcastReceiver
-- Content Provider
Activity如何创建使用
首先创建一个类继承Android的Activity类;
重写方法;
设置显示布局;
在AndroidManifest文件中,注册Activity。
新建一个项目ActivityDemo,项目创建出来后会创建一个MainActivity类,MainActivity类继承自Activity,同时他会重写onCreate()方法,通过setContentView()函数将页面显示出来。
Activity需要在AndroidManifest.xml中进行注册:
<activity
android:name="com.example.autocompletetextviewandmulti.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>
这里,MainActivity在项目创建时自动注册了。
如果该Activity是当前程序的主入口,则还要为其设置action和category属性。

Activity的生命周期
onCreate(); 创建
onStart(); 运行
onResume(); 获取焦点
onPause(); 失去焦点
onStop(); 暂停
onDestroy(); 销毁
onRestart();

Activity的四种状态
-- 活动状态(Active/Running) Activity处于界面最顶端,获取焦点
-- 暂停状态(Paused) Activity失去焦点,但对用户可见
-- 停止状态(Stopped) Activity被王权遮挡,但保留所有状态和成员信息
-- 非活动状态(Killed) Activity被停止
从创建到销毁的生命周期:
onCreate() --> onStart() --> onResume() --> onPause() --> onStop() --> onDestroy()
在MainActivity类中重写以上方法,运行Android App,在LogCat中能够看到输出结果。
从启动到后台,再到前台的生命周期
onCreate()->onStart()->onResume()->onPause()->onStop()->onRestart()->onStart()->onResume()
停止状态(Stopped)Activity被完全遮挡,但保留所有状态和成员信息。
从启动到失去焦点,再到获取焦点的生命周期
onCreate()->onStart()->onResume()->onPause()->onResume()
为了进行这个操作我们需要新建一个布局类SecondActivity;
再在layout/目录下新建一个布局second_view.xml;
再在SecondActivity的onCreate方法中设定setContentView(R.layout.second_view);
还需要在AndroidManifest.xml文件中注册一下。
<activity
android:name="com.example.activitydemo.SecondActivity"
android:theme="@android:style/Theme.DeviceDefault.Dialog"
>
</activity>
这样这个SecondActivity就能用了,并设置SecondActivity的样式。
在activity_main.xml中新建一个按钮用于从MainActivity中转到SecondActivity。
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
在MainActivity中给该按钮设置点击事件
在监听事件同通过intent进入了新的焦点。
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
MainActivity.this.startActivity(intent);
}

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activitydemo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.activitydemo.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
android:name="com.example.activitydemo.SecondActivity"
android:theme="@android:style/Theme.Dialog"
>
</activity>
</application>

</manifest>


AndroidManifest.xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: