在Android中要打开一个新的Activity, 不用说,肯定会用到Intent,Intent作为Android的四大组件之一,个人理解,Intent的作用就是用来在(其它三个不同组件)间进行通讯,通常打开一个Activity是采用

intent.setClass(ThisActivity.this,TargetActivity.class);也可以不使用上述方法,可以通过配置文件来打开下一个Activity首先把setClass方法改成  intent.setAction("com.accp.targetactivity");同时修改配置文件<activity android:name=".TargetActivity">     <intent-filter>         <action android:name="com.accp.targetactivity" />         <category android:name="android.intent.category.DEFAULT" />     </intent-filter></activity>

Intent的Action,Category属性都是一个普通的字符串,其中Action代表该Intent所要完成的一个抽象”动作“,而Category则用于为Action增加额外的附加类别信息。通常Action属性会与Category属性结合使用。

到底程序会启动哪个Activity?取决于Activity配置中的元素的配置。<activity.../> 的<Intent-filter.../>子元素则用于配置Activity所能响应的Intent。

说道这里我们知道,我们自己所开发的工程会有一个主Activity,这个主Activity相当于C#中的main函数,是整个应用程序的入库,那么这个主Activity是如何启动的呢?是Intent吗?带着这个疑问我在网上找到了一些资料,其中罗升阳的博客中专门有对这个的介绍《Android应用程序启动过程源代码分析》 这篇博文详细的介绍了应用程序是如何启动的,当然也有我的猜想,主Activity的确是由Intent启动的。

这篇博文也告诉我们,要深入了解一些东西,可以从源码入手,答案就在源码中。这算是一种解决问题的思路和方法。

更多相关文章

  1. Android Selector和Shape的使用方法
  2. android内核编译方法
  3. Android工具之Hierarchy Viewer--分析应用程序UI布局
  4. View类xml属性、方法
  5. TextView中ellipsize属性
  6. 【Android 开发】:UI控件之显示图片控件 ImageView 的使用方法
  7. Android与JavaScript方法相互调用!

随机推荐

  1. Android自定义Dialog去除黑色边框
  2. Android动态布局
  3. android 如何通过包名杀死指定的进程
  4. Android(安卓)NDK开发之旅29--C++--list
  5. MTK Android(安卓)如何自动挂断电话
  6. android 基础demo例子
  7. Android(安卓)自动化测试经验 - UiScroll
  8. android 字符串string
  9. 安装Android(安卓)SDK
  10. java android 删除文件和文件夹的函数