Context ------代表了访问该应用环境信息的接口
Android应用的Context代表了访问该应用环境信息的接口,而Android应用的包名则作为应用的唯一标识,Android应用的Context对象与该应用的包名有一一对应的关系.
显式intent和隐式intent
显式intent明确指明了要启动的哪个组件,隐式intent没有明确指明要启动哪个组件,应用会根据intent指定的规则去启动符合条件的组件,但具体是哪个组件不确定.
当程序通过Intent的Component属性(明确指定了启动哪个组件)启动特定的组件时------即显式启动intent,被启动的组件几乎不需要使用<intent-filter>配置;而隐式intent则需要对<intent-filter>来进行配置.
<activity>元素用于为应用程序配置activity,<activity>的<intent-filter>子元素则用于配置该Activity所能响应的Intent
<intent-filter>元素里通常可以包含如下的子元素
0~N个<action>子元素
0~N个<category>子元素
0~1个<data>子元素
<intent-filter>元素也可以是<service>,<receiver>两元素的子元素,用于表明它们可以响应的intent.(分别对应于broadcastreceiver和service)
<action><category>通过指定android:name属性来进行配置(该name属性其实就是一个字符串)
<activity>中<intent-filter>元素中指定了多个<action>子元素(相当于指定了多个字符串),表明了activity能响应Action属性值为其中任意一个字符串的intent(话说的有点绕其实就是能响应这么多action中的其中之一)
隐式启动时,一个intent对象最多只能包括一个action属性,intent.setaction(string str)来设置action属性值;但一个intent对象可以包括多个Category属性,程序可以调用Intent的addCategory(string str)方法来为Intent添加Category属性.
1 2如果不写我们添加的那条Category会出现如下错误:
3指定action category调用系统Activity
4 5自定义过滤器
6查找日志中的崩溃信息
日志当中查找一条崩溃信息,只需要将日志级别选中为error即可.
详解build.gradle文件
7在活动中使用Menu
在res目录中新建一个menu文件夹,在menu文件夹下新建一个main的菜单文件(Menu resource file)
8在要添加menu的活动中重写onCreateOptionMenu()方法.在这个方法中显示出menu来,我们可以调用getMenuInflater().inflate(R.menu.main,menu)方法来让menu显示出来
9添加菜单项响应我们用的是onOptionItemSelected(MenuItem item)方法(我们思考一下我们当时定义的菜单项的子项不都在<item>标签里面嘛!!所以都是有对应的!!)然后swith(item.getItemId())......
销毁活动
Activity类提供了一个finish()方法,我们在活动中调用这个方法便可以销毁当前活动了.
网友评论