2019独角兽企业重金招聘Python工程师标准>>>

Android应用程序结构分析

由于是初学者,对于Android应用程序的结构的认识是一穷二白的,对于开发Android应用程序,必须先了解其程序的结构和作用。一下就用一个简单的例子来解剖:

从上图的程序来看,主要的文件有一下几个:

HelloActitity.java

HelloActitity.是继承Actitity基类的,其主要功能就相当于界面文件,用来将数据和和界面显示给用户,是用户交互的第一入口。以下是其文件的代码结构:

从图中可以看出,它有两个方法,onCreate(Bundle saveInstanceState)和onCreateOptionsenu(Menu menu)。

当HelloActivity.java文件加载的时候,首先是调用onCreate(Bundle savedInstanceState)方法。而其中super.onCreate(saveInstanceState)是调用父类Activity的onCreate方法;而setContentView(R.layout.activity_hello)是给Activity 设置可视视图,视图由R类来寻找。

res文件夹,laout中的activity_hello.xml,values中的string.xml,styles.xml,dimens.xml

res文件夹是负责整个应用的资源文件的存放和管理,其中activity_hello.xml是HelloAtivity面板的视图设置,其代码如下:

Activity_hello.xml是一个xml文件,利用xml控制桌面应用时比较少见的,而在网页上是经常发生的。从以上的代码可以看出,程序的界面是线性布局的(LinearLayout)和一个文本框(TextView)所组成的。Res的文件夹的其他文件也是香港的资源描述。

AndroidManifest.xml

每个应用程序都会有AndroidManifest.xml文件,该文件向Android系统描述了本程序所包含的组件,所实现的功能,能处理的数据,要请求的资源。其代码如下:

gen包中的R.java文件

R文件是由ADT自动生成的,其主要负责调用应用程序的非代码资源。

从R文件中可以看出,每个资源都会有相对应的一个整数。

Android.jar开发包

作为一个Java项目,通常情况下都会引入要用到的工具类,也就是Jar包,在Android开发中,绝大部分开发用的工具包都被封装到一个名叫Android.jar的文件里了。

如果我们在Eclipse中展开来看,可以看到j2se中的包,apache项目中的包,还有Android自身的包文件。在这里我们简单了解一下Android的包文件:

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 元素(大部分是可见的)在应用程序的屏幕中使用

转载于:https://my.oschina.net/bonelwh/blog/160765

Android应用程序结构总结相关推荐

  1. android应用程序架构由哪四个组成,android 应用程序结构是哪些

    src 目录 是源代码目录, 所有允许用户修改的 java 文件和用户自己添加的 java 文件都保存在这个目录中 是 1.5 版本新增的目录,用来保存 ADT 自动生成的 java 文件,例如 R. ...

  2. android应用 程序结构,Android应用结构

    不同的应用对于界面结构的需求是不同的.例如: 像计算器和相机应用,构建在一个主要的活动 (activity) 上,主要是这个单一的活动处理各种操作 像拨号应用,主要的是在几个不同的活动中切换,没有很深 ...

  3. Android应用程序结构解析

    界面布局文件 <?xml version="1.0" encoding="utf-8"?> 声明了XML的版本号和编码方式 <Relative ...

  4. android工程中的软件,通过Android Studio创建Android应用程序(附带解析)

    这一节我们主要来创建一个简单的 Android 的应用程序. 创建 HelloWorld 工程 启动 Android Studio,依次选择 File --> New --> New Pr ...

  5. 2020Android大厂高频面试题(字节跳动+阿里,作为Android开发程序员

    Update SALES Set qty=60 WHEREqty<60 COMMIT TRANSACTION B COMMIT TRANSACTION A A.SALES表中qty列最小值大于等 ...

  6. Android应用程序和其设计思想--转载----做记录

    转载一篇Android 的先关文章,无论什么时候看都觉得有收获 文章来源地址 http://www.open-open.com/lib/view/open1466070376316.html 以下是正 ...

  7. 《Android UI基础教程》——1.2节Android 应用程序的基本结构

    本节书摘来自异步社区<Android UI基础教程>一书中的第1章,第1.2节Android 应用程序的基本结构,作者 [美]Jason Ostrander,更多章节内容可以访问云栖社区& ...

  8. 以下关于android应用程序的目录结构,以下关于Android应用程序的目录结构描述中,错误的是哪个()...

    以下关于Android应用程序的目录结构描述中,错误的是哪个() 更多相关问题 吸收实验中,塔底塔顶气相中二氧化碳的浓度采用( )测量. <国际海上避碰规则>适用于: 人的好奇心和强烈的求 ...

  9. Android程序结构

    Project方式 .gradle文件夹:编译相关生成 .idea文件夹:idea生成 app文件夹----应用程序的源代码和资源 build----编译后的文件存放的位置,最终apk文件存放的位置 ...

最新文章

  1. 5.计算机发展个人理解-电路终究是电路 软件如何控制硬件 代码如何操作硬件 硬件是怎么执行代码 代码如何执行 软件与硬件如何交互 计算机思维 抽象 封装 规范 屏蔽 协议分层...
  2. Java字符串中常见的10个问题
  3. Matlab 进行离散时间信号序列的生成
  4. python中如何调用类_python如何调用java类
  5. 在计算机的通信子网中 其操作方式有两种,全国自考计算机网技术模拟试卷(八)及答案.doc...
  6. 【python+selenium自动化】使用pytest+allure2完成自动化测试报告的输出
  7. Andrew ng清华报告听后感
  8. 算法学习之路|方格分割
  9. 后院失火的大疆,距离真正的巨头还有多远?
  10. 【亲测有效】Ubuntu系统开机速度慢解决办法
  11. 算命小程序公历农历阴历阳历切换选择组件
  12. 拳皇重生服务器维护,《拳皇97 OL》3月10日更新维护公告
  13. 贝叶斯法则与先验概率,后验概率
  14. php怎么控制mp3播放器,简单的C++ MP3播放器类
  15. Linux C/C++ 获取系统时间
  16. echarts图表x,y轴的设置
  17. QNAP威联通NAS搭建SFTP服务,并内网穿透实现公网远程访问
  18. RadosClient OSDC
  19. 廖雪峰python视频教程-福利 | 廖雪峰官方Python教程,拿走不谢!
  20. 【simulink 三相半波整流电路】

热门文章

  1. Python- 解决PIP下载安装速度慢
  2. pythonsklearn乳腺癌数据集_Python的Sklearn库中的数据集
  3. composer升级_Composer-命令简介
  4. Linux中创建用户并且配置sudo权限,百分百简单有效
  5. 过度扩容 A股“虚胖”
  6. 解决: Intellij IDEA 运行报错 Command line is too long
  7. IPv6 解说 ,与IPv4的同异
  8. html 基本布局介绍
  9. k8s实战之从私有仓库拉取镜像 - kubernetes
  10. NIO客户端主要创建过程