Android四层体系架构
1.系统核心层(Linux Kernel)
2.执行层c/c++函数库层(Libraries)及Android Runtime
3.应用程序框架层(Application FrameWork)
4.应用程序层(Applications)
Android项目架构分析:
src(开发人员源码放置目录)
gen(自动生成R.java,所有的资源文件都会在R.java文件中以final static内部类的形式被注册。所以可以通过R.id,R.layout等形式来访问资源。)
assets(资产目录。在这个目录中放置的资源文件,不会在R.java文件中被注册。一般程序中的音频或视频文件可以放置在这个目录下。)
bin(编译后的class等文件在此目录。自动生成APK)
libs(第三方Jar包)
res(资源文件。是Android编程中最重要的目录。所有的资源都定义在这个目录下。)
drawable【图片资源的文件名[a~z0~9_ ],不能数字开头】
layout(布局文件放置的目录)
menu(菜单文件放置的目录)
values(字符串、尺寸等文件放置的目录)
AndroidManifest.xml(Android清单文件——是Android开发中非常重要的文件。
该文件中定义了本App的版本号;
适用的手机操作系统最大及最小的兼容版本号;
整个项目中每写一个组件(Activity、Service、Broadcast),都需要在该清单文件中注册;
运行本程序的权限等等。(电话,SD卡,短信,联网等。。。)
res和assets目录的不同:
是否在R.java文件中被注册;
res所放的文件类型是规定好的;而assets目录下放置的文件类型不限制;
访问方法不同。res中文件使用R.内部静态类.id来访问;而assets中的文件通过IO流来访问。
assets与res/raw目录下的资源在编译打包时,不会被编译成二进制文件,所以一般在该目录下放置音频、视频等文件
四大组件
Activity,
Service服务,
Content Provider内容提供者,
BroadcastReceiver广播接收器