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 元素(大部分是可见的)在应用程序的屏幕中使用
关键词:
您可能也感兴趣:
为您推荐
贷款370万元买保险?消费者需当心有人盯上你的保单
银保监会要求保险机构提升农业保险保障水平 发展特色农产品保险
湖北省棉花“保险+期货”项目落地三县市 5万棉农将成为受益者
排行
最近更新
- android应用程序结构分析
- 一季度厦门信保服务支持企业3339家 支持外贸出口52.8亿美元
- 广州南沙区探路国际化 打造成面向世界的国际合作战略平台
- 3月广东物价指数发布 汽油、柴油等价格出现上涨
- 广州海关优化通关监管服务 指导预制菜出口通关
- 多年老友欢聚一堂 却因贪杯醉酒后摔倒受伤
- 别做“低头族”!女子低头玩手机太入迷被路人碰坏
- 男子乘坐出租车丢失钱包 民警及时寻回
- 雄安新区智能网联汽车道路测试与示范应用正式启动
- 珠海华发投控10亿元债券将于4月14日付息 利率3.60%
- 安徽萧县大力发展各自然村特色产业 种植大棚产生明显效应
- 安徽再次出台收费减免政策 仅省级可减轻负担超3亿元
- 探索AI技术解决方案,NVIDIA X阿里云TensorRT模型优化赛初赛启动!
- 传递爱心 张俊凯携暖心家园让世界更美好
- 世茂城市更新关键词:“文化+”激活城市精气神
- 消息称长沙2022年首轮集中供地成交总价174亿元 企业拿地热情升温
- 安徽扎实推进健康安徽建设 持续深化医药卫生体制改革
- 南京都市圈一体化程度持续提高 工业成为地区经济稳定的关键
- 屠宰企业业绩难看、被负面舆论缠身 行业内卷或愈演愈烈
- 小家电市场容量萎缩 扩展新的品类或是企业破局的关键
- 亚马逊布局太空互联网市场 进军流媒体充实内容库
- 华西厦门医院建设完成度约80% 预计6月进行试运营
- 厦门湖滨片区完成安置房选房4867套 仅用时21天半
- 山西汾酒一季度营收增长43% 归属净利润创历史同期最好水平
- 工行山西分行“跨境贷”业务落地 助力外贸高质量发展
- 黔东南州重视发展民营经济 注册中小企业已达55409户
- 女人吃莲子有什么好处
- 番茄筋腐病的防治
- 果蔬管理 黄瓜花叶病毒病防治措施
- 倒掉浪费吃了担心 隔夜菜到底能不能吃?