一、新建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应用程序结构分析!...相关推荐

  1. 为什么Android项目mainactivity中有一个变量R_博客笔记大汇总,Android优化总结篇

    博客笔记大汇总[16年3月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并 ...

  2. 为什么Android项目mainactivity中有一个变量R_安卓4:第一个安卓程序 AS 安卓项目结构解析 手机运行app 模拟器运行app...

    学习于:https://www.bilibili.com/video/av22836860?p=2 首先,要知道AS的一个基本模型,1个Android project可以有多个module,而每个mo ...

  3. C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)...

    一项目创建: 创建项目是开发的第一步. 运行untiy之后如果是第一次运行会弹出 我们这里随便创建一个项目. 二Untiy面板介绍: 三代码编辑器的切换: 这里我安装了vs2012. 到这里开发环境基 ...

  4. 安卓开发入门教程!Android高级工程师必看系列,赶紧收藏!

    前言 Android开发前几年火爆一时,市场饱和后Android程序员每一名程序员都想成为架构师,但这期间,需要付出的辛苦和努力远超过我们的想象. 我对Android工程师的调研发现:97% 的And ...

  5. 傻瓜式Android APP开发入门教程

    这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,android各种机子和rom的 ...

  6. android app开发混合开发,混合开发入门 Vue结合Android/iOS开发仿京东项目App

    download:混合开发入门 Vue结合Android/iOS开发仿京东项目App 无需原生开发基础,也能完美呈现京东商城.本课程融合vue.Android.IOS等目前流行的前端和移动端技术,混合 ...

  7. Android 入门教程:Android Studio 介绍

    原文:Beginning Android Development Tutorial: Introduction to Android Studio 作者:Megha Bambra 译者:kmyhy A ...

  8. Android百度地图开发入门教程

    Android百度地图开发入门教程 1.平台注册登录 2.创建应用 3.Android studio配置 4.代码编写 5.最终效果(建议真机) 1.平台注册登录 登录百度地图开放平台网站注册并登录 ...

  9. python爬虫入门教程(二):开始一个简单的爬虫

    2019/10/28更新 使用Python3,而不再是Python2 转载请注明出处:https://blog.csdn.net/aaronjny/article/details/77945329 爬 ...

最新文章

  1. NCBI下载SRA数据的4种方法
  2. Java阻塞队列(BlockingQueue)实现 生产者/消费者 示例
  3. Eclipse导入项目常见问题----jdk版本问题(有个红色感叹号)01
  4. 用tftp 下载/更新ios和配置文件
  5. 动态代理,动态代理设计模式 ,JDK动态代理,cglib动态代理
  6. 安装win7系统不能开机启动服务器,win7系统开机启动项不能加载的原因分析及解决...
  7. ipa apk.cn dbl.html,前端解析ipa、apk安装包信息 ―― app-info-parser
  8. 一种大豆多种病害自动识别的新方法
  9. 渲染标签文字(光晕效果)
  10. 方管图纸标注_图样中型材的标注方法
  11. PHP服装网店管理系统
  12. webmax函数高级教程整理集2
  13. 利用Java编写自动关机程序(包括输入、输出、控制电脑自动关机)
  14. python规模大小的指标是_Python 做证券指数三种策略分析 - 最高收益,最大规模,最小风险...
  15. mysql之从入门到删库跑路
  16. idea 查询项目代码行数_idea统计代码行数Statistic的步骤详解
  17. 嵌入式开发必须学习qt吗?
  18. 华为云鲲鹏云服务器系列的规格,#化鲲为鹏,我有话说#使用华为云鲲鹏弹性云服务器部署文字识别Tesseract...
  19. 炫“库”行动-人大金仓有奖征文—金仓数据库入门体验
  20. 基准测试spec cpu2006

热门文章

  1. python 矩阵基础
  2. keras inception_resnet_v2训练
  3. cd 在windows下 无法切换盘符目录
  4. 华为使用网线通过浏览器登录AC6005的Web网管
  5. Cissp-【第8章 软件开发安全】-2021-3-15(822页-918页)【完】
  6. 12款顶级SIEM工具比较与评级
  7. 纸牌游戏10点半c语言,python10点半纸牌游戏_【Python】Python编的纸牌游戏
  8. html 文件上传_某平台存在多处任意文件上传
  9. shell获取指定程序的pid号
  10. mysql auto_increment建表_在mysql表中创建一个ID auto_increment(在事实之后)