用此转移记录一下学的Android Studio

这篇具有很好参考价值的文章主要介绍了用此转移记录一下学的Android Studio。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

android.enableAapt2=false

第二讲 2022/08/24

Andriod程序结构

  1. 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关联的视图被移除时调用

  • onDetach():Fragment和activity解除关联的时候调用文章来源地址https://www.toymoban.com/news/detail-831105.html

到了这里,关于用此转移记录一下学的Android Studio的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio Flamingo编译项目问题记录

    系统版本:macOS 13.4 Android Studio Flamingo | 2022.2.1 Patch 2 下载地址: Download Android Studio App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today. https://developer.android.google.cn/studio 所需插件版本:3.2-8.0,g

    2024年02月16日
    浏览(52)
  • Android Studio - 新版 logcat 过滤使用记录

    由于 as 在每次升级都有很多问题,因此去年升级到  Dolphin  就一直未升级, Dolphin  版本就可以在设置中打开新版的 logcat 过滤功能,觉得不太习惯又关掉了。这次刚好 asfp 的下载重新学习下新版的功能。在此简单记录下。 我们可以在输入框输入 \\\"p\\\" 然后就会有提示 p 开头的

    2024年01月24日
    浏览(47)
  • Android Studio 学习记录-按钮控件(Button)

    目录 按钮控件(Button)         textAllCaps属性         onClick属性 点击事件和长按事件 禁用与恢复按钮         本文介绍按键控件的常见用法,包括:如何设置大小写属性,如何响应按钮的点击事件和长按事件,如何禁用按钮又该如何启用按钮,等等。        

    2023年04月22日
    浏览(50)
  • 记录解决Android Studio下载gradle超时问题

    大三学生,2023年3月19号晚,首次下载Android Studio2022版本并新建项目,发现在下载gradle总是连接超时,舍友则没有这个问题,用的是同一个安装包。 查阅文献太多,忘记都有哪些了,就不列出来了,都是公开的。 总结:连接不上外网的谷歌导致网络超时,通过其他方法下载好

    2024年02月05日
    浏览(100)
  • Windows下Android studio 搭建 android NDK 搭建 OLLVM 踩坑记录

    https://github.com/heroims/obfuscator/tree/llvm-9.0.1 这里有坑要注意 不能使用最新的 mingw 8.0.1 编译会报错 报错内容如下: 猜测可能的原因是 cmake版本和 mingw版本 对ollvm-9.0.1的cmakelists.txt的兼容性问题引起的 然后我重新下载mingw旧版本 我用的是 x86_64-5.4.0-release-posix-seh-rt_v5-rev0 mingw下载地

    2024年02月11日
    浏览(44)
  • Android Studio Hedgehog 代码补全失效问题记录

    Android Studio Hedgehog 代码补全失效问题记录 代码失效问题网上答案很多,如: 关闭省电模式;清空缓存;重启电脑;删除重新安装啥的。但是很一行都没有用,并且我电脑上的4.3.3版本的Android Studio是没有该问题的。 所以我推断应该是我的Hedgehog版本设置的问题 但是昨天还好好

    2024年02月22日
    浏览(48)
  • Flutter & Android问题记录 - 升级Android Studio 2022.2.1版本后运行项目报错

    最近一个Flutter项目有新需求,开发时一直是在iOS设备上运行,花了几天做完后运行到Android设备测试,结果项目构建失败了。 Flutter: 3.7.11 Android Studio: 2022.2.1 Java: 17.0.6 Gradle: 7.4 Android Gradle Plugin (AGP): 4.1.3 项目构建报错日志: 报错有点眼熟,根据以往开发经验,应该是Gradle版本

    2023年04月24日
    浏览(96)
  • Android Studio Flamingo (火烈鸟) 升级踩坑记录

    由于想要验证Compose最新的debug特性,而我目前使用的版本(Dolphin 小海豚)不支持,查看官网说明需要最新版本,所以不得已进行了一下Android Studio版本升级,过程中遇到一些问题,本文仅做记录。(真是不想升级,一升级就是连锁反应,需要处理的东西太多了,折腾很久。。

    2024年02月06日
    浏览(49)
  • 记录Android Studio 升级Gradle7.5-8.5遇到的问题

    首先说明我升级到的是: Gradle 8.5 ,Android(AGP 8.2.2)、kotlin(1.9.22)相关插件升级这里就不做说明了 问题1:Gradle8.0+后需要使用JDK17,JavaVersion.VERSION_17 我的AS修改后需要重新打开项目,否则不起效果。 问题2 :namespace,所有模块必须要有namespace 所有模块添加namespace,同时会导致模块

    2024年04月12日
    浏览(57)
  • Android Studio Error “Unsupported class file major version 61“---异常信息记录

    问题出在JAVA 17上,并且使用的Gradle JDK是:Android Studio java home版本17.0.1将其更改为:Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3

    2024年01月23日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包