android之activity(页面)

来源:互联网 发布:大众软件电子版下载 编辑:程序博客网 时间:2024/06/01 10:06

filter(过滤器)

一,moudle下的清单文件

1.在application节点下

<application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">
allowBackup表示是否允许备份,true表示允许。

icon表示app的图标。

lable表示app的名字

supportsRtl表示是否支持从左到右的布局,true表示支持

theme表示主题

实现页面跳转需要配置清单文件,当前moudle——application节点下——activity节点下——intent   filter意图过滤器。

2.application节点是moudle的清单文件(androidmanifest)中继续持有的一个节点,包括了activity,广播接受者,内容提供者,服务。application下的一些属性可以给所有的组件使用,例如icon,lable,supportRstl.

3.activity节点可以设置当前页面的icon,lable 等属性,如果在application已经设置了相同的属性,那么当前页面仍然使用activity节点的属性。

4.intent  filter意图过滤器在activity节点下,在一个activity下可以有多个意图过滤器,表示跳转到同一页面的不同功能,我们需要哪个功能,就在页面中配置哪个意图过滤器,在意图过滤器中有action属性,categroy属性,data属性。

action表示动作,配置action属性时,可以自己定义一个字符串,查看源码得知,安卓系统中的action也是自己定义的字符串。

category属性,表示执行动作的环境,配置的时候如果想要当前页面为程序的入口,应该配置为

category android:name="android.intent.category.LAUNCHER"

表示程序的主入口,launcher(启动)。如果不想配置为程序的主入口,这里可以写成

category android:name="android.intent.category.DEFAULT"

代表安卓的默认环境。

在页面配置中

intent.addCategory("android.intent.category.DEFAULT");

5.data,data属性包括data_scheme

scheme(约束),该属性在页面中通过意图匹配时所对应的方法是intent.setdata.

在清单文件中:

<data android:scheme="asd"/>

在页面中匹配时:Uri.Parse()是固定写法,asd后面的冒号是固定写法,111是一个今天类型的数,固定写法。

intent.setData(Uri.parse("asd:"+111));
type,type属性翻译过来叫做类型,前面的表示类型,例如tex,image这是一种写法,举例中用zx表示想代表什么类型就代表什么类型,代表任意类型。

在清单文件中

<data android:mimeType="zx/c"/>
在页面匹配中

intent.setType("zx/c");

需要注意的是当setdata和settype同时存在时,会互相清除数据,所以当两种属性都需要配置时,要用setdataandtype()方法。

6.一般来说实现页面的跳转,需要配置action和categroy,data属性有需要在配置,action和data属性都可以自定义,catetory属性一般使用

android.intent.category.LAUNCHER  作为程序的入口
android.intent.category.DEFAULT  不做为程序的入口,配置为安卓环境。
这种通过设置一组动作(action)或者数据(data)的方式开启页面的方式叫做隐示意图。

与之对应的还有显示意图,通过设置具体的包.类名的方式开启页面。

具体代码如下:参数一:当前的包名,参数二:当前的包名类名。

intent.setClassName("org.activity.com.myapplication", "org.activity.com.myapplication.Main2Activity");
显示意图更为简便的开启方法是:直接使用意图类的有参构造,参数以为上下文,参数二为跳转页面的class对象。

Intent intent = new Intent(this,Main2Activity.class);
7.什么时候用隐示,什么时候用显示

当需要跳转到系统页面的时候用隐示,因为显示需要知道包名或类名,无法得知。

当跳转到自己的页面时用显示,比较简单,不必配置文件。

8.页面跳转传递数据用到了

intent.putExtra()方法。
跳转到指定页面获取数据的逻辑

Intent intent1 = getIntent();该方法的返回值是开启该页面的意图。        intent1.putExtra();得到传递的数据
数据是以键值对的方式传递。获取的,八大基本类型的数据都可以用该方法。