App的基本结构
今天主要学习安装了Android Studio,并且成功地在虚拟机上运行了HelloWord工程。下面针对HelloWord工程对app的基本框架结构进行一个总结。掌握app的基本结构对初学软件开发的人是很重要的,搞明白它对于后期开发项目有很大帮助。
以下是HelloWord项目的相关截图:
一个完整的项目分两个子目录,分别是app和Gradle Scripts 下面逐一介绍
一、app 它 又包含3个子目录
(1)manifests:包含AndroidManifest.xml文件(安卓入口,相当于java中的main方法)
•AndroidManifest.xml用于指定App内部的运行配置,是一个XML描述文件,根节点为manifest,其中package指定了该App的包名。
•uses-permission,该节点用于声明App运行过程中需要的权限名称。例如,访问网络需要上网权限,拍照需要摄像头权限。
•application,该节点用于指定App的自身属性,包括App在手机屏幕上显示的图标、App在手机屏幕上显示的名称等。(application节点下还有几个子节点,比如活动activity、服务service、广播接收器receiver、内容提供器provider等。)
(2)java,用于存放APP工程的java源代码以及测试用的java代码
(3)res,存放的是APP工程的资源文件。它下面又有四个子目录
·drawable 存放的是图形描述文件及用户图片
·layout 存放的是APP页面的布局文件
·mipmap 存放的是启动图标
·values 存放的是一些常量定义文件,如string型的strings.xml,像素常量dimens.xml、颜色colors.xml、样式定义styles.xml
二、Gradle Scripts 主要包含工程的编译配置文件,其中
(1)build.gradle 分为项目级和模块级两种,用于描述APP工程的编译规则
(2)proguard-rules.pro 用于描述java文件的代码混淆规则
(3)gradle.properties 用于配置编译工程的命令行参数,一般无需改动
(4)setting.gradles 配置哪些模块在一起编译。初始内容为include ":app",表示只编译app模块
(5)local.properties 项目的本地配置,一般无需改动。改文件是在工程编译时自动生成的,用于描述开发者本机的环境配置,比如SDK的本地路径、NDK的本地路径等
下面对HelloWord项目运行结果的截图:
值得注意的是当创建完HelloWord工程时,Android Studio默认打开了两个文件,分别是布局文件activity_main.xml和代码文件MainActivity.java。其中activity_main.xml定义了当前页面的视图排版。MainActivity.java描述了对当前页面的处理逻辑,包含与用户的各种交互操作。注意onCreate内部的setContentView方法直接引用了布局文件的名字activity_main,该方法的意思是往App界面填充activity.xml的布局内容。我们只需运行MainActivity.java文件即可。
App的基本结构的更多相关文章
- 【Android Studio安装部署系列】二十八、Android Studio查看其它APP的布局结构
概述 日常使用别家的APP过程中,会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局结构,以便参考. (1)手机连接电脑.设置手机为USB调试模式 参考<[Android Studio安 ...
- Android Studio查看其它APP的布局结构
概述 日常使用别家的APP过程中,会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局结构,以便参考. (1)手机连接电脑.设置手机为USB调试模式 (2)运行Android Studio,打开 ...
- Django 创建 APP和目录结构介绍
一.通过pip安装Django 以windows 系统中使用pip命令安装为例 win+r,调出cmd,运行命令:pip install django自动安装PyPi 提供的最新版本.指定版本,可使用 ...
- APP 自动化测试封装结构模式
原文出处http://www.toutiao.com/a6268089772108333314/ 做过UI自动化测试同学,都会深深体会几个痛点:维护量大.适配量大.编写代码巨大等.基于这些问题,大家都 ...
- android studio 开发免安装的app之目录结构
尚未深入分析,暂且外链到我看到的,对此有帮助的博客,在此,感谢你们. 1.https://blog.csdn.net/tscyds/article/details/74331085 2.https:/ ...
- spring web app的结构
1 入口是web.xml tomcat加载war的时候会去读该入库文件. 2 web.xml中spring mvc的配置 定义servlet到servlet-mapping之间的映射,org.spri ...
- iOS逆向工程之Hopper+LLDB调试第三方App
LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...
- 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
相关:http://www.cnblogs.com/wytiger/p/5996876.html 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于 ...
随机推荐
- Django入门8--Templates过滤器
过滤器大大减少了开发的代码量
- java IO的概述和File方法
IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 File类在整个IO包中与文件本身有关的操作类,所有的与文件本身 ...
- element el-table 添加分页连接的序号,清除sortable排序
先看代码: <el-table :data="tableData" style="width: 100%" stripe size="mediu ...
- 关于CPython中set集合的无序研究
set集合本身是无序的,但是无意间发现set集合中都是数字时set貌似有序了. 无论声明这个set时数字如何摆放,输出结果总是以一种固定的顺序!同样我将dict字典的key值设为int类型,这时候字典 ...
- asp.net core web api 发布到iis失败 错误500.19
找了很久,发现是没有装DotNetCore.2.0.0-WindowsHosting.exe的原因. 还是官方文档最给力.部署时遇到问题的朋友可以参考官方文档 https://docs.microso ...
- 使用Sklearn-train_test_split 划分数据集
使用sklearn.model_selection.train_test_split可以在数据集上随机划分出一定比例的训练集和测试集 1.使用形式为: from sklearn.model_selec ...
- 19.yield和send的区别
转载:https://www.jianshu.com/p/ccb5e7da3fd8 https://www.cnblogs.com/xhcdream/p/8304953.html https://ww ...
- 第三阶段:3.Web端产品设计:5.产品设计-视觉设计
视觉设计主要在表现层. 色彩心理产品经理可以也是应当掌握的.什么颜色的选择都是有理有据的. 信息清晰度. 比如这个图:当用户操作出问题,谷歌会给出问题同时给出解决方法. 视觉动物. 2/8分布原则.用 ...
- 最近邻分类器,K近邻分类器,线性分类器
转自:https://blog.csdn.net/oldmao_2001/article/details/90665515 最近邻分类器: 通俗来讲,计算测试样本与所有样本的距离,将测试样本归为距离最 ...
- F#周报2019年第51&52期
新闻 介绍DataFrame 介绍System.Threading.Channels ConfigureAwait常见问题 第三次年度C#降临节 .NET会议--2020年1月14日 如何找到F#的工 ...