本节不打算继续讲Android界面开发,而是讲一下Intent, 之后可能会把QQ登陆界面、聊天界面做出来,不过聊天界面可能会等我复习完Sqlite数据库之后再考虑,不过还是先记录一下本节的内容,以备以后参考。
Intent 用于启动一个Activity 或 Service或者BroadCast。
1、 可以使用setClass或者在构造函数中设置原Activity或者目标Activity,这样就可以显示的指定跳转的对象。
2、 也可以通过setAction方法为Intent对象设置Action属性(一个字符串),然后启动intent, intent会根据在AndroidManifest.xml中的Activity的注册信息的intent-filter自动筛选符合条件的对象。
这里要注意:
新创建的一个Activity必须在AndroidManifest.xml中注册,注册时如果没有<intent-filter> </intent-filter> 那么只需配置一下名字即可,但如果有intent-filter,就必须包含
<action />和 <category />属性,其中普通Activity的category属性一般可以是 <category android:name="android.intent.category.DEFAULT"/>
/*****example*****/
AndroidManifest.xml
<intent-filter>
<action android:name="Action information" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
MainActivity.java
Intent intent=new Intent();
intent.setAction("Action Inforation");
startActivity(intent); //注意这里的Action Information的形式是任意的,但是必须不能与其他的Activity发生冲突
/****************/
3、可以通过addCategory设置category对启动的Activity做进一步的限定。
AndroidManifest.xml
<intent-filter>
<action android:name="Action information" />
<category android:name="TSIDJ" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
MainActivity.java
Intent intent=new Intent();
intent.setAction("Action Inforation");
intent.addCategory("TSIDJ");
startActivity(intent);
//注意由addCategory()这一属性就能看出,这是添加了一个附加的属性,要注意两点:1、categeory属性DEFAULT不能省略; 2、category不能单独实现Activity的跳转,而Action独自就可以实现Activity跳转,category只是作为一个附加条件,即如果action/data信息相同而category信息不同也无法启动Activity
今天就写这么多吧早点休息了。。