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 元素(大部分是可见的)在应用程序的屏幕中使用
关键词:
您可能也感兴趣:
为您推荐
广东启动车险市场专项整治行动 保护消费者合法权益
去年社保“成绩单”亮眼 社保基金监管再戴“紧箍咒”
“冰雪保险”讨论度升温 购买此类产品时需看清投保须知
排行
最近更新
- android应用程序结构分析
- 万兴科技上榜2021元宇宙潜力企业TOP50 推出“拿着高薪去创业...
- 总有一种精神催人奋进——北京冬残奥会中国代表团半程综述
- 宣城绩溪长安镇:安心养老 舒心晚年
- 金胜利:幸福生活自己创造
- 治理小微水体 疏通“毛细血管”
- “两节”欠薪案件“回头看”开展 巩固专项行动成果实现无“...
- 6月14日-16日 安徽2022年中考时间确定
- 宣城绩溪板桥头乡:稳步推进“安徽防止返贫监测对象申报”小...
- Arasan宣布为格芯12nm FinFET工艺节点提供MIPI D-PHY(SM) IP
- 宣城绩溪板桥头乡:扎实推进2022年度改厕工作
- Artilux推动超广谱光学感测的全面普及化
- 深圳坪山区打造智能康复辅具产业集群 知名企业相继落户
- 业绩快速增长,核心能力突出 知名投行维持“买入”评级
- 加快人才培养、推进医养结合……人大代表为养老服务支招
- “偏科生”爱美客营收首迈10亿大关,高毛利背后的投资亏损如...
- 促进中医药文化海外传播(国是之窗)
- 成人教育乘风起,行业乱象难禁止
- 加快人才培养、推进医养结合……人大代表为养老服务支招
- 从这些数据,看中国经济如何更好迈向高质量
- 为孩子撑起法治保护伞
- 67.9%受访者期待降低婚恋成本
- 保利发展前2月签约额同比减少30.4% 去年归母净利同比下降4.74%
- 固安永定城开启“她经济”的新图景 将掀起新一轮消费热潮
- 改性甲醇燃料亮相 开启能源消费革命“新赛道”
- 美女老板独爱欧马可 百余辆超级卡车助力客户攀登事业新高峰
- 湖北搭建科技强省建设“四梁八柱” 将建设105个重大科创项目
- 2月50家代表房企拿地额下降67% 一线城市房企拿地占比最高
- 去年家电市场呈U形发展曲线 下沉市场有力支撑了行业复苏
- 南京秦淮区以文化赋能旅游发展 构筑消费新增长极