android.enableAapt2=false
第二讲 2022/08/24
Andriod程序结构
-
app:用于存放程序的代码资源等内容,包含了很多子目录,也是使用最频繁的一个目录
libs:用于存放第三放jar包
src/AndroidTest:用于存放测试的代码文件
src/main/java:用于存放程序的代码文件
src/main/res:用于存放程序的资源文件
src/Android/Manifest。xml:清单文件是整个程序的配置文件
bulid.gradle:是app的gradle构建脚本
-
bulid.gradle:是程序的gradle构建脚本
-
local.properties:用于指定项目中所使用的sdk路径
-
setting.gradle:用于配置在android程序中使用到的子项目
资源管理和使用
资源就是可以在代码中使用的web文件,这些文件作为应用程序的一部分,被编译到app中。
-
图片资源:扩展名为png.jpg.gif等的文件
-
根据用于来说可以将图片资源分为两类:
-
应用图片资源:存放在mipmap文件夹中
-
界面中使用的图片资源:存放在drawable文件夹中
-
-
匹配规则
-
120-160dpi:mdpi (dpi是指密度,前面字母表示大小不同的区分)
-
160-240dpi:hdpi
-
240-320dpi:xdpi
-
320-480dpi:xxdpi
-
480-640dpi:xxxdpi
-
-
调用图片资源的方法
-
通过Javadiamagnetic调用图片资源
-
调用mipmap文件夹中的资源文件
-
getResources().getDrawable(R.mipmap.ic_launcher)
-
调用drawable文件夹中的资源文件
-
getResources().getDrawable(R.drawable.ic_launcher)改成图片名
-
-
-
在xml布局文件中调用图片资源
-
调用mipmap文件夹中的资源文件
-
@mipmap/ic_launcher(泛指 是id的变量名)
-
调用drawable文件夹中的资源文件
-
@drawable/ic——launcher
-
-
第三讲2022/08/29
资源管理和使用
-
主题和样式:用来定义界面元素的显示风格
-
主题:改变窗体的样式,对整个应用或某个Activity存在全局性影响
-
在Java代码中调用
-
setTheme(R.style.AppTheme);
-
-
样式:设置view的具体样式
-
在xml中设置样式
-
style="@style/样式的名称"
-
-
-
-
布局资源:搭建程序中的各个界面
-
通过Java代码方式调用布局资源文件
-
setContentView(R.layout.activity_main);
-
-
在xml布局文件中调用布局资源文件
-
<include layout="@layout/activity_main"></include>
-
-
-
字符串资源
-
通过Java代码调用字符串资源
-
getResources().getString(R.string.app_name);
-
-
在XML布局文件中调用字符串资源
-
@string/app_name
-
-
-
颜色资源
-
通过Java代码调用颜色资源
-
getResources().getColor(R.color.colorPrimary);
-
-
在XML布局文件中调用颜色资源
-
@color/colorAccent
-
-
-
定义颜色:通过Alpha-Red-Green-Blue去定义
-
#RGB
-
<color name="red">#f00</color> <color name="green">#0f0</color>
-
-
#ARGB
-
<color name="red">#6f00</color> <color name="green">#60f0</color>
-
-
#RRGGBB
-
<color name="red">#f00</color> <color name="green">#0f0</color>
-
-
#AARRGGBB
-
<color name="red">#66ff0000</color> <color name="green">#6600ff00</color>
-
-
-
尺寸资源:dimens文件中 需要自己创建
-
在Java代码中调用尺寸资源
-
getResources.getDimension(R.dimen.layout_size);
-
-
在XML布局中调用尺寸ziyuan
-
@dimen/layout_size
-
-
sp:比例像素,处理字体的大小,根据屏幕密度的变化而变化的
-
dp:设备独立像素,设置控件的宽高和不的宽高
-
px:像素,每一个px对应的时屏幕上的一个点
-
第四讲 2022/9/5
学习目标:
了解:约束布局
掌握:view视图,页面布局的编写方式
重点:常见的页面布局
view视图
所有的UI元素都是通过view和viewGroup去创建的 注意点:安卓应用的每一个界面的根元素有且只有一个viewGroup容器
页面布局的编写方式
-
在XML文件编写布局
-
有效的讲界面中布局的代码和Java代码隔离,使程序的结构更加清晰
-
-
在Java文件中编写布局
-
在android中所有布局和控件的对象都可以通过new关键字创建出来,将创建的view控件添加到viewGroup布局中,从而实现view控件在布局界面中显示
-
常见的页面布局
-
常见布局
-
相对布局:通过相对定位排序
-
线性布局:以水平或垂直方向排列
-
帧布局:开辟空白区域,帧里的控件叠加
-
表格布局:表格形式排列
-
约束布局:可视化的方式编写布局
-
第五讲 2022/9/7
常见的页面布局
-
布局的通用性
-
id:用于设置当前布局的唯一标识,格式:@+id/属性名称
-
layout_width/height:用于设置布局的宽度和高度
-
match_parent:表示当前布局的宽度/高度与父容器的宽度/高度相同
-
fill_parent:同上 被废除了
-
wrap_content:包裹内容
-
-
backg:用于设置布局背景 既可以引用图片资源 还可以调用颜色资源
-
layout_margin:用于设置当前布局与屏幕的边界,周围布局或空间的距离
-
layout_marginTop:上面
-
layout_marginBottom:下面
-
layout_marginLeft:左面
-
layout_marginRight:右面
-
-
padding:设置当前布局内控件与该布局的距离
-
paddingTop:上面
-
paddingBottom:下面
-
paddingLeft:左面
-
paddingRight:右面
-
-
-
relativeLayout相对布局
-
通过相对定位的方式指定字空间的位置
-
相对布局特定的属性
-
-
linearLayo线性布局
-
主要是一水平或者是垂直的方式来显示页面的控件
-
orientation:设置布局内控件的排列顺序
-
horizonal:水平
-
vertical:垂直
-
-
layout_weight:在布局内设置控件的权重
-
第六讲 2022/9/12
常见的页面布局
-
tablelayout表格布局
-
采用行,列的形式来管理布局,它不需要明确声明宝包含多少行、多少列、而是通过在tablelayout布局中添加TableRow布局来控制表格的行数,通过在tableRow布局中添加控件来控制表格的列数
-
表格布局的属性
-
布局属性
-
控件属性
-
-
-
FrameLayout帧布局
-
在屏幕上创建一块空白的区域,添加到区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加到上一个控件上层,所有控件都默认显示在屏幕左上角
-
帧布局的属性
-
foreground:设置帧布局容器的前景图像 始终在所有子控件之上
-
foregroundGravity:设置前景图像的显示位置
-
-
-
constrainLayout约束布局
-
他适合使用可视化的方式编写页面布局
-
特性
-
相对定位:创建布局的基本构建方法之一。一个控件相对于另一个控件进行定位
-
居中定位:控件可以通过添加约束的方式确实该控件在父布局中的相对位置
-
倾向:在约束时同向相反的情况下,默认控件时居中的,但是也像拔河杨,两个约束的力大小不等时,就会产生倾向
-
chain:链是一种特殊的约束,他使我们能够对一组水平或竖直方向互相关联的控件进行统一管理。一组控件通过一个双向的约束关系链接起来,就能形成一个chain
-
-
第七讲 2022/9/19
常见的页面控件
-
学习目标
-
了解内容:自定义view
-
掌握内容:简单控件的使用、listView使用、RecyView使用
-
重点内容:alertDialog对话框的使用
-
-
简单控件的使用
-
控件是界面组成的主要元素,用户直接与控件进行交互
-
TextView:显示文本信息
-
属性:
-
-
Button:用于显示按钮
-
作用:响应用户的一系列点击事件
-
在布局中指定Button控件的onClick属性
-
在布局文件中指定onClick属性
-
在MainActivity中实现onclick属性对应的值的方法
-
-
匿名内部类方式
-
在MainActivity中添加匿名内部类
-
-
实现接口方式
-
设置button控件的监听事件
-
当前activity中实现接口
-
实现接口中的方法
-
-
-
-
EditText:显示编辑框 也可以称为输入框
-
ImageView:显示图片
-
RadioButton:单选按钮
-
CheckBox:复选框
-
Toast:向用户提示一些即时信息
第八讲 2022/9/21
常见的页面控件
-
简单的使用
-
EditText:
-
ImageView:显示图片
-
它继承子view
-
属性
-
-
RadioButton:单选按钮
-
它是button子类
-
RadioGroup:单选组合框 继承linearLayout
-
-
CheckBox:复选框
-
Toast:向用户提示一些即时信息
-
安卓系统提供的一个轻量级信息提醒机制
-
格式:toast.makeText(context,text,time).show()
-
context:上下文环境
-
text:显示文本信息
-
time:显示的时间长短length_short、length_long
-
-
-
第九讲 2022/9/26
常见的页面控件-结合案例-AlertDialog对话框
简单的页面控件
-
CheckBox:复选框,也是button的子类,用于实现多选功能,通过checked属性指定控件是否是选中的状态。
第十讲 2022/10/03
常见的页面控件-alertDialog
alertDialog对话框的概述
-
什么是alertDialog:提示一些重要信息或者显示一些需要用户额外交互的内容
-
常用的方法
-
setTitle:设置对话框的变体
-
setIcon:设置对话框的图标
-
setMessage:设置对话本文本信息
-
setSingChoiceItems:设置对话框单选列表
-
setMulChoiceItems:设置对话框多选列表
-
setPositiveButton:设置对话框确定按钮
-
setNegativeButton:设置对话框取消按钮
-
show:显示对话框
-
dismiss:取消对话框
-
普通对话框
-
创建一个新的项目 -CommonDialog
第十一讲 2022/10/5
常见的页面控件-alertDialog
单选对话框
-
创建一个新项目-SingleChoiceDialog
第十二讲 2022/10/10
常见的页面控件-alertDialog
多选对话框
-
内容区域显示的是多选列表
第十三讲 2022/10/17
常见的页面控件-listView
ListView的使用
-
以列表的形式去展示数据的内容,并且能够根据列表的高度自适应屏幕显示
-
属性
数据适配器
-
是数据与视图之间的桥梁
-
常用的适配器
-
BaseAdapter:基本的适配器
-
SimpleAdapter:继承自BaseAdapter,实现了BaseAdapter的四个抽象方法进行封装
-
context:上下文对象
-
data:数据集合、list类型
-
resourse:item布局的资源id,是int类型
-
from:map集合中的key值,是一个String类型的数据
-
to:Item布局中对应的控件,是int类型的数据
-
-
ArrayAdapter:是BaseAdapter的子类
-
六个类
-
public ArrayAdapter(Context context,int resourse);
public ArrayAdapter(Context context,int resourse,int textViewResourseId);
public ArrayAdapter(Context context,int resourse,T[] objects);
public ArrayAdapter(Context context,int resourse,int textViewResourceId,T[] objects);
public ArrayAdapter(Context context,int resourse,List<T>objects);
public ArrayAdapter(Context context,int resourse,int textViewResourceId,List<T>objects);
-
context:上下文对象
-
resourse:item布局的资源id,是int类型
-
textViewResourceId:item布局中相应的textView的id
-
objects:需要适配的数组类型的数据
-
listobjects:需要适配的list类型的数据
-
-
第十四讲 2022/10/19
ListView
listView的优化
-
viewHolder
-
convertView
第十五讲 2022/10/31
RecyclerView
什么是RecyclerView
-
用于在有限的窗口范围内显示大量数据的控件
和listView的区别
-
展示效果
-
适配器
-
复用效果
-
动画效果
第十六讲 2022/11/7
程序活动单元 activity
了解内容
-
使用fragment
掌握内容
-
activity生命周期
-
activity的创建配置和关闭
重点内容
-
intent和intent filter
-
activity之间的跳转
-
activity启动模式
简述activity的生命周期
-
activity声明生命周期
-
启动状态
-
运行状态
-
暂停状态
-
停止状态
-
销毁状态
-
生命周期的方法
-
onStart():activity可见方法
-
onCreate():创建
-
onResume():
-
onStop():停止
-
onDestroy():
-
onRestart():再次启用时调用
activity的创建配置以及关闭
-
activity的创建
-
包名右键--new--activity--Empty Activity
-
不需要去配置清单文件、同时创建布局文件
-
-
activity的配置
-
包名右键--new--Java Class
-
先去继承Activity
-
配置清单文件
-
不会同时创建布局文件
-
-
activity的开启和关闭
-
开启:startActivity()
-
关闭:finish()
-
第十七讲 2022/11/14
程序活动单元activity
Intent和Intent Filter
-
intent
-
概念:称为意图,是程序中各组件交互的一种重要方式,它不仅可以只当当前组件要执行的动作,还可以在不同组件之间进行数据传递
-
作用:一般用于启动activity、service以及发送广播
-
分类:显示意图
-
分类:隐式意图
-
-
intentFilter
-
action:用于指定Intent对象的动作
-
注意:在清单文件中为activity添加intent-filter标签时必须添加action属性,否则隐式intent无法开启该activity
-
-
data:指定数据的URI或者数据MIME类型,它的值通常与Intent的action属性有关联
-
category:用于为action添加额外信息。
-
注意:intent-filter中罗列的category属性数量必须大于或者等于隐式intent携带的category属性数量时,category属性才算匹配成功。如果一个隐式intent没有设置category属性,它可以通过任何一个Intent-filter的category匹配。
-
-
activity之间的跳转
-
数据传递
-
putExtra():
-
名称和数据信息
-
-
Bundle类:
-
第十八讲 2022/11/16
程序活动单元Activity
activity之间的跳转
-
数据传递
-
Bundle类:采用键值对的形式去存储信息key对应一个value
-
putXXX:将数据封装到Bundle对象里
-
putExtras:将bundle对象封装到intent里
-
-
-
数据回传
-
startActivityForResult():用于开启一个activity,当开启的activity销毁时,希望从中返回数据。
-
intent:表示意图
-
requestCode:表示请求码,用于标识请求的来源
-
-
setResult():用于携带数据进行回传
-
onActivityResult():用于接收回传的数据,并根据传递的参数requestCode,resultCode来识别数据的来源
-
第十九讲 2022/11/21
activity的任务栈和启动模式
android中的任务栈
-
任务栈:一种用来存放activity实例的容器
-
特点:先进后出
-
操作:压栈和出栈
activity的启动模式
-
standard模式:默认模式,每启动一个activity就会在栈顶创建一个新的实例
-
singleTopmoshi:会判断要启动activity实例是否位于栈顶,如果位于栈顶则直接复用f+,否则创建新的实例
-
singleTask模式:每次启动activity时,系统会首先检查栈中是否存在当前的activity实例,如果存在则直接使用,会把当前activity之上的所有实例全部出栈
-
singleInstance模式:会启动一个新的任务栈来管理activity实例,无论从哪个任务栈中启动该activity,该实例在整个系统中只有一个
使用Fragment
Fragment简介
-
碎片,是一种可以嵌入activity中的UI片段,它可以用来描述activity中的一部分布局
fragment生命周期
-
onAttach():fragment和activity建立连接的时候调用
-
onCreateView():Fragment创建视图时调用
-
onActivityCreated():Fragment相关联Activity已经创建完成时调用
-
onDestroyView():Fragment关联的视图被移除时调用文章来源:https://www.toymoban.com/news/detail-831105.html
-
onDetach():Fragment和activity解除关联的时候调用文章来源地址https://www.toymoban.com/news/detail-831105.html
到了这里,关于用此转移记录一下学的Android Studio的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!