zoukankan      html  css  js  c++  java
  • Android应用程序的目录结构

    1.src目录
        src目录中存放的是该项目的源代码,其内部结构会根据用户所声明的包自动组织,该目录的组织方式为src/aaa/bbb/HelloWord.java,其中aaa/bbb为包名软件开发人员在项目开发过程中,大部分时间是对该目录下的源代码文件进行编写。

    2.gen目录
        该目录下的文件全部都是ADT自动生成的,一般并不需要去修改,实际上该目录下只定义了一个R.java文件,该文件相当于项目的字典,为项目中用户界面、字符串、图片等资源都会在该类中创建其惟一的ID,当项目中使用这些资源时,会通过该ID得到资源的引用。

    3.Android2.x
         该目录中存放的是该项目支持的jar包,同时其中还包含项目打包时需要的META-INF目录。

    4.assets目录
       该目录用于存放项目相关的资源文件,例如文本文件等,在程序中可以使用 “getResources.getAssets().open("text.txt")”得到资源文件的输入流InputStream对象。

    5.res目录(不支持深度子目录)

    Invalid file name: must contain only [a-z0-9_.]  文件命名方式 只能是[a-z0-9_.] 中的,否则报错,R.java不会自动生成
       该 目录用于存放应用程序中经常使用的资源文件,其中包括图片、声音、布局文件以及参数描述文件等,其中包括多个目录,

    其中以drawable开头的三个文件 夹用于存储.png、.9.png、.jpg等图片资源(.9.png是Android特有的图片格式,可以根据情况进行拉伸,达到不变形的效 果),layout文件夹存放的是应用程序的布局文件,raw用于存放应用程序所用到的声音等资源,values存放的则是所有xml格式的资源描述文 件,例如字符串资源的描述文件strings.xml、样式的描述文件styles.xml、颜色描述文件colors.xml、dimens.xml尺 寸描述文件以及数组描述文件arrays.xml等。

    6.AndroidManifest.xml文件
       该文件为应用程序的系统控制文件,其中对应用程序的权限、应用程序中Activity、Service等进行声明,同时还对程序的版本进行说明。

    7.default.properties文件
       该文件为项目的配置文件,从不需要人为改动,系统会根据情况自动对其进行管理,其中主要描述了项目的版本等基本信息。

     

    res/raw和assets文件夹来存放不需要系统编译 成二进制的文件,例如字体文件等,这两个文件夹有很多相同的地方,例如都可以把文件夹下的东西原封不动的拷贝到应用程序目录下,但是两个文件夹也有一些不 同的地方,首先就是访问方式不同,res/raw文件夹不能有子文件夹,文件夹下的资源可以使用getResources().openRawResource(R.raw.id)的方式获取到,而assets文件夹可以自己创建文件夹,并且文件夹下的东西不会被R.java文件索引到,必须使用AssetsManager类进行访问

    如果你需要更高的自由度,尽量不受android平台的约束,那么/assets这个目录就是你的首选了,因为支持深度子目录

    另外,一些低版本的android系统对res/raw和assets文件夹资源大小有限制(<1M,其实res/raw和assets文件 夹下的文件在android系统底层处理机制是一样的),android2.2好像放宽(或者取消)了这个限制(至少可以存放>10M,具体没有测 试。)

    表1、 Android支持的资源
    目录 资源类型 描述
    Res\values
    XML
    保存字符串、颜色、尺寸、类型、主题等资源,可以是任意文件名。对于字符串、颜色、尺寸等信息采用
    Key-value形式表示,对于类型、主题等资源,采用其它形式表示
    Res\layout
    XML
    保存布局信息。一个资源文件表示一个View或ViewGroup的布局
    Res\menu
    XML
    保存菜单资源。一个资源文件表示一个菜单(包括子菜单)
    Res\anim
    XML
    保存与动画相关的信息。可以定义帧(frame)动画和补间(tween)动画
    Res\xml
    XML
    在该目录的文件可以是任意类型的XML文件,这些XML文件可以在运行时被读取。
    Res\raw
    任意类型
    在该目录中的文件虽然也会被封装在apk文件中,但不会被编译。在该目录中可以放置任意类型的文件,例如,各种类型的文档、音频、视频文件等
    Res\drawable
    图像
    该目录中的文件可以是多种格式的图像文件,例如,bmp、png、gif、jpg等。在该目录中的图像不需要分辨率非常高,aapt工具会优化这个目录中的图像文件。如果想按字流读取该目录下的图像文件,需要将图像文件放在res\raw目录中。
    assets
    任意类型
    该目录中的资源与res\raw中的资源一样,也不会被编译。但不同的是该目录中的资源文件都不会生出资源ID
     

     文件格式:

    音频使用oog,http://baike.baidu.com/view/99249.htm

    Ogg全称应该是OGGVobis(oggVorbis)是一种新的音频压缩格式,类似于MP3等的音乐格式。Ogg是完全免费、开放和没有专利限制的。
     

  • 相关阅读:
    AWS re:Invent 2019 召开 | 云原生生态周报 Vol. 30
    更强、更稳、更高效:解读 etcd 技术升级的三驾马车
    Service Mesh 是新瓶装旧酒吗?
    从零开始入门 K8s | 深入剖析 Linux 容器
    阿里云上万个 Kubernetes 集群大规模管理实践
    CNCF 官方大使张磊:什么是云原生?
    函数计算自动化运维实战 3 -- 事件触发自动创建快照
    函数计算自动化运维实战 2 -- 事件触发 eip 自动转移
    函数计算自动化运维实战1 -- 定时任务
    273. Integer to English Words
  • 原文地址:https://www.cnblogs.com/hakuci/p/2311644.html
Copyright © 2011-2022 走看看