`

android结构图及运行流程分析

阅读更多

 idea里面的文件目录结构图分析:




1、asserts文件用于存放项目中用到的多媒体文件,但是与res的区别是res文件下的文件会在项目运行时被载入内存中,而asserts文件下的文件是在被用到的时候才会被载入内存中(这个很像hibernate中那个load跟get方法的区别有木有)。所以可以用于存放诸如视频文件、声音文件的大文件。

2、gen文件夹,该文件时自动生成的,其下存在一个R.java文件,这个文件可以理解为一个全局的资源文件的索引,我们来看一下这个文件的内容:

package com.example;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040000;
        public static final int hello=0x7f040001;
    }
}

 字段都被赋予了一个十六进制数,而这个文件中的所定义的常量的名字与res文件下的资源文件的名字是一致的,这个是不是很容易就会联想到数据库中的主键ID呢。当在Activity中需要调用资源文件中定义的值的时候就需要这个ID来获取了,例如:getResources().getColor(resourceId)可以调用color.xml中定义的资源

还有一个BuildConfig文件,这个文件可以理解成自定义常量集,有利于程序员们对程序的维护

3、libs文件夹,这个很明了,跟java项目中一样,是一个用于存放第三方jar包的文件

4、res文件夹,存放应用程序中的各类多媒体文件,按资源文件类型主要分为三个子目录drawable-*dpi、layout、values。

drawable文件夹用于存放图片文件,如png、jpg,上图中将drawable分成了四个子文件,主要是存放不同分辨率的图标,其中xdpi是超高分辨率,hdpi是高分辨率,mdpi是中等分辨率,ldpi是低分辨率;

layout文件夹用于存放页面布局的xml文件,如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello"
            />
</LinearLayout>

 这表明是一个线性布局,布局里放了一个文本组件。文本组件中的@符号表示的是引用;

values文件夹是定义格式参数的xml文件,其中包括字符串描述文件strings.xml、颜色描述文件color.xml、数组描述文件array.xml、样式描述文件style.xml等。

5、src文件夹就是用于存放各种java源文件的

6、AndroidManifest.xml是 应用程序描述文件,类似于java项目中的web.xml,如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="18"/>
    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
        <activity android:name="MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

7、ant.properties文件用于在使用ant构建项目的时候覆盖某些被定义默认的值,例如

  'source.dir'本地的java源文件夹目录
  'out.dir' 本地编译项目输出的文件夹目录

8、loacal.properties文件是Android Tools自动生成的,主要包含一些本地特殊配置信息,如

sdk.dir=D:\\Program Files (x86)\\android\\sdk\\sdk

9、build.xml文件项目中的属性文件的配置文件

10、project.properties文件也是 Android Tools自动生成的

 

综合整理分析如图:

 

 

 

  • 大小: 51.1 KB
  • 大小: 113.6 KB
分享到:
评论

相关推荐

    Android音乐播放器论文

    2.2 系统结构图和流程图 4 2.3系统界面需求 4 2.4系统性能需求 5 2.5运行环境需求 5 3 Android项目介绍 6 3.1什么是Android 6 3.1.1Android的介绍 6 3.1.2 Android Features 特性: 6 3.1.3 Android 基本框架...

    android系统原理及开发要点详解

     第11章“Android的连接部分”,主要包括WiFi、蓝牙及定位系统等,这些Android的连接部分也具有从驱动层到Java应用层的结构。  第12章“Android的传感器系统”,传感器系统涉及Android的各个层次,具有完整的结构...

    深入理解 Android Telephony原理剖析与最佳实践

    第四部分(10~12章),对Android RIL的工作机制进行了深入的分析,包括对框架层中的RILJ运行机制的分析、对RILC系统结构及LibRIL运行机制的分析,以及对Reference-RIL框架的原理的分析;第五部分(13章),分析了...

    Android手机平台音乐播放器毕业论文

    2.2 系统结构图和流程图 - 10 - 2.3 系统界面需求 - 11 - 2.4 系统性能需求 - 12 - 2.5 运行环境需求 - 12 - 第三章 Android数据库设计 - 13 - 3.1 数据库及字段属性设计 - 13 - 3.1.1 字段设计(表、图) - 13 - ...

    android开发揭秘PDF

    2.3.2 运行HelloAndroid及模拟器的使用 2.3.3 调试HelloAndroid 2.4 小结 第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命...

    Android音乐播放器毕业设计论文

    2.2 系统结构图和流程图 - 10 - 2.3 系统界面需求 - 11 - 2.4 系统性能需求 - 12 - 2.5 运行环境需求 - 12 - 第三章 Android数据库设计 - 13 - 3.1 数据库及字段属性设计 - 13 - 3.1.1 字段设计(表、图) - 13 - ...

    android连连看游戏毕业论文

    4.1系统运行界面图 20 4.2开发环境的搭建 26 4.3单项功能的实现 27 4.3.1片头动画实现: 27 4.3.2字体选中放大效果实现 28 4.3.3字体跑马灯效果实现 28 4.3.4游戏初始化 28 4.3.5判断消除图片 29 4.3.6在两图片之间...

    Android5.1_SystemUI详解

    Android5.1 SystemUI整体功能结构图, 代码结构,SystemUI类图; 执行流程: SystemUI启动; NavigationBar导航栏; RecentsActivity最近的APP; StatusBar加图标AddIcons;Icons排列规则; QuickSettingPanel快捷...

    android开发入门与实战(下)

    3.2.2 android.jar及内部结构 3.2.3 SDK文档及阅读技巧 3.2.4 先来热热身——AndroidSDK例子解析 3.2.5 SDK提供的工具介绍 3.3 Android典型包分析 3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延...

    Android应用开发揭秘pdf高清版

    2.3.2 运行HelloAndroid及模拟器的使用 2.3.3 调试HelloAndroid 2.4 小结 第二部分 基础篇 第3章 Android程序设计基础 3.1 Android程序框架 3.1.1 Android项目目录结构 3.1.2 Android应用解析 3.2 Android的生命...

    Android的设计与实现(卷1)

    为了降低读者的阅读成本,《android的设计与实现:卷i》使用了大量简单的uml类图和序列图来展示类的层次结构和方法的调用流程,使读者能迅速读完《android的设计与实现:卷i》并领会其精髓! “android的设计与实现...

    android系统原理及开发要点详解_韩超_梁泉 4

     第11章“Android的连接部分”,主要包括WiFi、蓝牙及定位系统等,这些Android的连接部分也具有从驱动层到Java应用层的结构。  第12章“Android的传感器系统”,传感器系统涉及Android的各个层次,具有完整的结构...

    《Google Android开发入门与实战》.pdf

    从技术实现上,讲解了5个android平台下的完整综合实例及源代码分析,分别是rss阅读器、基于google map的个人gps、豆瓣网(web 2.0)客户端、在线音乐播放器、手机信息查看助手。本书注重对实际动手能力的指导,在遵循...

    基于Android的物流配送管理系统(有图片和参考代码,不懂可以联系问我)

    该物流管理系统采用jsp+servlet、android和Ajax异步交互等技术来开发。数据库采用开源的mysql作为数据存储。结构上分为表现层、...该系统严格按照软件开发流程:需求分析、页面设计、概要设计、详细设计、测试运行等

    android开发入门与实战(上)

    3.2.2 android.jar及内部结构 3.2.3 SDK文档及阅读技巧 3.2.4 先来热热身——AndroidSDK例子解析 3.2.5 SDK提供的工具介绍 3.3 Android典型包分析 3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延...

    Android高级编程--源代码

    1.7 运行Android的环境 8 1.8 从事Android开发的原因 9 1.8.1 推动Android普及的因素 9 1.8.2 Android的独到之处 10 1.8.3 改变移动开发格局 10 1.9 开发框架简介 11 1.9.1 开发包中的资源 11 1.9.2 理解...

    《Android应用开发揭秘》附带光盘代码.

     2.3.2 运行HelloAndroid及模拟器的使用  2.3.3 调试HelloAndroid  2.4 小结  第二部分 基础篇  第3章 Android程序设计基础  3.1 Android程序框架  3.1.1 Android项目目录结构  3.1.2 Android应用解析  3.2...

    Android课程设计---基于Android系统的音乐播放器设计与实现.doc

    Android平台五大优势特色: 1、开放性 2、挣脱运营商的束缚 3、丰富的硬件选择 4、不受任何限制的开发商 5、无缝结合的Google应用 图 Android 软件体系结构图 Android作为一个移动设备的平台,其软件层次结构包括...

    android系统原理及开发要点详解_韩超_梁泉 1

     第11章“Android的连接部分”,主要包括WiFi、蓝牙及定位系统等,这些Android的连接部分也具有从驱动层到Java应用层的结构。  第12章“Android的传感器系统”,传感器系统涉及Android的各个层次,具有完整的结构...

Global site tag (gtag.js) - Google Analytics