财讯中国

android应用程序结构分析

来源:网络 2022-01-28 15:00:10

昨天在帖子里看到的一个分析方法,很简单,给大家分享下!

呵呵,由于我也是刚开始学习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应用程序结构分析
2022-01-28 15:00:10
远程电源管理系统设计
2022-01-28 15:00:04
内部结构清晰 联想S400轻薄独显本拆解
2022-01-28 14:59:59
苹果上线用户手册 教用户更好保护个人隐私
2022-01-28 13:51:28
日本厂商推Crazy Small Wheel:可用脚操作的鼠标滚轮
2022-01-28 13:51:22
三星的下一次Unpacked发布会活动定于2月9日举行
2022-01-28 13:51:16
宝马正在为经典Mini车型带来一个电气化的未来
2022-01-28 13:51:10
美版Galaxy S22系列售价曝光:均涨100美元
2022-01-28 13:51:04
各种端子介绍大全
2022-01-28 13:30:21
智能交通的发展趋势与市场前景分析
2022-01-28 13:30:15
双层PCB板制作过程与双层PCB板制作工艺
2022-01-28 13:30:10
单片机实验学习板DIY讲解
2022-01-28 13:30:05
偏振式3D显示技术原理及优缺点分析
2022-01-28 13:29:59
Google Drive被指将无辜文件标记为侵犯版权
2022-01-28 12:21:34
Wandelbots再获8400万美元融资 不用代码就能教机器人做事
2022-01-28 12:21:27
苹果公司启动2022年挑战赛
2022-01-28 12:21:19
隐私投诉持续不断 Google宣告放弃FLoC并将坚持使用Cookie
2022-01-28 12:21:11
一加 10 Ultra即将到来:共享OPPO的MariSilicon自研芯片
2022-01-28 12:21:03
谷歌云组建新团队 将围绕区块链展开业务
2022-01-28 12:10:09
联想陈劲:moto X 30将出现在春晚上
2022-01-28 12:10:02
iOS15.4测试版陆续推送:戴口罩解锁、支付都能用了
2022-01-28 12:09:55
净利润率22%!SK海力士去年收入约2275亿
2022-01-28 12:09:47
北京冬奥进入超高清时代:全球首台8K+5G转播车,中国制造
2022-01-28 12:09:44
可以戴口罩解锁啦!苹果推送iOS/iPadOS 15.4开发者预览版Beta更新
2022-01-28 12:09:38
DeepDotWeb运营者Tal Prihar因涉洗钱被判8年
2022-01-28 12:09:35
英国通信管理局局长一职空缺 再度开启招聘
2022-01-28 12:09:28
环球影城的第一个“冬天”
2022-01-28 12:09:27
ZOL百万补贴:荣耀60 8+256碎屏险套装仅2499元
2022-01-28 12:09:20
苹果服务在过去12个月内增加了1.65亿订阅用户
2022-01-28 12:09:19
iOS 15.4 Beta 1终于解锁120Hz ProMotion刷新率
2022-01-28 12:09:12
苹果在全球有超过18亿台活跃设备
2022-01-28 12:09:11
挪用800万资金?微念子公司尔西CEO杨子愉涉嫌多项违法被诉
2022-01-28 12:09:03
EVGA卡皇RTX 3090 Ti KINGPIN曝光:水冷散热,搭载LCD屏
2022-01-28 12:09:02
马斯克“吃醋”拜登 讽刺总统把全美国人当傻瓜
2022-01-28 12:08:55
【手慢无】七彩虹CVN B550M主板售价649元
2022-01-28 12:08:53
互联网摸鱼大赏
2022-01-28 12:08:48
【手慢无】高端8核 锐龙7 5800X售价2499元
2022-01-28 12:08:44
苹果活跃设备数超18亿 较去年增长1.5亿
2022-01-28 12:08:39
小米要“凉了”?市值蒸发超过一半 雷军怕是要坐不住了
2022-01-28 12:08:35
朝鲜关键服务无法访问 疑似遭到DDoS攻击
2022-01-28 12:08:31
一加 Buds耳机更新两款个性主题:"吾皇万睡"真可爱
2022-01-28 12:08:25
iOS 15.4 Beta更新:可在iPhone上直接设置iCloud自定义邮件域名
2022-01-28 12:08:21
三风扇+炫酷灯效!铭瑄MS-GeForce RTX3050 iCraft 8GB独立显卡2899元
2022-01-28 12:08:14
联想推出TruScale HPCaaS 为企业提供基于云端的超算体验
2022-01-28 12:08:11
拯救者Y90手机正式入网:5600mAh电池+68W快充
2022-01-28 12:08:02
不满拜登为对手站台,马斯克称其“是一个人形湿袜木偶”
2022-01-28 12:08:01
AI协作的设计模式
2022-01-28 12:00:23
网友分享Dell N4010 14R笔记本拆机攻略
2022-01-28 12:00:17
浅析麦道90机载变速恒频发电系统
2022-01-28 12:00:11
lm358引脚图及功能说明
2022-01-28 12:00:05
数字万用表的使用方法图
2022-01-28 11:59:59
Messenger宣布向所有用户开放端到端加密功能
2022-01-28 10:40:17
特斯拉起诉大V小刚学长:称网红造假滥用公信力误导网友
2022-01-28 10:40:11
Grid Studio​:将iPhone、Game Boy等旧产品创作为艺术品
2022-01-28 10:40:04
iPadOS 15.4与macOS Monterey 12.3 Beta已引入全局控制功能
2022-01-28 10:39:57
“一姐”薇娅隐身 直播带货迈入商家自播小时代?
2022-01-28 10:39:51
巴黎迪士尼乐园为米妮设计新蓝黑裤装造型 引发Twitter网友关注
2022-01-28 10:39:43
苹果引入新工具:以旧换新时更准确评估设备价格
2022-01-28 10:39:36
对冲基金透露如何利用马斯克推文狂赚7亿美元,精准掌握游戏驿站卖出时机
2022-01-28 10:39:28
马斯克出字谜,讽刺特斯拉再次被白宫忽略
2022-01-28 10:39:21
27岁男子打游戏到凌晨3点突发心梗:化验值为正常值的5倍
2022-01-28 10:39:13
iPhone将支持戴口罩解锁:下个iOS版本更新
2022-01-28 10:39:10
韩股史上最大IPO诞生,LG新能源CEO称未来将超越宁德时代
2022-01-28 10:39:04
营收205亿美元!Intel发布新季度财报
2022-01-28 10:39:00
军用耳塞不管用,3M被判赔偿两名美国退伍兵1.1亿美元
2022-01-28 10:38:55
性能如何?第一款Intel Arc显卡游戏本官宣 第二季度末才上市
2022-01-28 10:38:50
Q4收益无亮点 特斯拉一日之内市值蒸发1000亿美元
2022-01-28 10:38:45
芝奇再发D5内存新品!6400频率 单条16GB大容量
2022-01-28 10:38:39
Meta为Oculus Quest社交媒体账户更名 引发网友架火吐槽
2022-01-28 10:38:35
小米卢伟冰:会不会所有的手机公司都会造车?
2022-01-28 10:38:28
别人家的学校:天津大学包飞机送160名学生回家
2022-01-28 10:38:24
GPU可达95W满功耗释放 联想预热拯救者 Y7000P 2022游戏本
2022-01-28 10:38:15
超级跑车GMA T.33发布 价值两台劳斯莱斯库里南、比布加迪还少见
2022-01-28 10:38:11
苹果手机支持佩戴口罩解锁了!iOS 15.4测试版
2022-01-28 10:38:02
英国监管机构介入后 微软正使其Xbox订阅变得更加灵活
2022-01-28 10:38:00
PTN技术功能及标准
2022-01-28 10:30:35
一文读懂风向风速传感器
2022-01-28 10:30:29
gps数据格式含义说明
2022-01-28 10:30:23
电容在电路中可以起到哪些作用?
2022-01-28 10:30:17
数字温度传感器原理简介
2022-01-28 10:30:11
手机电池保养十大妙招
2022-01-28 10:30:05
无卤素的要求标准及测试
2022-01-28 10:29:58
消息称Google首款可折叠手机售价约合8858元
2022-01-28 09:21:24
Google、微软等大型科技公司向英国政府提供国际数据传输建议
2022-01-28 09:21:17
三箭齐发!国产龙芯CPU空前繁荣
2022-01-28 09:21:10
英国沃达丰将从2023年开始关闭3G网络
2022-01-28 09:21:03
应聘网约车司机 当心这些“套路租车”陷阱
2022-01-28 09:09:33
调查称纯电动车车主不再愿意转用燃油车
2022-01-28 09:09:27
世界上最薄笔记本电脑摄像头发布 800万像素超广角
2022-01-28 09:09:21
亚马逊已放弃向工人支付报酬以在Twitter上宣传公司优点的计划
2022-01-28 09:09:13
世界第三富豪发出警告:我们必须警惕元宇宙泡沫
2022-01-28 09:09:06
摩根大通放弃唱多比特币:长期目标价下调至3.8万美元
2022-01-28 09:08:59
Meta收购客户关系管理企业Kustomer交易获欧盟有条件批准
2022-01-28 09:08:52
未来AirPods或能通过耳道形状来验证用户身份
2022-01-28 09:08:45
[图]Windows 11 Build 22543发布:优化“讲述人”体验
2022-01-28 09:08:38
Firefly无人机拥有近2小时的续航时间并可运载45公斤的物品
2022-01-28 09:08:31
雷诺-日产-三菱联盟宣布2030年前推出35款全新EV的计划
2022-01-28 09:08:24
[视频]iOS/iPadOS 15.4 Beta1发布:支持戴口罩Face ID识别
2022-01-28 09:08:17
FTC:美国消费者2021年在社交媒体诈骗中损失了7.7亿美元
2022-01-28 09:08:08
The.com完成440万种子轮融资 让个人建站更简单更现代化
2022-01-28 09:08:00

热门文章

热点专题