精华内容
下载资源
问答
  • android应用程序结构
    万次阅读
    2016-11-13 15:14:48

    src 目录

    是源代码目录, 所有允许用户修改的 java 文件和用户自己添加的 java 文件都保存在这个目录中

    gen 目录

    是 1.5 版本新增的目录,用来保存 ADT 自动生成的 java 文件,例如 R.java 或 AIDL 文件。注意:

    R.java 文件(非常重要)

    a) R.java 文件是 ADT 自动生成的文件,包含对 drawable、layout 和 values 目录内的资源的引用指针,Android 程序能够直接通过 R 类引用目录中的资源
    b) R.java 文件不能手工修改,如果向资源目录中增加或删除了资源文件,则需要在工程名称上右击,选择 Refresh 来更新 R.java 文件中的代码
    c) R 类包含的几个内部类,分别与资源类型相对应,资源 ID 便保存在这些内部类中,例如子类drawable 表示图像资源,内部的静态变量 icon 表示资源名称,其资源 ID 为 0x7f020000。一般情况下,资源名称与资源文件名相同

    android.jar 文件

    是 Android 程序所能引用的函数库文件,Android 通过平台所支持 API 都包含在这个文件中

    assets 目录

    用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。此目录中的资源不能被 R.java 文件索引。,所以只能以资截流的形式读取。一般情况下为空

    layout 目录

    用来存放我们为每个界面写的布局文件

    更多相关内容
  • Android应用程序结构及运行原理

    千次阅读 2022-03-31 08:29:26
    Android应用程序结构及运行原理Android工程的文件系统结构源程序文件夹src资源文件夹res布局文件夹res/layout值文件夹res/values图片文件夹res/drawable与音乐文件夹res/raw使用扩展.jar包文件夹libs工程配置清单...

    Android工程的文件系统结构

    在idea中一个Android的目录结构如下
    在这里插入图片描述

    源程序文件夹src

    分类存放Java源程序文件

    资源文件夹res

    存放xml文件、位图文件、raw(声音)文件

    布局文件夹res/layout

    每个布局对应一个Activity

    值文件夹res/values

    其中的strings.xml是最重要的文件,通常存放这布局文件中控件对象的属性值

    图片文件夹res/drawable与音乐文件夹res/raw

    使用扩展.jar包文件夹libs

    工程配置清单文件AndroidManifest.xml

    包含了Android系统运行前必须掌握的相关信息,如应用程序名称、图标、应用程序的包名、组件注册信息、授权和运行设备的最低Android版本等

    Android应用程序的基本组成

    Android应用程序是由组件组成的,组件可以调用相互独立的功能模块。组件可以划分为四类核心组件,即Activity、Service、BroadcastReceiver和ContentProvider。

    注意:

    1. 四大组件中除ContentProvider组件外,都是通过Intent对象激活的
    2. 四大组件均需要在工程的清单文件中使用标签注册

    Activity组件与视图View

    Android组件在清单文件中使用标签<activity>注册

    Service组件

    Service是Android提供的无用户界面、长时间在后台运行的组件。
    Service组件在清单文件中使用标签<service>注册

    BroadcastReceiver组件

    BroadcastReceiver,即广播接收者,用来接收来自系统或其他应用程序的广播,并做出回应。
    BroadcastReceiver组件在清单文件中使用标签<receiver>注册

    ContentProvider组件

    为了跨进程共享数据,Android提供ContentProvider接口,可以在无须了解数据源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作。
    ContentProvider组件在清单文件中使用标签<provider>注册

    意图对象Intent

    在这里插入图片描述

    Android应用程序的运行入口

    定义一个MainActivity.java为应用的主Activity的代码如下:

    <activity
    	android:name="包名.MainActivity"
    	android:label="@string/app_name">
    	<intent-filter>
    		<action android:name="android.intent.action.MAIN"/>
    		<category android:name="android.intent.category.LAUNCHER"/>
    	</intent-filter>
    </activity>
    
    展开全文
  • Confidential Confidential Confidential 4 Android应用程序介绍 程浩 学习目标 掌握Android的体系结构 掌握Android应用文件的组成结构 掌握Android应用的逻辑组成 Android体系结构介绍 Android作为一个移动设备的...
  • Android应用程序结构分析

    千次阅读 2017-03-07 22:48:26
    新建HelloWorld项目: ...在弹出的“New Android Application”窗体中输入相应的应用名称、项目名称、包名称,并选择相应的SDK版本和应用主题: 选择项目保存位置,一路“next”完成项目创建: 创建后的项目:
    新建HelloWorld项目:

    1、打开Eclipse,点击“File”->"New"->"Project"-Android Application Project"":

     

    在弹出的“New Android Application”窗体中输入相应的应用名称、项目名称、包名称,并选择相应的SDK版本和应用主题:

    选择项目保存位置,一路“next”完成项目创建:

    创建后的项目:

    在创建后的项目名称上右键单击选择“Run As”->“Android Application”运行刚创建的项目:

    运行结果:

    二、应用程序目录结构简析:

    1、应用程序目录结构:

    2、各部分说明:

    Activity文件:双击目录中的“MainActivity.java”,可以看到MainActivity的代码:

    复制代码
     1 package android.basic.helloandroid;
     2 
     3 import android.os.Bundle;
     4 import android.app.Activity;
     5 import android.view.Menu;
     6 
     7 public class MainActivity extends Activity {
     8 
     9     @Override
    10     protected void onCreate(Bundle savedInstanceState) {
    11         super.onCreate(savedInstanceState);
    12         setContentView(R.layout.activity_main);
    13     }
    14 
    15     @Override
    16     public boolean onCreateOptionsMenu(Menu menu) {
    17         // Inflate the menu; this adds items to the action bar if it is present.
    18         getMenuInflater().inflate(R.menu.activity_main, menu);
    19         return true;
    20     }
    21 
    22 }
    复制代码

    从代码中可以看到MainActivity继承于Activity类,Activity是Android中的视图部分,负责处理界面显示。在MainActivity里面重写了父类的onCreate方法和onCreateOptionsMenu方法,在重写的onCreate方法里方法setContentView(R.layout.activity_main)给MainActivity设置了要显示的视图R.layout.activity_main,视图由R类寻找并加载(感觉很像mvc,Activity相当于Controller而要显示的layout就相当于具体的页面)。

    R文件:在MainActivity的setContentView(R.layout.activity_main)方法中我们用R.layout.activity_main指定了要显示的视图,在应用程序目录结构的截图中可以看到R文件位于gen目录下面,双击显示代码:

    复制代码
     1 /* AUTO-GENERATED FILE.  DO NOT MODIFY.
     2  *
     3  * This class was automatically generated by the
     4  * aapt tool from the resource data it found.  It
     5  * should not be modified by hand.
     6  */
     7 
     8 package android.basic.helloandroid;
     9 
    10 public final class R {
    11     public static final class attr {
    12     }
    13     public static final class drawable {
    14         public static final int ic_launcher=0x7f020000;
    15     }
    16     public static final class id {
    17         public static final int menu_settings=0x7f070000;
    18     }
    19     public static final class layout {
    20         public static final int activity_main=0x7f030000;
    21     }
    22     public static final class menu {
    23         public static final int activity_main=0x7f060000;
    24     }
    25     public static final class string {
    26         public static final int app_name=0x7f040000;
    27         public static final int hello_world=0x7f040001;
    28         public static final int menu_settings=0x7f040002;
    29     }
    30     public static final class style {
    31         /** 
    32         Base application theme, dependent on API level. This theme is replaced
    33         by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    34     
    35 
    36             Theme customizations available in newer API levels can go in
    37             res/values-vXX/styles.xml, while customizations related to
    38             backward-compatibility can go here.
    39         
    40 
    41         Base application theme for API 11+. This theme completely replaces
    42         AppBaseTheme from res/values/styles.xml on API 11+ devices.
    43     
    44  API 11 theme customizations can go here. 
    45 
    46         Base application theme for API 14+. This theme completely replaces
    47         AppBaseTheme from BOTH res/values/styles.xml and
    48         res/values-v11/styles.xml on API 14+ devices.
    49     
    50  API 14 theme customizations can go here. 
    51          */
    52         public static final int AppBaseTheme=0x7f050000;
    53         /**  Application theme. 
    54  All customizations that are NOT specific to a particular API-level can go here. 
    55          */
    56         public static final int AppTheme=0x7f050001;
    57     }
    58 }
    复制代码

    从代码中可以看到R文件里面有很多类,每个类里面又有很多变量,这些类和变量在我们添加、删除控件或资源文件(图片、声音等)由开发工具自动帮我们维护的,由它来调用应用程序的各种资源,在代码第一句的注释中也说明了“AUTO-GENERATED FILE.  DO NOT MODIFY”。

    layout文件:res/layout/activity_main.xml – 布局文件,双击activity_main.xml会进入可视化编辑界面,在这里你可以根据需要选择相应的控件:

     

    也可以点击红框部分进入文本编辑界面直接写对应控件的代码(从截图代码文件可以看到该layout由一个相对布局和一个文本框组成):

    AndroidManifest文件:在应用程序目录截图中倒数第四个可以看到一个AndroidManifest.xml文件,它是应用程序的配置文件包含在每个安卓应用程序中,它向系统描述了本程序所包括的组件、所实现的功能、所能处理的数据、要请求的资源等,可以近似看做网站中的Web.conig文件,同样它也可以由可视化编辑器或文本编辑器编辑:

    Android.jar文件:Android.jar内部常用包作用概述,如下图所示:

     

     

    可以看到Android.jar里面包含了很多包,常见包的作用如下:

    android.app-----------提供高层的程序模型、提供基本的运行环境
    android.content-------包含各种的对设备上的数据进行访问和发布的类
    android.database------通过内容提供者浏览和操作数据库
    android.graphics-------底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
    android.location-------定位和相关服务的类
    android.media---------提供一些类管理多种音频、视频的媒体接口
    android.net------------提供帮助网络访问的类,超过通常的java.net.* 接口
    android.os-------------提供了系统服务、消息传输、IPC 机制
    android.opengl--------提供OpenGL 的工具
    android.provider-------提供类访问Android 的内容提供者
    android.telephony-----提供与拨打电话相关的API 交互
    android.view-----------提供基础的用户界面接口框架
    android.util------------涉及工具性的方法,例如时间日期的操作
    android.webkit---------默认浏览器操作接口
    android.widget---------包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用

    展开全文
  • Android应用程序结构

    千次阅读 2015-08-18 22:08:01
    一、Android应用程序的架构 Android软件层次结构自上而下可以分为: l 应用程序(Application) l 应用程序框架(Appliciation Framework) l 各种库(Libraries)和Android运行环境(RunTime) l 操作系统层...

    一、Android应用程序的架构

    Android软件层次结构自上而下可以分为:

            应用程序(Application)

            应用程序框架(Appliciation Framework)

            各种库(Libraries)和Android运行环境(RunTime)

            操作系统层(OS)

    二、应用程序

           Android的应用程序通常涉及用户界面和用户交互,这类程序是用户实实在在能感觉到的。Android的应用程序目前以JAVA语言进行编写。应用程序的开发者还可以使用应用程序框架层的API实现自己的程序,这也是Android开源的具体体现。

    三、应用程序框架

            UI组件:包括列表,文本框,按钮。

            Content  Providers:通俗的理解Content  Provider就是提供了一种机制,通过这种机制,应用程序可以实现数据的互访和共享。

            Resource  Manager :负责管理非代码,如本地图片资源,涉及布局的XML文件及国际化的字符串等。

            Notification Manager :它能让程序将自己的警示信息显示在状态栏上。例如短信,来电提醒等。

            Activity Manager :它管理着应用程序的生命周期,并且提供了应用页面退出的机制。在Android应用中,每一个应用一般是由多个页面组成的,而每个页面的单位就是Activity,再通俗地讲,可以认为Android的应用是由多个Activity的交互构成的。

    四、库和运行环境

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

            系统C库:专门为基于嵌入式linux的设备而定制的;

            媒体库:支持多种常用的音频,视频格式回放和录制,同时支持静态图像文件;

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

            LibWebCore:一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图;

            SGL :底层的2D图形引擎;

            3D  libraries:基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速,或者使用高度优化的3D软加速;

            FreeType :位图和矢量字体显示;

            SQLite :一个对于所有应用程序可用,功能强大的轻型关系型数据库引擎;

    五、android应用程序的组成

           Android应用程序一般由以下四个部分组成:Activity,Broadcast Intent Recevier,Service,Content Provider。

           当然一个应用程序可以由上述的四个或者四个中的其中部分组成。

           在android项目里边有一个XML的描述文件,叫做AndroidManifest.xml。在这个文件中需要声明用到的上边4类组件名称,以及可能为每个组件的功能和需求进行必要的描述。

           通过Intent我们可以在多个Activity之间进行跳转。Intent中有两个最重要的部分是Intent的动作和动作对应的数据。典型的动作有MAIN,VIEW,PICK,EDIT等。而动作对应的数据则以URI的形式进行表示。与Intent有关系的一个类叫做Intent Filters。如果说Intent是一个有效的请求,一个Intent Filters则用于描述一个Activity能够操作哪些Intent。一个Activity如果要显示一个人的联系方式时,需要声明一个Intent Filters,这个Intent  Filters要知道怎样去处理VIEW动作和表示一个人的URI.Intent  Filters一般在AndroidManifest.xml中定义。

           可以使用BroadcastReceiver来让应用对一个外部的事件做出响应。BroadcastReceiver不能生成UI,即对于用户不是透明的,用户是看不到的。BroadcastReceiver通过NotificationManager来通知用户这些事情发生了。BroadcastReceiver即可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。只要注册了,当事件来临的时候,即使程序没有启动,系统也在变需要的时候启动程序,各种应用还可以通过使用Context.sendBroadcasr()将它们自己的intent broadcast广播给其他应用程序。

           Android数据在系统中是私有的,当然这些数据包括文件数据和数据库数据,以及一些其他类型的数据。Content Provider类实现了一组标准的方法接口,从而能够让其他的应用保存或者读取此Content Provider的各种数据类型。

    六、android 应用工程文件的组成

            源文件:在src目录中

            R.java文件:这个文件由eclipse自动生成,开发者不需要修改里边的内容,里边内容的修改由eclipse自动处理,R文件对于应用开发者来说基本上没有什么用,但是对Android系统非常有,android对于资源进行了全局索引,当res文件夹中的内容发生变化时,R.java都会重新编译,同步更新。

            Android Library:这是应用程序运行的Android库

            Assets目录:存放多媒体等一些文件

            Res目录:放置应用用到的资源文件,在这个文件中发生变化时,R文件就会自动发生变化

            Drawable目录:主要放置应用到的图片资源

            Layout 目录:主要放置用到的布局文件,都是XML文件

            Values目录:主要存放字符串,颜色,数组,都是XML文件

            AndroidManifest.xml:相当于配置文件,在这个文件中必须声明应用的名称,应用所用到的Activity,Service以及Receiver等。

    展开全文
  • Android应用程序结构总结

    千次阅读 2014-07-04 11:35:25
    Android应用程序结构分析 由于是初学者,对于Android应用程序的结构的认识是一穷二白的,对于开发Android应用程序,必须先了解其程序的结构和作用。一下就用一个简单的例子来解剖: 从上图的程序来看,...
  • Android程序在创建时,Android Studio就为其构建了基本结构,设计者可以在此结构上开发应用程序,因此掌握Android程序结构是很有必要的。 下面以HelloWorid程序为例,分析Android 程序结构: 在图中,可以看到一...
  • Android的应用程序结构分析HelloActivity 本例以一个简单的HelloActivity程序为例简单介绍Android应用程序的源代码结构事实上Android应用程序虽然不是很复杂但 是通常涉及了JAVA程序,XML文件Makefile多方面的内容...
  • 一、新建HelloWorld项目: ...在弹出的“New Android Application”窗体中输入相应的应用名称、项目名称、包名称,并选择相应的SDK版本和应用主题: 选择项目保存位置,一路“next”完成项目创建: 创建后的项
  • 搭建Android开发平台与环境配置 Android模拟器及真机的使用 运行第一个Android应用程序Doodle 打包和发布Android应用 创建Android应用程序Helloworld Android应用程序结构 ADT常用窗体 Activity生命周期初
  • 1、从头学Android之Android应用程序结构

    万次阅读 多人点赞 2011-09-16 16:17:27
    7) 第6行属性android:icon定义了Android应用程序的图标,其中@drawable/icon是一种资源引用方式,表示资源类型是图像,资源名称为icon,对应的资源文件为res/drawable目录下的icon.png 8) 第7行属性android:...
  • Android应用程序结构分析:HelloActivity
  • 用Eclipse开发Android应用程序IBM技术文章Android简介在讨论Eclipse插件和开发Android应用程序之前,我们先看看Android的体系结构和一些重要的术语,这会对本教程后面的讨论和您自己构建Android应用程序有帮助。...
  • 掌握使用Eclipse开发Android应用程序的方法 掌握Android虚拟设备的创建方法 了解R.java文件的用途和生成方法 了解AndroidManifest.xml文件的用途 了解Android的程序结构 了解使用命令行创建Android应用程序方法 ...
  • 3.1 第一个Android程序;3.1 第一个Android程序;3.2 Android程序结构;3.2 Android程序结构;3.2 Android程序结构;Android游戏开发培训视频;课程安排;课程安排续;游戏策划
  • 本文介绍Android的体系结构Android应用程序的组成和Android应用的逻辑组成。  1. Android工程文件组成  在包管理器中展开项目后如下图所示: 项目结构的剖析  新建的Android项目包含了src、gen、bin、...
  • Android系统构架分析和应用程序目录结构分析,对整个framework层,已经代码目录的功能的基本描述,自己学习的总结!
  • Android应用程序开发习题答案

    千次阅读 2021-01-12 18:44:44
    第一章、Android 简介 1.简述各种手机操作系统的特点。 目前,手机上的操作系统主要包括以下几种,分别是...Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放
  • 创建一个Android应用程序来玩玩吧
  • PAGE 目录 TOC \o "1-3" \h \z \u 1 小结要点 1 2 Java基础知识 1 3 Android应用程序开发环境搭建 2 4 android应用程序目录结构 5 5 新建一个android应用 6 6 Android四大组件及界面UI元素 7 7 Android应用程序的...
  • 如何利用Qt开发Android应用程序

    千次阅读 2021-06-02 15:32:52
    Qt 工具箱是一个使用广泛的跨平台...Qt最大的优势就是跨平台,一次性开发的Qt应用程序,可以跑Windows、跑linux、跑MAC……如今移动平台Android操作系统如此火爆,Qt当然不能放过对android的支持,对了,还有iphone...
  • Android系统结构和SDK使用;Android SDK的开发环境;Android应用程序的概述和框架;Android应用程序示例;Android应用程序的内容;Android的UI系统实现;视图组(ViewGroup)和布局(Layout)的使用
  • 使用Eclipse开发Android应用程序

    万次阅读 2020-06-30 13:26:25
    本教程介绍了Eclipse环境中的Android应用程序开发,包括两个示例应用程序的构建。 第一个是基本的入门应用程序,包括构建和调试的所有阶段。 第二个应用程序检查了Android的更复杂功能,包括联系人搜索和Google Maps...
  • Android应用程序的基本组成

    千次阅读 2018-06-27 17:50:35
    一般来说, Android应用程序大致包含资源文件(含布局文件 main.xml等,资源文件strings.xml等)、Activity(一般含有一组用于构建用户界面UI的 widget控件,如按 Button、文本框 TextBox、列表List等),以及 ...
  • Android应用程序的基本组件

    千次阅读 2018-09-06 12:05:56
    Android应用程序由若干组件构成,本节讲解这些组件的基本概念,详细的使用将会在后期的相关课程中详细介绍。 View Android 应用中的所有用户界面元素(例如TextView,Button,ListView)都是使用 View 和 ...
  • 是自己在调研Android系统架构时,所总结的资料,比较笼统概括,希望对你有所帮助。
  • android 应用程序机制

    2009-08-05 11:38:32
    描述android系统结构应用程序机制的资料
  • 1、Android简介 2、Android体系结构 3、Android应用程序框架 4、开发环境安装与配置 5、第一个Android应用 6、Android应用程序结构分析 7、AS常用配置
  • android应用程序的组成(组织结构

    千次阅读 2012-08-18 23:04:35
    What makes an android application ...Android应用程序由一些松散连系的组件构成,遵守着一个应用程序清单(manifest),这个清单描述了每个组件以及它们如何交互,还有包含了应用程序的硬件和平台需求的元数据

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 160,766
精华内容 64,306
热门标签
关键字:

android应用程序结构