Android项目结构 以及体系结构

学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了

Android项目一般由以下几个部分构成

以上是一个简单的Android项目结构目录图

1. src  主要是 源文件目录 放置业务逻辑代码以及相应的UI代码

2. gen 下面有个R.java文件夹 该文件是建立Android项目自动生成的  该文件是只读文件 不可以更改 里面有很多静态 类名字与res的中资源文件一一对应

一般有attr ,drawable id raw layout string xml 具体看你的项目文件

3. assets 可以包含系统使用到的文件 比如一些图片 mp3 视频类文件

4. res 资源文件 主要有以下文件

drawable : 我们一般放置一些样式xml也放些图片

drawable-hdpi 主要放置一些高清晰的 像素的图片

drawable - l 放置一些低像素的图片

drawable - m 放置一般像素的图片

layout 主要放置一些布局文件

menu 是放置一些 xml菜单式文件

==============================

arrays.xml 一些数组元素

colors.xml 一些颜色的值

strings.xml一些字符串

styles.xml 样式文件

dimens.xml 一些像素尺寸的文件

=======================

values-en-rUS 英文资源文件包

values-zh-rCN 中文资源文件包

系统会感觉系统设置的语言 应用程序选择相应的资源文件 实现国际化

AndroidManifest.xml项目的总配置文件 记录了各种组件 ,以及应用程序相应的功能,可以在里面配置相应的服务 权限 等等(后期详细介绍)

defalut.properties 主要记录android的环境信息 比如Android的版本信息

简单讲下Android体系结构

这是Android官方的图纸

1. Applicaiton 是android核心应用程序包 连同Android一起发布的 如 发短信 打电话 Email 日历 等等 后期给大家一一介绍 android 源码中的应用程序

2. framework 应用程序框架,开发人员可以访问API框架进行应用程序开发 如

丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。

  *内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据

  * 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。

  * 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。

  * 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

3.系统运行库

  1)程序库

  Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:

  * 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ),它是专门为基于embeddedlinux的设备定制的。

  * 媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR, JPG, PNG 。

  * Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。

  * LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

  * SGL - 底层的2D图形引擎

  * 3D libraries - 基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

  * FreeType -位图(bitmap)和矢量(vector)字体显示。

  * SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

  2)Android 运行库

  Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

  每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。

  Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

  4.Linux 内核

  Android 的核心系统服务依赖于 Linux 2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。

时间: 2024-08-04 08:14:48

Android项目结构 以及体系结构的相关文章

Android之什么是Activity和常用的ADB命令以及Android项目结构的认识

总结一下之前学习Android的一些内容 一:  Android常用的ADB命令(adb android调试桥)      1.adb devices   查看模拟器设备并重新连接. 2.adb kill-server   关掉所有模拟器设备. 3.adb install-r  url(安装路径),安装,-r表示替换. 4. adb uninstall url(卸载路径) ,卸载. 5.adb push<本地文件><远程路径>   上传文件. 6.adb pull <远程路径

&#167;1.2 Android项目结构及“Hello World”应用解析

书接上文,我们创建一个新的Android项目,进入Android Studio开发页面,如下图: 左侧为项目工具窗口,通过项目工具窗口可以管理整个项目的相关文件右侧为代码编辑区,我们可以在这里进行Android程序的开发工作底部为调试区,在调试区可以进行程序的断点调试.日志打印,可以监视整个程序的内存消耗,从而有针对性的进行性能优化. 首先,通过查看左侧的项目工具窗口区,为大家介绍一个Android项目的基本结构: 如上图所示,在这里我们只需要关注图中app目录下的内容: build目录:构建目

重新规划Android项目结构

我们需要重新规划Android项目的目录结构,分两步走: 第一步:建立AndroidLib类库,将与业务无关的逻辑转移到AndroidLib. AndroidLib中应该包括哪些业务无关的逻辑呢?应至少包括五大部分. 这几部分的说明如下: activity包中存放的是与业务无关的Activity基类.Activity基类要分两层,如图1-3所示. AndroidLib下的基类BaseActivity封装的是业务无关的公用逻辑,主项目中的AppBaseActivity基类封装的是业务相关的公用逻辑

Android项目结构(翻译)

原文链接 项目概述 一个Android Studio的项目包含了一个应用的所有资源,包括源码.依赖资源.测试代码.build的配置等.创建一个新的项目,Android Studio创建了所有必要的文件并显示在左边的"Project"窗口里(点击View>Tool Windows>Project).下面介绍了项目的核心组件. Modules 一个module是一个源文件和build的配置的集合,可以让你将项目分割成不同的功能模块.一个项目可以有一个或多个module,一个mo

Android项目结构

近期说要上手Android项目所以看了一些资料.新建项目以后.看见项目结构真的好多东西啊,瞬间有点儿蒙圈,带大家来了解一下. 总体结构如图: 接下来一步一步的介绍: (1)src:java源码存放文件夹,java代码文件就存放到这个里面.如图: (2)gen:自己主动生成文件夹,存放全部由Android开发工具自己主动生成文件.文件夹中最重要的就是R.java文件.这个文件由Android开发工具自己主动产生的.Android开发工具会自己主动依据你放入res文件夹的资源,同步更新改动R.jav

Android项目结构介绍

src/存放Java源代码gen/中存放系统自动生成的配置文件Android 4.4.2下包含android.jar文件,这是一个Java归档文件,其中包含构建应用程序所需的所有的Android SDK库(如Views.Controls)和APIsassets/存放资源文件,不会自动升恒id且不会自动占用空间bin/存放应用被编译后生成的可执行文件(.apk),以及应用被打包到apk中的资源文件drawable/存放不同密度的图片资源res/存放应用用到的所有资源,如图片布局等 layout/存

android第一行代码-1.项目结构

0.项目结构 一个简单的android项目结构大致如下 入口就是MainActivity这个类,如果对于一个陌生的项目,最好的办法是看AndroidMainifest.xml,如下 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="act

Android系列教程之Android项目的目录结构

一: Android 项目的目录结构 Android 项目结构概览.其实 Android 项目的目录结构和 Java 的差不多,没有太大变化,如下图:  可以看到 src 文件夹里的是源文件, Android2.2 是引用的类库,这些和 java 的都一样,那么下面的这个 gen 是什么呢?这个里面的类就是 ADT 自动生成的啦,一般只有一个 R.java 文件,是不能修改的,那么他是怎么生成的呢,看到下面的 res 文件夹了吗? R.java 就是根据资源文件夹 res 生成的 ,R.java

Android项目文件结构

一.Project项目结构 app/build/ app模块build编译输出的目录 app/build.gradle app模块的gradle编译文件 app/app.iml app模块的配置文件 app/proguard-rules.pro app模块proguard文件 build.gradle 项目的gradle编译文件 settings.gradle 定义项目包含哪些模块 gradlew 编译脚本,可以在命令行执行打包 local.properties 配置SDK/NDK MyAppl