首页 > 学院 > 开发设计 > 正文

"第二行代码"知识总结——Activity和Intent

2019-11-09 16:26:33
字体:
来源:转载
供稿:网友

一、活动中使用Menu

1、新建menu文件夹,在其中新建Menu resource file,这是一个xml类型的文件,并在里面添加字段,每一个item标签是一个菜单项,其中,title为必须项

2、在Activity中重写onCreateOptionsMenu(),如下

@Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main,menu);        return true;    }

3、重写 onOptionsItemSelected(MenuItem item)这个方法来实现监听逻辑

二、隐式Intent

1、在AndroidManifest.xml的activity标签一般都有过滤器,过滤器有三种,action,cetegory和data。其中cetegory默认是default类型,只有代码中的这三个类型与清单文件中这三个类型能够同时匹配时,该活动才能响应这个隐式intent。

    2、action只能指定一个,cetegory却可以指定多个,在代码中可以通过intent.addCetegory()来动态添加cetegory 3、相对于清单文件来说,要想成功响应某隐式intent,“大项必须完全相同,小项可多不可少”,且cetegory的defaul类型t就像无参构造器,仅自己时可不写,若多了则必须写

4、隐式intent不仅可以匹配本程序的acticity,还可匹配其他app的活动。

5、代码中可以使用setdata()方法设置data,方法内接受uri参数,用于指定现在正在操作的数据,清单文件中的data标签内容与intent中所携带的data相同,才可匹配

6、Action_View 隐式网页,Action_Dail 隐式电话联系人

三、返回数据给上一活动

1、在第一个活动中

startActivityForResult(intent,request)

重写onActivityResult方法

2、在第二个活动中

setResult(RESULT_OK,intent)

四、琐碎知识

1、重写onBackPRessed可以重写返回键功能,就好像onkeydown那样

2、重写onSavaInstanceState()可保存数据防止被杀掉,获取的话要在oncreate里边用那个bundle参数进行获取,获取与存储方式为键值对

3、getTask()可以获得当前栈id

4、getclass().getSimpleName()可获得当前活动名

5、为保证程序完全退出,可以使用杀死进程的代码android.os.Process.killProcess(android.os.Process.myPid());杀死当前进程

6、活动生命周期中onRestart之后是onStart而不是onResurme


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表