android应用程序结构分析
昨天在帖子里看到的一个分析方法,很简单,给大家分享下!
呵呵,由于我也是刚开始学习Android,还没有学到下面这些知识,这里就直接截图了。
看完他这个分析之后,我对Android程序有了一个简单的认识,若要深入的理解,我想我今后还要在此下很多的功夫。。。。要努力啦。。。。
好了,下面开始介绍他的分析方法:
他拿一个Hello,World做例子,通过分析Hello,World的目录结构,让我们对Android程序有一个整体而又全面的认识。
先看一下Lesson2_Helloword的显示结果:
然后我们再看一下Helloword的程序目录:
我们可以看到:
1. MainHelloWorld.java文件
2. R.java文件
3. android.jar文件
4. RES、Layout、main.xml文件
5. androidmainfest.xml文件
接下来我们逐个加以讲解:
1、Activity类 及 MainHelloWorld文件浅析
Activity是Android中的视图部分,负责界面显示。
package android.basic.lesson2.helloworld;import android.app.Activity;
import android.os.Bundle;public class MainHelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
可以看到MainHelloWorld是Activity的子类,子类要重写onCreate方法。
setContentView(R.layout.main)方法是给Activity设置可以显示的视图(View),视图由R类负责寻找。
2、R文件浅析
我们看到Gen目录下有个R.Java文件,R文件由ADT自动生成,程序员不需要也不要去修改它,R文件负责调用应用程序中的非代码资源。
从R文件中可以看到每一个资源都会有一个整数和它相对应。
3、res/layout/main.xml文件浅析 – 布局layout
我们看到有个res目录,也就是resource目录,这个目录下存放资源文件,资源文件的统一管理,也是Android系统的一大特色。现在要注意看的是layout目录下的main.xml。这个文件的内容是有关用户界面布局和设计的。在桌面程序设计领域采用XML也许比较新颖,但是在网页设计领域,这个就很平常了。
从以上代码可以看到整个程序界面由一个线性布局控件(LinearLayout)和2个文本框控件(TextView)组成。res的其他目录里的其他文件也都是相关的资源描述。
4、AndroidManifest.xml文件浅析
在每个应用程序的根目录都会有一个AndroidManifest.xml文件,该文件向Android操作系统描述了本程序所包括的组件,所实现的功能,能处理的数据,要请求的资源等等。
我们看到Manifest是根节点,节点属性里有versionCode和versionName来表示应用程序的版本;里面可以包含0个或1个application元素,application可以包含多个activity组件等等,具体的内容我们在接下来的课程里详细讲解。
5、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 元素(大部分是可见的)在应用程序的屏幕中使用
关键词:
您可能也感兴趣:
为您推荐
保险业去年原保费收入微降0.79% 健康险业务增长3.36%
银保监会:严防银行保险资金被用于盲目“加杠杆”,强化金融反垄断
保险打工人年终奖多数和上年持平或下降,怎样发才合理?
排行
最近更新
- android应用程序结构分析
- LED微型投影机酷乐视X2详细拆解
- 远程电源管理系统设计
- 443家上市公司在虎年成立 诞生8只千亿市值股
- 线上置办年货成为消费市场亮点 节前“异地订单”快速增长
- 云南医保异地就医服务“春节不打烊” 方便群众正常就医
- Tezos与欧洲足球俱乐部曼联达成赞助合作关系
- 波士顿联储和麻省理工学院发布OpenCBDC
- 老虎全球管理基金将探索BTC和ETH等加密货币交易业务
- 宅家看or出门练?冰雪时光送上新春运动福利
- 打造数字化服务新标杆 榕树贷款以AI破解数字化转型痛点
- OATLY进军烘焙渠道,植物奶开创健康新中点另类“轻”玩法
- 世界癌症日:乳腺癌预防知识,你了解多少?
- 今日立春 中医专家教你立春如何养生
- 钼矿概念龙头股一览,钼矿概念股全部名单
- 能源股票龙头股有哪些?能源股票概念一览
- 爱奇艺股票有哪些,爱奇艺概念股票一览
- 11月15日NMN概念大涨5.17% 雅本化学(300261)涨停
- 900948每股净资产 伊泰B股900948净资产是多少
- 内部结构清晰 联想S400轻薄独显本拆解
- 各种端子介绍大全
- 智能交通的发展趋势与市场前景分析
- 启动电容和运行电容的区别
- 双层PCB板制作过程与双层PCB板制作工艺
- Paypal暴跌,“木头姐”紧急抛售已接近清仓
- 碳化硅真正的龙头是谁?A股碳化硅上市公司有哪些
- 300468股票价格 300468股票价格今天多少?(2020/12/16)
- 2022年三元锂电池概念股名单一览
- 工业母机股票是什么?工业母机相关龙头股一览
- 惠伦晶体是什么概念?惠伦晶体所属概念解析