Android基础知识
1. Activity的生命周期
- onCreate:Activity在启动时会被创建,后面一般不会在调用该方法(除非例外情况,将Activity回收,例如内存不足);
- onStart:Activity启动时,会调用该方法;
- onResume:Activity可视化时,会调用该方法;
- onPause:Activity不可见时,会调用该方法;
- onStop:Activity完全不可见时,会调用该方法;
- onDestroy:Activity被回收时,会调用该方法。
- onRestart:上一个Activity没有被回收时,返回可以调用该方法(例如,通过startActivity跳转另一个Activity,可以使用finish返回上一个Activity,此时系统就会调用onRestart方法)
2. Toast
该方法主要作用是弹框,Toast.makeText(Context context, CharSequence text, @Duration int duration)
- context:上下文内容
- text:显示的文本
- duration:弹框展示的时长(Toast.LENGTH_SHORT、Toast.LENGTH_LONG)
例子:Toast.makeText(MainActivity.this, “弹框学习”, Toast.LENGTH_LONG);
3. Intent
该方法主要用于Activity的转递,Intent(Context packageContext, Class<?> cls);
- packageContext:当前Activity上下文
- cls:跳转的Activity实体类
一般跟startActivity一起使用,达到跳转试图的作用。
4. registerForActivityResult
该方法主要用于接收上一个Activity返回的数据,
registerForActivityResult(
@NonNull ActivityResultContract<I, O> contract,
@NonNull ActivityResultCallback callback)
- contract:数据格式限制,new ActivityResultContracts.StartActivityForResult()
- callback:数据回调接口,onActivityResult(ActivityResult result),函数式接口。
5. onSaveInstanceState
该方法用于某个Activity被回收后,先前数据无法获取的情况。可以提前将重要数据放在该方法的Bundle上。然后再Activity的onCreate添加判空逻辑(如果为null,则取savedInstanceState中拿数据)了。
6. Activity的启动模式
- standard:每次需要活动都重新创建
- singleTop:每次去栈顶查需要的活动,不在栈顶就重新创建
- singleTask:在当前应用程序中只存在一个单实例
- singleInstance:在所有程序的上下文,都只存在一个单实例(会开辟一个单例栈,存放单实例)
在AndroidManifest.xml的activity标签中配置,android:launchMode=“singleInstance”。
7. TextView
- android:layout_width:填充宽度,match_parent【与父级同宽】,wrap_content【由内容填充宽度】;
- android:layout_height:填充高度,match_parent【与父级同高】,wrap_content【由内容填充高度】;
- android:gravity:文字对齐方式,top、bottom、left、right、center等;
- android:size:文本内容;
- android:textSize:文本大小【sp为单位】;
- android:textColor:文本颜色;
- android:id:组件id
8. Button
- android:textAllCaps:false,取消默认英文字母全大写【系统默认将所有英文字母设置为大写】;
- android:layout_gravity:水平居中;
9. EditText
该组件为文本框
- android:hint:提示输入信息
- android:maxLines:输入最大的行数
10. ImageView
该组件为图像域
- android:src:指定图像地址,一般使用**@drawable/img_src格式
在Activity可以通过setImageResource()改变图像地址,一般使用R.drawable.img_src**格式
11. ProgressBar
该组件为进度条,使用可以参考该文章:进度条使用参考
- style=“?android:attr/progressBarStyleHorizontal”,设置为水平进度条,默认为圆形进度条;
可以通过Activity设置进度条状态,progressBar.setVisibility(),三个参数,visible【可见】,invisible【不可见】,gone【不仅不可见,还不会占用屏幕空间】
12. AlertDialog
该组件为弹框提示,有点确认、删除那味道。通过Activity实现,Demo如下
sendBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(FirstActivity.this);builder.setTitle("发送消息");builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(FirstActivity.this, "确认消息发送!", Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(FirstActivity.this, "取消消息发送!", Toast.LENGTH_SHORT).show();}});builder.show();}
});
13. ProgressDialog
该组件与AlertDialog使用类似,弹框进度条;
14. LinearLayout
线性布局,依次排列的意思。
- android:orientation,有两个参数可选,horizontal【水平,android:layout_*记得设置为wrap_content】,vertical【垂直】
15. RelativeLayout
相对布局,手动调整位置。
- android:layout_alginParentTop:顶部(设置true)
- android:layout_alginParentBottom:底部(设置true)
- android:layout_alginParentLeft:靠左(设置true)
- andorid:layout_alginParentRight:靠右(设置true)
- android:layout_centerInParent:居中(设置true)
- android:layout_toLeftOf:位于某个控件的左侧(控件ID)
- android:layout_toRightOf:位于某个控件的右侧(控件ID)
- android:layout_above:位于某个控件的上方(控件ID)
- android:layout_below:位于某个控件的下方(控件ID)
相关文章:

