Android运行原理
一、Android应用程序架构
当我们安装好Android到IDE后,我们可以看到如下程序架构,其中:
lsrc
java原代码存放目录
lgen
gen目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
lRes
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。
lAndroidManifest.xml
功能清单文件,这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity
ldefault.properties
项目环境信息,一般是不需要修改此文件
二、编写应用程序思路
在建立一个应用程序,我们先要去配置清单AndroidManifest.xml中指定应用程序的基本信息,例如图标,标题,应用程序名称(相关值的设置可以在values中配置string.xml)等,然后我们需要注册一个activity(一般一个应用程序对应一个activity),然后我们可以注册一下意图。详细说明如下:
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
以上代表意图过滤器,匹配了意图,那么就有activity处理这件事情,例如我们点击图标的时候,被包装成为一个意图intent(action和category两参数),然后android.intent.action.MAIN被包装成为一个action,android.intent.category.LAUNCHER被包装成为一个category,然后有和这两个参数匹配的意图过滤器,相应去找对应的activity
接下来我们需要修改res中的drawable的图标信息,layout(修改布局信息main.xml)以及values(修改字符串信息)。配置好后,进行相应的业务逻辑代码编写,最后发布到手机上即可。
三、运行原理
当我们点击一个应用的时候,系统会自动创建一个相应的activity类实例,然后执行Oncreate方法,接着会执行以下两行代码,解释如下:
super.onCreate(savedInstanceState);一定要执行。完成一些图形的绘制
setContentView(R.layout.main);指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成为一个意图,然后这个意图对应有相关的activity进行处理。
http://blog.sina.com.cn/s/blog_629252880100hmkq.html(转载)