Android应用程序架构
src/ java原代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
res/ 资源(Resource)目录:详细注解见下方
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。
assets资源目录
Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
AndroidManifest.xml 项目清单文件:详细注解见下方。
这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限(<uses-permission>)。
default.properties 项目环境信息,一般是不需要修改此文件
【res/ 资源(Resource)目录注解】
res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
res/layout 专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面。
res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,如下:
· strings.xml 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="baidu">百度</string>
</resources>
· arrays.xml 定义数组。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="colors">
<item>red</item>
<item>yellow</item>
<item>green</item>
<item>blue</item>
</string-array>
</resources>
· colors.xml 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源。例子如下:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color name="contents_text">#ff000000</color>
</resources>
· dimens.xml 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<dimen name="key_height">50dip</dimen>
</resources>
· styles.xml 定义样式。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Text" parent="@style/Text">
<item name="android:textSize">18px</item>
<item name="android:textColor">#008</item>
</style>
</resources>
res/anim/ 编译成帧动画的XML文件。
res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
res/raw/ 该目录下的文件将直接被复制到设备上。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。 为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename。
【项目清单文件 AndroidManifest.xml注解】
AndroidManifest.xml相当于web应用中web.xml。
package="org.will.demo.activity" ,包名,区分每一个应用程序员,其它所有的类(Activity)或者相关组件都放置在这个包或者他的子包下面。
<application>用来定义一个Android应用。主要属性:
android:icon描述图标。
android:label指定应用程序标签
<activity>用来定义一个界面组件,必须一个类与定义。
android:name表示他的类名,比如.HelloActivity
android:label表示打这个界面的时候,屏幕顶部显示的标题。
intent:打算,意图。
<intent-filter>用来描述某一个Activity的相关属性,意图过滤器。
<action android:name=""/>用来描述这个Activity的action名称。这个名称,可以随便填。你也可以使用Android他所提供的一些固定名称,不同的名称代表不同特性。android.intent.action.MAIN这是固定属性。
<category android:name=""/>Activity分类特性,
<uses-permission>用来指定我们应用要出示的权限。
相关推荐
《Android_应用框架原理与程序开发》是一本深入解析Android应用程序框架及开发实践的专业书籍,由高焕堂撰写。本书全面覆盖了Android系统的各个核心组件和API,旨在帮助读者掌握Android应用开发的核心技术和最佳实践...
在Android应用程序开发中,架构设计是至关重要的一个环节,它决定了应用的可维护性、扩展性和性能。"android程序经典架构.zip_V9A_android_android 架构设计_deathoof_架构"这个压缩包中,可能包含了一份关于Android...
MVP架构是软件设计模式中的经典之作,它将应用程序分为三个主要组件:Model(模型)、View(视图)和Presenter(展示者)。Model负责与数据源交互,获取和存储数据;View负责用户界面的展示和用户交互;Presenter...
本书深入浅出地介绍了Android应用程序开发的关键概念和技术,旨在帮助读者掌握Android应用的框架原理以及实际开发技能。 在Android开发中,应用框架是核心组成部分,它为开发者提供了构建应用程序所需的各种服务和...
开发Android应用需要掌握Android SDK,理解Android系统架构,以及使用Android Studio等开发工具。 "android" 这个标签进一步强调了项目的平台属性,即该项目是为Android设备设计的。 【压缩包子文件的文件列表】:...
1. **Android系统架构**:了解Android系统的分层结构,包括Linux内核、HAL(硬件抽象层)、系统库、应用程序框架和应用程序层。理解各层之间的交互和数据通信方式。 2. **Linux内核知识**:深入学习Android基于的...
- **SDK(Software Development Kit)**:Android SDK是开发Android应用程序的核心工具集,包含了必要的库文件、文档和示例代码。 - **IDE(Integrated Development Environment)**:Google推荐使用Android Studio...
接着,讲义会引导学习者进入Android应用程序的生命周期管理,这是开发过程中的关键部分。开发者需要知道如何在不同事件(如启动、暂停、恢复和终止)下正确处理应用程序,以确保其稳定性和用户体验。 UI设计是...
内核空间驱动直接与硬件交互,而用户空间驱动则为应用程序提供接口。Android的驱动模型基于Linux内核,因此,Android驱动开发涉及到Linux驱动编程的基本知识。 二、Android驱动分类 1. HAL(Hardware Abstraction ...
《Android_应用框架原理与程序开发》是一本深入解析Android应用程序框架及开发实践的专业书籍,适合初学者到...通过阅读和实践书中的案例,你可以逐步深入理解Android开发,从而成为一名熟练的Android应用程序开发者。
Android 软件工程师是移动应用程序开发的核心人物,负责开发、测试和维护 Android 操作系统下的软件应用程序。为了成为一名合格的 Android 软件工程师,需要具备以下技术栈: 1. 数据存储方式:Android 提供了五种...
在Android开发领域,Android Studio是官方推荐的集成开发环境(IDE),它为开发者提供了丰富的功能,使得构建Android应用程序变得更加高效。本压缩包“Android Studio实例代码.zip”包含了多个Android app的实例源码...
其中,Java语言是Android应用程序开发的基础语言, Android SDK提供了丰富的API接口和工具,Android NDK提供了native代码开发的支持,SQLite数据库提供了数据存储和管理的功能。 在基于Android的移动终端应用程序...
- UI渲染流程:详细讲解Android应用程序UI的绘制过程,从布局解析到屏幕显示的完整链路。 - 动画与过渡:探讨如何利用Android的动画框架创建流畅的用户交互体验,包括属性动画和视图动画。 2. **多线程模型...
总的来说,《Android应用程序开发与典型案例》覆盖了Android开发的核心概念和技术,提供了充足的实践机会,对于希望提升Android开发能力的人来说,是一本不可或缺的参考书。通过深入阅读和实践书中的内容,开发者...