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开发中,很多人经常会头疼于 ...
随机推荐
- H3C 路由度量值(Metric)
- H3C 示例:根据子网数划分子网
- .map() .filter() .reduce() .includes() .some() .every()的用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- H3C 端口绑定典型配置举例
- NuGet 如何设置图标
在找 NuGet 的时候可以看到有趣的库都有有趣的图标,那么如何设置一个 NuGet 的图标 在开始之前,请在nuget官方网站下载 NuGet.exe 同时设置环境变量 环境变量设置的方法就是将 N ...
- codeforces 1217E E. Sum Queries? (线段树
codeforces 1217E E. Sum Queries? (线段树 传送门:https://codeforces.com/contest/1217/problem/E 题意: n个数,m次询问 ...
- 微信小程序样式wxss各种问题总结(不断更新)
1)加入其它样式文件 @import '/css/dialog.wxss'; //注意:必须结尾用分号 2)隐藏滚动条 ::-webkit-scrollbar { width:; height:; c ...
- Java中的变量、数据类型和运算符
1. java语言是一种强类型的语言,对各种数据类型都有明确的区分,而计算机使用内存来记忆大量运算时需要使用的数据,而当声明一个变量时,即在内存中划分一块空间存储数据,而变量类型决定划分内存空间的大小 ...
- flask修改数据库字段的类型和长度
flask修改数据库字段的类型和长度 在将models中的字段的db.String(256)修改为db.String(1024)后,执行migrate和upgrade操作后,发现数据库并没有更新, ...
- $Noip2014/Luogu2312$ 解方程
$Luogu$ $Sol$ 枚举解+秦九韶公式计算+取模. $Code$ #include<iostream> #include<cstdio> #include<cst ...