"Android应用程序架构-Android 传智播客 ppt"
Android应用程序的架构是一个关键的组成部分,它决定了应用的组织方式、可维护性和扩展性。本资料主要介绍了Android项目的各个重要目录和文件,以及它们在应用程序开发中的作用。
1. **src/**: 这个目录存放Java源代码,是开发人员编写应用逻辑的地方。每个Java类文件在这里都有相应的包结构。
2. **gen/**: 自动生成目录,包含由Android开发工具自动生成的R.java文件。R.java文件记录了所有资源的ID,便于在代码中引用。开发人员不应手动修改这个文件。
3. **res/**: 资源目录,用于存储应用的各种资源,如XML布局文件、图像、字符串等。资源文件会被编译并链接到R.java文件。
- **res/drawable**: 专门存放图像资源,如PNG、JPG等,通过`getResources().getDrawable(resourceId)`来获取。
- **res/layout**: 用于存放XML布局文件,定义用户界面。
- **res/values**: 存储不同类型的值,如字符串、数组、颜色、尺寸和样式。
- **strings.xml**: 定义字符串常量。
- **arrays.xml**: 定义数组。
- **colors.xml**: 定义颜色。
- **dimens.xml**: 定义尺寸。
- **styles.xml**: 定义样式。
- **res/anim**: 动画XML文件的存放位置。
- **res/xml**: 存放其他XML资源,可以通过`getResources().getXml()`访问。
- **res/raw**: 存放原始文件,如音频文件,通过`getResources().openRawResource(R.raw.somefilename)`访问。
4. **libs/**: 支持库目录,放置第三方的jar包,这些库会在编译时自动添加到项目的类路径中。
5. **assets/**: 不会被R.java自动生成ID的资源目录,用于存放需要直接按路径访问的文件,如大文本文件、音视频等。
6. **AndroidManifest.xml**: 应用程序清单文件,列出应用的所有组件、权限和依赖的服务。所有组件(Activity、Service、BroadcastReceiver、ContentProvider)都需要在此声明。
7. **project.properties**: 项目环境信息文件,通常不需要手动修改,记录了项目构建的相关信息。
此外,资料还提到了3G技术的发展和Android作为移动开发平台的优势,包括市场占有率、开源特性、使用Java语言以及丰富的设备类型,这些都是选择Android开发的重要理由。Android的历史发展始于2005年Google收购Android Inc.,并逐步推出了Dalvik虚拟机,奠定了现代Android系统的基础。