Android基础知识
1. Activity的生命周期 onCreate:Activity在启动时会被创建,后面一般不会在调用该方法(除非例外情况,将Activity回收,例如内存不足);onStart:Activity启动时,会调用该方…...

linux下把动态库变成静态库
1.用nm命令获取动态库中的所有符号列表,假如动态库的文件为lib.so nm -gD lib.so > lib.txt 将把符号列表输出到名为lib.txt的文本文件中 2.创建个新的静态库文件,使用ar命令可以创建一个空的静态库文件 ar -rcs lib.a 3.将动态库中的每个符号提…...

基于STM32单片机设计的智能水温控制系统
一、前言 1.1 项目介绍 【1】项目功能介绍 随着科技的快速发展和智能化生活的普及,人们对生活品质的需求日益提高,对家用电器自动化与智能化控制的要求也越来越高。在家庭用水场景中,热水器、浴缸以及智能水暖系统的温控需求尤为突出。传统水温控制系统往往功能单一、操作…...

PIL——图像读取、裁剪、保存操作
一、读取 Image.open(figure_path)二、裁剪 image.crop()image.crop() : 从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(x1, y1, x2, y2),即 左上角坐标、右下角坐标。坐标系统的原点(…...

Windows 下 QT开发环境的搭建:
下载QT:Index of /archive/qt/5.14 下载Cmake :CMake - Upgrade Your Software Build System (1)QT在windows,C, 打包exe: step1:window上安装QT软件: Windows下的QT系统开发环境搭建_qt windows-CSDN博客. step2:新建一个界面工程: (1)打…...

深度学习中Numpy的一些注意点(多维数组;数据类型转换、数组扁平化、np.where()、np.argmax()、图像拼接、生成同shape的图片)
文章目录 1多维数组压缩维度扩充维度 2numpy类型转换深度学习常见的float32类型。 3数组扁平化4np.where()的用法5np.argmax()6图像拼接7生成同shape的图片,指定数据类型 1多维数组 a.shape(3,2);既数组h3,w2 a.shape(2,3,2);这里第一个2表示axis0维度上…...

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (56) | 卷积神经网络
前言 📚 笔记专栏:斯坦福CS231N:面向视觉识别的卷积神经网络(23)🔗 课程链接:https://www.bilibili.com/video/BV1xV411R7i5💻 CS231n: 深度学习计算机视觉(2017…...

表单验证 ---- 在Vue2中使用ElementUI进行表单验证
目录 前言 给表单绑定对应属性 在data中定义数据对象和表单的定义规则 与数据对象双向绑定 对整个表单进行验证 前言 在做项目时,对于表单进行验证是我们必不可少的 例如 搭建一个基本的登录界面 <div class"form"><h1>登录</h1>&…...

HarmonyOS 转场动画 ForEach控制
本文 我们继续说组件的专场特效 上文 HarmonyOS 转场动画 我们通过if控制了转场效果 本文 我们通过 ForEach 控制它的加载和删除 这时候就有人会好奇 ForEach 怎么控制删除呢? 很简单 循环次数不同 例如 第一次 10个 第二次 5个 那么后面的五个就相当于删除啦 我们…...

2024--Django平台开发-订单项目管理(十四)
day14 订单管理系统 1.关于登录 1.1 UI美化 页面美化,用BootStrap 自定义BooStrapForm类实现。 class BootStrapForm:exclude_filed_list []def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)# {title:对象,"percent":对象}fo…...

Docker 安装 CentOS
Docker 安装 CentOS CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性…...

方案解决:5G基站节能及数字化管理
截至2023年10月,我国5G基站总数达321.5万个,占全国通信基站总数的28.1%。然而,随着5G基站数量的快速增长,基站的能耗问题也逐渐日益凸显,基站的用电给运营商带来了巨大的电费开支压力,降低5G基站的能耗成为…...

