文档章节

Android自学之路-- 01:Android应用程序架构

 妞妞超人
发布于 2014/05/07 16:46
字数 920
阅读 18
收藏 0

1、src/ java源代码存放目录

2、gen/ 自动生成目录。

    gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。
3、res/ 资源目录

  •       res/drawable 专门存放png、jpg等图像资源。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
          drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
      (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
      (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
      (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
      系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
      在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。

  • 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="xxx">xxxx</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">#ff0000</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="itcastText" parent="@style/Text">
            <item name="android:textSize">18sp</item>
            <item name="android:textColor">#0066FF</item>
        </style>
    </resources>

  • res/anim/ 存放定义动画的XML文件。

  • res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。

res/raw/ 该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。 为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename。

4、assets资源目录
    Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在    R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp
5、AndroidManifest.xml 项目清单文件
     这个文件列出了应用程序所提供的功能,以后你开发好的各种组件(Activity、ContentProvider、BroadcastReceiver、Service)需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
6、default.properties 项目环境信息,一般是不需要修改此文件



  

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 6
码字总数 4076
作品 0
邯郸
程序员
Android 网络编程 目录

Android 网络编程 目录 Android 网络编程1 Http协议 to be continued... Android 架构师之路 目录 Android 架构师之路1 UML图之用例图 Android 架构师之路2 UML图之类图 Android 架构师之路3...

香沙小熊
06/21
0
0
Android 学习资料分享(2015 版)

我是如何自学Android,资料分享(2015 版) Tikitoo 2015.02.11 10:21 1713 字 3932 次阅读 自己学了两三个月的Android,最近花了一周左右的时间写了个App——Diigoer(已开源),又花了一两...

moz1q1
2015/02/12
0
4
android自学笔记《三》——系统架构分析

下面是Android的系统架构图 翻译后 从上图中可以看出,Android系统架构为4层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层,分别介绍如下: 1)应用程序...

郭子
2012/02/03
0
5
Android 第一课——Android架构

声明:本文是学习Android时从《Android 4编程入门经典》摘抄!仅仅是作为复习时查看的笔记! 1 Android是一个linux系统 Android 是一个基于 Linux 的开源的手机操作系统。它可以供任何打算使...

learn_more
2014/12/28
0
0
如何创建启动界面Splash Screen

如何创建启动界面Splash Screen 启动界面Splash Screen在应用程序是很常用的,往往在启动界面中显示产品Logo、公司Logo或者开发者信息,如果应用程序启动时间比较长,那么启动界面就是一个很...

天下杰论
2012/11/26
0
2

没有更多内容

加载失败,请刷新页面

加载更多

ZOOKEEPER安装记录

本文借鉴了链接的内容,但是有几部分需要注意: 下载zookeeper的位置是:连接; 执行这两部,得再root下,sudo不能用,还不知道为啥。

恰东
14分钟前
2
0
解决你的无线路由器被蹭网烦恼

教你几招提高无线路由器的安全性-再也不用担心蹭网了。随着无线网络的普及,无线网络的安全问题越来越严重。本文教你几招提高家用无线路由器的安全性,再也不用担心蹭网了。 随着无线网络的普...

linuxprobe16
18分钟前
1
0
分布式系统消息中间件—RabbitMQ的使用进阶篇

前言: 这篇文章主要总结一下RabbitMQ在日常项目开发中比较常用的几个特性。 一。 mandatory 参数 上一篇文章中我们知道,生产者将消息发送到RabbitMQ的交换器中通过RoutingKey与BindingKey的...

Java干货分享
19分钟前
1
0
RabbitMQ清除队列中的所有消息

最近在研究 RabbitMQ 消息队列,安装好进行测试的时候发觉在一个名为 MyRabbitMQ 的消息队列中已经插入了大量的数据。 最后不得不找方法清除。 linux或者windows 输入命令: rabbitmqctl li...

覃大光
23分钟前
1
0
java equals和==的区别

public class StaticDemo { public static void main(String[] args) { /** * 1、包装类的“==”运算在未遇到算术运算的情况下不会自动拆箱(堆中存储的地址是否相同,即栈中的内容是否相同)...

恋码之子
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部