为什么Android项目mainactivity中有一个变量R_【Android开发入门教程】二.Android应用程序结构分析!...
一、新建HelloWorld项目:
1、打开Eclipse,点击“File”->"New"->"Project"-Android Application Project"":
你的支持,是我们的动力!分享一个 安卓Java 学习交流群,每天分享免费学习资料!(点击传送门!!!)
在弹出的“New Android Application”窗体中输入相应的应用名称、项目名称、包名称,并选择相应的SDK版本和应用主题:
选择项目保存位置,一路“next”完成项目创建:
创建后的项目:
在创建后的项目名称上右键单击选择“Run As”->“Android Application”运行刚创建的项目:
运行结果:
二、应用程序目录结构简析:
1、应用程序目录结构:
2、各部分说明:
Activity文件:双击目录中的“MainActivity.java”,可以看到MainActivity的代码:
package
从代码中可以看到MainActivity继承于Activity类,Activity是Android中的视图部分,负责处理界面显示。在MainActivity里面重写了父类的onCreate方法和onCreateOptionsMenu方法,在重写的onCreate方法里方法setContentView(R.layout.activity_main)给MainActivity设置了要显示的视图R.layout.activity_main,视图由R类寻找并加载(感觉很像mvc,Activity相当于Controller而要显示的layout就相当于具体的页面)。
R文件:在MainActivity的setContentView(R.layout.activity_main)方法中我们用R.layout.activity_main指定了要显示的视图,在应用程序目录结构的截图中可以看到R文件位于gen目录下面,双击显示代码:
/* AUTO-GENERATED FILE. DO NOT MODIFY.
从代码中可以看到R文件里面有很多类,每个类里面又有很多变量,这些类和变量在我们添加、删除控件或资源文件(图片、声音等)由开发工具自动帮我们维护的,由它来调用应用程序的各种资源,在代码第一句的注释中也说明了“AUTO-GENERATED FILE. DO NOT MODIFY”。
layout文件:res/layout/activity_main.xml – 布局文件,双击activity_main.xml会进入可视化编辑界面,在这里你可以根据需要选择相应的控件:
也可以点击红框部分进入文本编辑界面直接写对应控件的代码(从截图代码文件可以看到该layout由一个相对布局和一个文本框组成):
AndroidManifest文件:在应用程序目录截图中倒数第四个可以看到一个AndroidManifest.xml文件,它是应用程序的配置文件包含在每个安卓应用程序中,它向系统描述了本程序所包括的组件、所实现的功能、所能处理的数据、要请求的资源等,可以近似看做网站中的Web.conig文件,同样它也可以由可视化编辑器或文本编辑器编辑:
Android.jar文件:Android.jar内部常用包作用概述,如下图所示:
可以看到Android.jar里面包含了很多包,常见包的作用如下:
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项目mainactivity中有一个变量R_【Android开发入门教程】二.Android应用程序结构分析!...相关推荐
- 为什么Android项目mainactivity中有一个变量R_博客笔记大汇总,Android优化总结篇
博客笔记大汇总[16年3月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并 ...
- 为什么Android项目mainactivity中有一个变量R_安卓4:第一个安卓程序 AS 安卓项目结构解析 手机运行app 模拟器运行app...
学习于:https://www.bilibili.com/video/av22836860?p=2 首先,要知道AS的一个基本模型,1个Android project可以有多个module,而每个mo ...
- C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)...
一项目创建: 创建项目是开发的第一步. 运行untiy之后如果是第一次运行会弹出 我们这里随便创建一个项目. 二Untiy面板介绍: 三代码编辑器的切换: 这里我安装了vs2012. 到这里开发环境基 ...
- 安卓开发入门教程!Android高级工程师必看系列,赶紧收藏!
前言 Android开发前几年火爆一时,市场饱和后Android程序员每一名程序员都想成为架构师,但这期间,需要付出的辛苦和努力远超过我们的想象. 我对Android工程师的调研发现:97% 的And ...
- 傻瓜式Android APP开发入门教程
这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,android各种机子和rom的 ...
- android app开发混合开发,混合开发入门 Vue结合Android/iOS开发仿京东项目App
download:混合开发入门 Vue结合Android/iOS开发仿京东项目App 无需原生开发基础,也能完美呈现京东商城.本课程融合vue.Android.IOS等目前流行的前端和移动端技术,混合 ...
- Android 入门教程:Android Studio 介绍
原文:Beginning Android Development Tutorial: Introduction to Android Studio 作者:Megha Bambra 译者:kmyhy A ...
- Android百度地图开发入门教程
Android百度地图开发入门教程 1.平台注册登录 2.创建应用 3.Android studio配置 4.代码编写 5.最终效果(建议真机) 1.平台注册登录 登录百度地图开放平台网站注册并登录 ...
- python爬虫入门教程(二):开始一个简单的爬虫
2019/10/28更新 使用Python3,而不再是Python2 转载请注明出处:https://blog.csdn.net/aaronjny/article/details/77945329 爬 ...
最新文章
- NCBI下载SRA数据的4种方法
- Java阻塞队列(BlockingQueue)实现 生产者/消费者 示例
- Eclipse导入项目常见问题----jdk版本问题(有个红色感叹号)01
- 用tftp 下载/更新ios和配置文件
- 动态代理,动态代理设计模式 ,JDK动态代理,cglib动态代理
- 安装win7系统不能开机启动服务器,win7系统开机启动项不能加载的原因分析及解决...
- ipa apk.cn dbl.html,前端解析ipa、apk安装包信息 ―― app-info-parser
- 一种大豆多种病害自动识别的新方法
- 渲染标签文字(光晕效果)
- 方管图纸标注_图样中型材的标注方法
- PHP服装网店管理系统
- webmax函数高级教程整理集2
- 利用Java编写自动关机程序(包括输入、输出、控制电脑自动关机)
- python规模大小的指标是_Python 做证券指数三种策略分析 - 最高收益,最大规模,最小风险...
- mysql之从入门到删库跑路
- idea 查询项目代码行数_idea统计代码行数Statistic的步骤详解
- 嵌入式开发必须学习qt吗?
- 华为云鲲鹏云服务器系列的规格,#化鲲为鹏,我有话说#使用华为云鲲鹏弹性云服务器部署文字识别Tesseract...
- 炫“库”行动-人大金仓有奖征文—金仓数据库入门体验
- 基准测试spec cpu2006
热门文章
- python 矩阵基础
- keras inception_resnet_v2训练
- cd 在windows下 无法切换盘符目录
- 华为使用网线通过浏览器登录AC6005的Web网管
- Cissp-【第8章 软件开发安全】-2021-3-15(822页-918页)【完】
- 12款顶级SIEM工具比较与评级
- 纸牌游戏10点半c语言,python10点半纸牌游戏_【Python】Python编的纸牌游戏
- html 文件上传_某平台存在多处任意文件上传
- shell获取指定程序的pid号
- mysql auto_increment建表_在mysql表中创建一个ID auto_increment(在事实之后)