Android学习笔记-Activity
一.Activity概述
Activity 是android中最重要,最常见的组件,是android四大组件之一。
启动activity的方法有俩个:
1.使用startActivity();
2.使用startActivityForResult();该方法一般用来在另外一个Activity中得到数 据,然后返回给调用他的Acticity中,比如在另外一个页面中选择城市,获 取城市的名称
1.
startActivityForResult(intent, requestCode);
//发送启动activity的请求,为了让acticity分辨出时来自哪个Activity的请求,故给出请求码
2.在当前activity中重写该方法,用以获取返回的结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if(requestCode == 0 & resultCode == 0){
String city = data.getExtras().getString("city");
}
super.onActivityResult(requestCode, resultCode, data);
}
3.在被启动的activity中设置回复
Intent i = getIntent();
Bundle bundle = new Bundle();
bundle.setStirng("city","西安");
i.putExtras(bundle);
setResult(0,i);
二.退出应用得按俩次退出键
1.定义一个long time;//用以保存上一次按下退出时记录时间
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - time) > 2000) // System.currentTimeMillis()无论何时调用,肯定大于2000
{
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
time = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
三.Intent对象
1.Android 的应用程序包含三种重要组件:Activity,BoradCastReceiver,Service ,他们三者都是通过Intent来进行启动的,Intent就封装了程序想要启动的意图。
2.Intent对象大致包含Compenent,Action,CateGory,Data,Type,Extra和Flag这7种属性
3.Android应用Context代表应用环境信息的借口,Android应用的Context与包名有着一一对应的关系。
4.当你用Intent的Action属性来隐式启动activity时,在Intent-Filter中必须还包含至少一个Category子属性,不然就会抱异常
得加上