JavaScript深浅拷贝的几种方式
文章目录 前言深拷贝1. JSON.parse(JSON.strigify(Str))2. lodash.deepclone3. structuredClone 浅拷贝总结 前言 深浅拷贝主要是针对于引用类型而言的 深拷贝 1. JSON.parse(JSON.strigify(Str)) 序列化的作用是存储(对象本身存储的只是一个地址映射,如果断电&a…...

VBA窗体跟随活动单元格【简易版】(2/2)
上一篇博客(文章连接如下)中使用工作表事件Worksheet_SelectionChange实现了窗体跟随活动单元格的动态效果。 VBA窗体跟随活动单元格【简易版】(1/2) 为了在用户滚动工作表窗体之后仍能够实现跟随效果,需要使用Application.Windows(1).Visibl…...

个性化定制的知识付费小程序,为用户提供个性化的知识服务
明理信息科技知识付费saas租户平台 随着知识经济的兴起,越来越多的人开始重视知识付费,并希望通过打造自己的知识付费平台来实现自己的知识变现。本文将介绍如何打造自己的知识付费平台,并从定位、内容制作、渠道推广、运营维护四个方面进行…...

【轮式平衡机器人】——软硬件配置/准备
本系列以轮式平衡移动机器人为例,将使用基于模型设计(MBD)方法进行介绍,涉及基础硬件、软件、控制算法等多方面内容,结合MATLAB/Simulink的强大仿真能力和代码生成能力辅助设计!在此过程中可以系统了解开发…...

中国联通助力吴江元荡生态岸线打造5G+自动驾驶生态长廊
吴江,素有“鱼米之乡”“丝绸之府”的美誉,其地理位置优越,地处太湖之滨。近年来,随着长三角生态绿色一体化发展示范区(以下简称“示范区”)的建立,元荡更是声名大噪,成为众多游客心…...

小白准备蓝桥杯之旅(c/c++b组)
前言:省赛获奖比例高达百分之60,只要比一半的人努力,你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分,c比c多个stl库优势,c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天,坚持每天做…...

Flutter GetX 之 国际化
今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大家起到了…...

349. 两个数组的交集(力扣)(OJ题)
题目链接:349. 两个数组的交集 - 力扣(LeetCode) 个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 给定两个数组 nums1 和 nums2 &a…...

安全帽识别-赋能深圳自贸中心智慧工地
在当今的建筑行业中,安全管理一直是一个至关重要的议题。深圳自贸中心项目在这方面进行了一次有益的尝试——实施智慧工地安全帽识别系统。本文将对这一创新举措进行简要介绍。 项目背景 深圳自贸中心,作为一项标志性建设项目,承载着城市发展…...

代码之外:工程师的成长进阶秘籍
程序员只懂技术能行吗? 为什么说技术人员“说”和“写”总得擅长一个? 你以为的“关注结果”是真的结果吗? 从一线工程师跃升团队管理者一共分几步? 在不断变化的职场环境中,技术人如何保持竞争力并实现自我增值&a…...

openssl3.2 - 官方demo学习 - smime - smsign2.c
文章目录 openssl3.2 - 官方demo学习 - smime - smsign2.c概述笔记END openssl3.2 - 官方demo学习 - smime - smsign2.c 概述 PKCS7联合签名 从N张证书中, 分别得到N对(x509和私钥) 对明文进行签名(只是指定了bio_in和flag), 得到pkcs7* 对此pkcs7进行附加签名者的操作(指定证…...

6.C++对象模型
一.成员变量和成员函数分开存储: 在C中,类的成员变量和成员函数分开存储,只有非静态成员变量在属于类的对象上。 1.空对象的所占内存大小: //成员变量和成员函数分开存储 class Person {};void test() {Person p;cout << &…...

AbstractHttpMessageConverter + easyexcell优雅下载附件
介绍 AbstractHttpMessageConverter 是 Spring 框架中用于处理 HTTP 消息转换的抽象基类。它用于处理来自 HTTP 请求的消息,并将其转换为特定的 Java 对象,或者将 Java 对象转换为 HTTP 响应消息。 这个抽象类允许开发人员创建自定义的 HTTP 消息转换器,以便在 Spring MVC…...

虚拟线程探索与实践
优质博文:IT-BLOG-CN 一、简介 虚拟线程是轻量级线程,极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能,并在JDK 19中发布,JDK 21中最终确定虚拟线程,以下是根据开发者反馈…...

openssl3.2 - 官方demo学习 - mac - poly1305.c
文章目录 openssl3.2 - 官方demo学习 - mac - poly1305.c概述笔记END openssl3.2 - 官方demo学习 - mac - poly1305.c 概述 MAC算法为Poly1305, 加密算法为AES-128-ECB, 用key初始化加密算法 加密算法进行padding填充 对加密算法的key加密, 放入MAC_key后16字节, 将MAC_key的…...

【Python 千题 —— 基础篇】不吉利的数字
题目描述 题目描述 在西方,“13”被称为不吉利的数字,这是因为耶稣与13个弟子共进晚餐时耶稣的第13个弟子出卖了耶稣,且耶稣受难的日期是13日。所以西方的门牌号会跳过13号,假设这栋楼有16户,请为这栋楼的每一户设立门牌号。 输入描述 无 输出描述 依次输出这栋楼每…...

3d模型未响应打不开怎么办---模大狮模型网
在进行3D建模和设计工作时,有时可能会遇到3D模型无法打开的情况,这给工作流程带来了困扰。本文将为您介绍一些常见的原因以及解决3D模型未响应无法打开问题的方法。 一、文件格式检查 首先,确保您使用的文件格式与所使用的软件兼容。不同的3…...

Java-NIO 开篇(1)
NIO简介 高性能的Java通信,离不开Java NIO组件,现在主流的技术框架或中间件服务器,都使用了Java NIO组件,譬如Tomcat、 Jetty、 Netty、Redis、RabbitMQ等的网络通信模块。在1.4版本之前, Java IO类库是阻塞式IO&…...