Android基础之Activity

Activity是用户可见的与用户交互的界面.四大组件之一,需要在Manifest.xml文件中注册

需要继承自Activity类,ListView时继承自ListActivity类

启动Activity

默认启动的Activity再xml文件中添加了intent-fliter,证明是程序的入口,应用程序启动自动自动这个Activity.
<activity
            android:label="@string/app_name"
            android:name=".Activity_01" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>

启动其他自定义Activity

在第一个Activity中添加:
Intent intent=new Intent();
intent.setClass(this,otherActivity.class);
startActivity(intent);
这是最普通的启动方式.

启动系统的Activity

比如启动系统的拨号Activity
Intent intent=new Intent();
Uri uri=Uri.parse("content://contacts/people/1");//显然是联系人    "tel:123456"  是一个拨号的格式
intent.setAction(ACTION_DIAL,uri);
//类似的Action还有ACTION_CALL  ACTION_EDIT  ACTION_VIEW等,例如这里EDIT是编辑联系人界面,VIEW是查看联系人界面
//系统根据打开的uri格式来决定用什么系统Activity接受
startActivity(intent);

启动一个Activity并要求返回值

从一个Activity启动另外一个Activity,并要求在后者执行完毕后返回一个值    使用startActivityForResult()
Activity1启动Activity2
在第一个Activity中:
Intent intent=new Intent();
intent.setClass(this,OtherActivity.class);
startActivityForResult(intent,REQUEST_HELLO);
//这里后面的参数是发送的请求号,一般为了容易看懂,使用常量形式,自己可以定义public static final int REQUEST_HELLO=1;

在被激活的Activity的合适的方法比如 onCreate()中:
Intent intent=new Intent();
intent.putExtra("res","OtherActivityOver!!!");
setResult(resultCode,intent);      //这里resultCode也是定义好的常量int,或者是系统定义好的常量RESULT_OK,RESULT_CANCELED

在第一个Activity中重写onActivityResult(int requestCode,inte resultCode,intent data)方法获得返回的值并进行处理


Activity的生命周期

onCreate进程创建

onStart开始进程

onResume获得焦点

onPause失去焦点

onStop不可见

onDestroy进程销毁


onRestart

Activity生命周期


Activity的关闭

可以在Activity中调用finish()方法  或者在别的地方调用finishActivity()方法

保存Activity的状态以及状态恢复

重写onSavaInstaceState(Bundle bundle)方法来存储Activity的界面
重写onRetoreInstanceState(Bundle bundle)方法来恢复数据

设置Activity显示的样式

在xml文件中,更改<activity android:theme="@android:style/Theme.Translucent"> 设置Activity为半透明              Dialog为对话框形式等等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值