安卓学习笔记03:安卓应用目录结构
文章目录
- 零、学习目标
- 一、安卓应用视图
- 1、Project视图
- 2、Package视图
- 3、Android视图
- 二、安卓应用目录结构
- (一)项目清单目录 - manifests
- (二)Java源程序目录 - java
- (三)资源目录 - res
- 1、图形图像资源
- (1)drawable
- (2)mipmap
- 2、布局资源
- 3、值资源
- (1)颜色资源
- (2)字符串资源
- (3)样式资源
- (四)资源标识文件R.java
- (五)Gradle构建脚本
- 1、项目(Project)的Gradle构建脚本
- 2、模块(Module)的Gradle构建脚本
- 三、案例演示——显示学生信息
- 1、创建安卓应用【StudentInfo】
- 2、存放背景图片
- 3、设计用户界面
- 5、启动应用,查看效果
- 5、在主界面通过Java代码操控标签
- 6、在活动栏上显示图标
零、学习目标
- 能说出安卓应用的几种常用视图
- 能说出安卓应用里几种常用目录及其作用
- 知道资源标识文件R.java在什么位置
- 能说出Gradle构建文件的位置及其作用
一、安卓应用视图
在Android Studio里有三种不同视图:Project视图、Package视图和Android视图
1、Project视图
- 在Project视图下可以查看真实的目录与文件结构
2、Package视图
3、Android视图
- 一般开发安卓应用,采用Android视图,结构比较简洁。其中,
manifests
、java
和res
三个目录里的内容都是在安卓应用开发中经常要访问的。 - 安卓应用结构天生就符合MVC模式
二、安卓应用目录结构
- 在Android视图查看安卓应用目录结构,有
manifests
、java
和res
三个重要目录
(一)项目清单目录 - manifests
- 项目清单文件AndroidManifests.xml
- 设置安卓应用属性:icon、label、roundIcon……
- 注册安卓组件:Activity、ContentProvider、Service、BroadcastReceiver
(二)Java源程序目录 - java
(三)资源目录 - res
1、图形图像资源
(1)drawable
- 存放不区分分辨率的图片、图形配置文件、动画配置文件
(2)mipmap
- 存放要区分分辨率的图片,一般是图标文件
2、布局资源
- 布局资源文件,用于设置安卓应用的用户界面。
3、值资源
(1)颜色资源
- 查看颜色资源文件
- 在布局文件里使用颜色资源
- 在Java源程序里使用颜色资源
- 为了在Java源程序访问到标签控件,需要给标签设置id属性
- 在主界面窗口MainActivity获取标签对象,设置文本颜色
- 说明:getResources()方法获取资源对象,然后通过getColor()方法获取颜色资源,参数是颜色资源的标识符(R.color.colorAccent)。
- 启动应用,查看效果
(2)字符串资源
- 查看字符串资源文件
- 定义一个字符串变量
major
- 在主布局文件里再添加一个标签,设置相关属性
- 启动应用,查看效果
- 修改主布局,将专业标签的文本属性清空
- 修改主界面MainActivity,获取专业标签实例,设置其文本属性
- 说明:getResources()方法获取资源对象,然后通过getString()方法获取字符串资源,参数是字符串资源的标识符(R.string.major)。
- 启动应用,查看效果
(3)样式资源
- 查看样式资源文件styles.xml
- 定义了一个样式
AppTheme
,继承了Theme.AppCompat.Light.DarkActionBar
主题 - 查看清单文件,应用引用了样式
AppTheme
- 修改样式
AppTheme
,继承Theme.AppCompat.Light.NoActionBar
,没有活动栏
- 启动应用,查看效果
(四)资源标识文件R.java
- Android Studio 3.0里可以查看R.java
- Android Studio 4.0里相应位置没有R.java
- 在搜索对话框里也找不到R.java
(五)Gradle构建脚本
1、项目(Project)的Gradle构建脚本
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {repositories {google()jcenter()}dependencies {classpath "com.android.tools.build:gradle:4.0.1"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {google()jcenter()}
}task clean(type: Delete) {delete rootProject.buildDir
}
2、模块(Module)的Gradle构建脚本
apply plugin: 'com.android.application'android {compileSdkVersion 30buildToolsVersion "30.0.2"defaultConfig {applicationId "net.hw.helloworld"minSdkVersion 16targetSdkVersion 30versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}
}dependencies {implementation fileTree(dir: "libs", include: ["*.jar"])implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'androidx.constraintlayout:constraintlayout:2.0.1'testImplementation 'junit:junit:4.12'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'}
三、案例演示——显示学生信息
1、创建安卓应用【StudentInfo】
- 选择项目模板 - Empty Activity
- 配置项目信息
- 单击【Finish】按钮,完成项目初始化
2、存放背景图片
- 将背景图片
background.jpg
存放到res/drawable
目录
3、设计用户界面
- 打开主布局资源文件
activity_main.xml
,切换到Code视图
- 将约束布局改成线性布局,删除标签元素
- 设置线性布局的相关属性
- 添加八个标签,设置相关属性
- 代码说明
- 设置文本属性,采用的是字符串资源,格式
@string/XXX
,不建议使用硬编码字符串。 - 设置颜色属性,两种方式都可以使用,一种是直接定义颜色,格式
#ffaabb
,一种是使用颜色资源,格式@color/XXX
- 设置文本字号,单位一般使用
dp
,不建议使用pt
、px
、sp
(控件宽度高度属性一般使用sp
作单位)
- 设置文本属性,采用的是字符串资源,格式
- 在字符串资源文件strings.xml里定义布局文件里所使用的字符串变量
5、启动应用,查看效果
5、在主界面通过Java代码操控标签
- 声明标签变量
- 通过资源标识符获取控件实例
- 设置标签内边距属性
- 启动应用,查看效果
- 任务:单击每个标签之后,标签颜色都变成某一种颜色 - 蓝色
- 在颜色资源文件里定义颜色变量
blue
- 给学号标签和姓名标签注册单击监听器
- 启动应用,查看效果
- 课堂练习:对其余六个标签进行单击事件处理,单击之后都变色 - 你喜欢的颜色。单击【爱好】标签,不仅改颜色,还要改内容 - “爱好:音乐、美食、旅游”
6、在活动栏上显示图标
- 在项目清单文件里对activity组件设置android:icon属性,活动栏依然不显示图标
- 在主界面MainActivity的onCreate()方法里添加代码
- 启动应用,查看效果
安卓学习笔记03:安卓应用目录结构相关推荐
- 【skynet学习笔记】skynet的目录结构
[skynet学习笔记]skynet的目录结构 skynet目录结构 学习skynet必须先了解一下skynet的目录结构. skynet的目录结构十分清晰,一目了然. 下面来具体看看各个目录. [r ...
- Linux学习笔记(一)|目录结构
Linux学习笔记(一) #一.Linux的目录结构 Linux采用层级式的树状目录结构,根目录为"/",在此目录下创建其他目录. /lib 系统开机所需要最基本的动态链接共享库 ...
- Linux学习笔记 第三课 目录结构及简单命令
一.目录结构 二.简单命令(ls,cd,pwd,which,alias,pstree,tree) 三.环境变量PATH应用 四.快捷键 五.扩展知识 (stty ,ping 及 /var/log ...
- 【DM8168学习笔记5】EZSDK目录结构
EZSDK5.02的目录结构与之前的版本不同,之前的版本各个组件都放在/ezsdk目录下,5.02做了整合. 之前版本:(图片摘自:3.DM816x_1-day_Workshop-Getting_St ...
- 安卓学习笔记:安卓11访问/读写 Android/data 目录
省流提示:采用android studio工具开发,记录一次低级的开发,避免以后忘记或者踩坑. 最近有个业余项目开发到一小半,过程中需要读写 Android/data目录的文件,采用常规的文件操作总是 ...
- 【安卓学习笔记】安卓的事件处理
安卓提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理. 基于监听的事件处理 基于监听的事件处理一般包含三个要素,分别是: Event Source(事件源):事件发生的场所,通常是各个 ...
- JAVA学习笔记 03 - JAVA语言程序结构
本文是Java基础课程的第三课.计算机语言的程序结构无外乎顺序结构.分支结构.循环结构,本文主要介绍Java语言中这些程序结构是如何实现的 文章目录 一.程序结构 二.分支结构 1.单分支if语句 2 ...
- 2020年安卓学习笔记目录
文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...
- 安卓学习笔记07:事件处理、窗口跳转与传递数据
文章目录 零.学习目标 一.三个基本控件 1.标签控件(TextView) 2.编辑框控件(EditText) 3.按钮控件(Button) 二.安卓事件处理机制 (一)安卓事件处理概述 (二)安卓事 ...
最新文章
- anaconda3配置环境变量_Python:Anaconda安装及LabelMe配置(1)
- 企业信息化投入中咨询服务_企业信息化咨询中的问题与对策研究
- 关于SharePoint中管理列表项权限
- 初学java之常用组件
- 全国计算机技术与软件专业技术资格(水平)考试基础知识
- Linux操作命令(一)
- 网络协议栈深入分析(一)--与sk_buff有关的几个重要的数据结构
- ctfshow-网络迷踪-新手上路 ( 使用百度搜图收集景点信息)
- 模式识别之线性回归---最小二乘和线性回归
- Eclipse 插件之间互相依赖, 导出Jar包安装, 报错“java.lang.NoClassDefFoundError”
- C# windows身份验证的连接字符串!
- Delphi多媒体设计之TMediaPlayer组件(三)
- python定时任务_Python定时任务工具--APScheduler
- Photoshop CS6 软件安装教程
- 二叉平衡树平衡方法(RR、LL、RL、LR)
- 分享一些Photoshop的教程电子档(pdf格式),初学者与设计师适用
- 阿里巴巴离职DBA职业生涯总结--吕海波
- 计算机设计教育,计算机设计艺术教育教学论文
- Java开发者跳槽必备,面试:Redis为什么这么快呢
- 转:最好的300款免费软件
热门文章
- 趣味科普丨一文读懂云服务器的那些事儿
- 3种双集群系统方案设计模式详解
- 5G边缘计算:开源架起5G MEC生态发展新通路
- 【nodejs原理源码赏析(1)】Express中间件系统的基本实现
- 云端远程Ubuntu系统进行无桌面Web浏览器自动化测试
- Python Selenium 基本配置
- 80万辆车“云上飞驰”的背后
- python scrapy框架爬虫_Python Scrapy爬虫框架
- MATLAB_排列组合_摸球组合生成
- python绘图数字_绘制一个绘图,其中Yaxis文本数据(非数字)和Xaxis数字d