android初学
Intent直译意图
显式意图:构造函数(实参为两个) (当前类对象 this,要跳转的.javaclass文件),
隐式意图:构造方法实参(填写一个)(需要在清单文件配置)系统自动匹配
点击事件:
注册设置点击监听器的常用三种方法
On...Click,1、匿名内部类 适应只需要一个对象,2、外部类即自己写一个类实现监听器接口,3、当前类实现监听器接口(实参填this)) ,可以lambad表达式
常用UI控件
Textview Button (onClick该属性值是个方法名,当用户点击按钮时自动调用该方法 响应用户按下的动作),Edit, Imageview图像视图 ImageButton 图像按钮 ,常用UI布局 线性、相对(用的多)、表格、网格、约束、
Inter inter = new Inter()
activity的启动和结束
onCreate创建活动 : 此时加载页面布局进入初始状态
activity的生命周期(理解)
从当前页面跳转到指定的页面
设置文本内容 text ,可以在string.xml中定义字符串常量,
颜色color 字体size sp官方推荐字体随着手机屏幕变化而变化,高/宽推荐dp,
视图宽/高 :match parent:和上级视图保持一致
parent::父
warp parent 表示与内容自适应,
视图间距的 常用属性
Id控件的唯一标识 findViewById(R.id.)
gravity:指定下级视图位于当前视图的哪个方向
layout_gravity:指定当前视图的对齐方向
<Textview/﹥,简写格式 =
<Textview﹥ </Textview﹥
视图分离,xml文件,最外层的标签为根节点,中间的标签为布局节点,最内层的为控件节点,最外层的标签要有配对的标签头和便签尾。编写ui布局,Java书写逻辑代码
activity理解
活动 四大应用组件之一
作用:提供能让用户操作并且和用户交互的界面!!
组件的特点:反射技术 ,哪些地方用到反射
a.配置文件中配置全类名
b.布局文件定义标签
c.显示意图,new intent (context ,class)
intent理解: 意图 :信使,activity和服务和广播的通信的信使,
意图分类:显示意图 :操作当前应用自己的组件 !!!
赢式意图:操作其他应用自己的组件
intent的使用:
1.显示意图:创建 new intent(context上下文 ,对方的activity类的class),
饮食意图: 与activity与intent filter的action匹配
intent(String action)
2.携带数据
额外数据: putExtra(key,value)内部用map容器保存
有特定前缀的数据 : setData(uri data)
tel:123
smsto:123123
3.读取数据
额外数据怎么取呢 :
xxx getxxxExtra(key),返回值xxx
有特定前缀: uri getData()
Activity使用:重要最需要重要
定义
定义一个类继承activity并且重写生命周期方法
在功能清单文件中使用activity标签注册
启动
一般启动
a.Start activity(intent对象)
b.带回调方法的启动
Start activity for result(intent,请求码)
重写onactivity result方法(requestCode,intent data),去得到返回的数据
结束:
一般结束Finish()
带结果的 :setresult(结果码 ,intent data )
生命周期
Activity界面的状态
运行 可见也可操作
暂停可见,但不可操作
停止 不可见,但对象存在
死亡 对象不存在
Activity的生命周期方法:
三个重要方法!
On create :加载布局和初始化的工作,
on resume:只有经历此方法才进入运行状态
on dessert:在对象死亡之前调用,做一些收尾 清理的工作
任务战和加载模式
1.后进先出,
2.加载模式:
四种模式,默认标准模式
练习题
总结:
A实现一个简单功能的界面应用步骤
a.外观 分析界面组成 定义布局文件
b.行为:编写活动的实现
1.布局文件加载进来,在On create方法中
Set oncontview(指定布局ID)R.layout.xxx
2.调用findviewbyid 去得到所有需要操作的视图对象,并保存为成员变量 ,
3.给识图对象添加设置监听器
点击 ,长按 ,
在回调方法实现响应逻辑。
B.使用影示意图启动系统应用的界面
如何找到action 字符串 :添加activity manager的log日志,利用系统应用源码找到对应的activity的配置
C.权限,当调用一些系统比较重要的功能时需要声明
。
常见的异常有:
a.空指针异常
调用对象的方法或者属性,但对象为null
b.Activity not found异常
没有注册activity在清单文件中或者注册不正确
c.类型转换异常,Text view不能转换为button
常见的异常分析步骤,在日志中,从下往上找,尽量找到causeBy(会提示哪种异常导致的)
找到出异常的类以及行号,点击进入对应的行
相关文章:
android初学
Intent直译意图 显式意图:构造函数(实参为两个) (当前类对象 this,要跳转的.javaclass文件), 隐式意图:构造方法实参(填写一个)(需要在清单文件配置)系统自动匹配 点击事件: 注册设置点击监听器的常用三…...
IDEA修改默认作者名称
User: IDEA提示注释缺少author信息,但自动设置后,名称不是我想要的默认名称,应该如何修改IDEA里默认的作者名称? Kimi: 以下是几种修改IntelliJ IDEA中默认作者名称的方法: ### 方法一:修改File and Code …...
Playwright + MCP:用AI对话重新定义浏览器自动化,效率提升300%!
一、引言:自动化测试的“瓶颈”与MCP的革新 传统自动化测试依赖开发者手动编写脚本,不仅耗时且容易因页面动态变化失效。例如,一个简单的登录流程可能需要开发者手动定位元素、处理等待逻辑,甚至反复调试超时问题。而MCP…...
lodash 学习笔记/使用心得
lodash 学习笔记/使用心得 简单记一下 lodash 的一点学习笔记使用心得,最近也是打算清理一下所有的 dead code,然后发现我们用了好多的 lodash 方法。对比了之前的写法,重新看了一下官方文档,再自己重新动手写了点 util 之后发现…...
计算机操作系统(五) 前趋图和程序执行与进程的描述(附带图谱表格更好对比理解))
计算机操作系统(五) 前趋图和程序执行与进程的描述 前言一、前趋图和程序执行1.1前趋图1.2程序的顺序执行1.3程序的并发执行 二、进程的描述2.1进程的定义与特征2.2进程的基本状态与转换2.3挂起的操作系统和进程的转换2.4进程管理中的数据结构 总结&…...
“统计视角看世界”专栏阅读引导
根据文章主题和逻辑关系,我为您设计以下阅读引导方案: #mermaid-svg-xOnE2zTW20jz5myv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-xOnE2zTW20jz5myv .error-icon{fill:#552222;}#mermaid…...
C/C++静态库的理解和制作
1.什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是⼀种可执行代码的二进制形式,可以被操作系统…...
【redis】主从复制:单点问题、配置详解、特点详解
文章目录 单点问题什么是主从复制主从模式能解决的问题并发量有限可用性问题 配置建立复制通过配置文件来指定端口配置主从查看集群结构 断开复制 特点安全性只读传输延迟 单点问题 分布式系统中,涉及到一个非常关键的问题:单点问题 某个服务器程序&…...
OpenCV HighGUI 模块使用指南(Python 版)
用户让我编写一个 HighGUI 模块的使用指南,包括函数的使用和应用场景的实现。首先,我需要回顾 HighGUI 模块的主要功能:图像显示、视频捕获、鼠标和键盘事件。然后,按照用户提供的结构,整理每个部分的函数详解、代码示…...
PyTorch 面试题及参考答案(精选100道)
PyTorch 的动态计算图与 TensorFlow 的静态计算图有何区别?动态图的优势是什么? PyTorch 的动态计算图和 TensorFlow 的静态计算图在构建方式、灵活性和调试难度等方面存在显著区别。 在构建方式上,TensorFlow 的静态计算图需要先定义好整个…...
android......
事件源,就是视图对象,先注册一个监听器,等待用户触发了屏幕,一旦触发会立即产生一个事件源,事件源会生成一个用户点击的触发事件,此刻监听器会立马监听到 ,然后监听器调用回调方法 UI理解 全称用…...
常见中间件漏洞(tomcat)
CVE-2017-12615 当在Tomcat的conf(配置目录下)/web.xml配置文件中添加readonly设置为false时,将导致该漏洞产生,(需要允许put请求) , 攻击者可以利用PUT方法通过精心构造的数据包向存在漏洞的服务器里面上传…...
计算机网络高频(二)TCP/IP基础
计算机网络高频(二)TCP/IP基础 1.什么是TCP/IP⭐⭐ TCP/IP是一种网络通信协议,它是互联网中最常用的协议之一。TCP/IP有两个基本的协议:TCP(传输控制协议)和IP(互联网协议)。 TCP(Transmission Control Protocol,传输控制协议)是一种可靠的、面向连接的协议。它负…...
国际护士节知识竞赛主持稿串词
在这充满火热激情的季节,我们又迎来了5.12国际护士节。让我们首先向辛勤奋战在护理工作一线的全县广大护士姐妹们道一声: (男)让我们再一次以热烈的掌声欢迎他们:预祝各参赛代表队在护理知识竞赛中赛出风格,赛出水平,取得满意的成绩。 (女)…...
Elasticsearch:可配置的推理 API 端点分块设置
作者:来自 Elastic Daniel Rubinstein Elasticsearch 开放推理 API 现已支持可配置的分块,以便在文档摄取时处理语义文本字段。 Elasticsearch 推理 API 允许用户利用各种提供商的机器学习模型执行推理操作。其中一个常见用例是在索引中支持用于语义搜索…...
数据结构之链表(双链表)
目录 一、双向带头循环链表 概念 二、哨兵位的头节点 优点: 头节点的初始化 三、带头双向链表的实现 1.双链表的销毁 2.双链表的打印 3.双链表的尾插和头插 尾插: 头插: 4.双链表的尾删和头删 尾删: 头删: …...
uniapp从 vue2 项目迁移到 vue3流程
以下是必须为迁移到 vue3 进行调整的要点,以便 vue2 项目可以在 vue3 上正常运行。 1. 在index.js中创建应用程序实例 // Before - Vue 2 import Vue from vue import App from ./App // with no need for vue3 Vue.config.productionTip false // vue3 is no lon…...
案例:网络命名空间模拟隔离主机场景
场景描述 假设我们需要在同一台物理机上模拟两台独立的主机(Host A 和 Host B),它们分别位于不同的网络命名空间中,并通过虚拟以太网对(veth pair)进行通信。目标是展示网络命名空间的隔离性和跨命名空间的…...
23种设计模式-生成器(Builder)设计模式
工厂方法设计模式 🚩什么是生成器设计模式?🚩生成器设计模式的特点🚩生成器设计模式的结构🚩生成器设计模式的优缺点🚩生成器设计模式的Java实现🚩代码总结🚩总结 🚩什么…...
算法训练营第二十二天 | 回溯算法(四)
文章目录 前言一、Leetcode 491.递增子序列二、Leetcode 46.全排列三、Leetcode 47.全排列Ⅱ 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启…...
NLP高频面试题(十一)——RLHF的流程有哪些
随着大语言模型(如GPT系列)的快速发展,RLHF(Reinforcement Learning from Human Feedback,即基于人类反馈的强化学习)逐渐成为训练高质量模型的重要方法。本文将简单清晰地介绍RLHF的整体流程。 一、RLHF …...
测试用例设计方法与Prompt转化:一键生成高效提示词的实用指南
在测试工程师的日常工作中,设计测试用例是确保软件质量的关键环节。然而,如何快速、高效地设计出覆盖率高、逻辑严密的测试用例却是一个常见的挑战。本文将结合常用的测试用例设计方法,探索如何通过Prompt(提示词)转化…...
蓝桥杯备考:BFS最短路径之Meteor Shower S流星雨
本题是一个BFS最短路问题,我们可以先把时刻的矩阵搞出来,哪些时刻哪些方块儿不能走用来剪枝 如果第一次走到永远不会被扎到的区域,那时候就是我们的最短距离 定义方向向量 #include <iostream> #include <queue> #include <c…...
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的 RESTful API 设计:从上手到骨折
<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、开篇整活…...
【深度学习与大模型基础】第8章-概率分布
一、概率质量函数 什么是概率质量函数? 概率质量函数是用来描述离散随机变量的概率分布的工具。它告诉我们,某个离散随机变量取某一个特定值的概率是多少。 举个例子:抛硬币 假设你有一个程序,模拟抛硬币的结果。硬币有两个可能…...
数据结构5(初):排序
目录 1、排序的概念以及常见的排序算法 1.1、排序的概念 1.2、常见的排序算法 2、常见排序算法的实现 2.1、插入排序 2.1.1、直接插入排序 2.1.2、希尔排序 2.2、选择排序 2.2.1、直接选择排序 2.2.2、堆排序 2.3、交换排序 2.3.1、冒泡排序 2.3.2、快速排序 2.3.…...
表达式括号匹配(stack)(信息学奥赛一本通-1353)
【题目描述】 假设一个表达式有英文字母(小写)、运算符(,—,∗,/)和左右小(圆)括号构成,以“ ”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号…...
RabbitMQ 详细原理解析
RabbitMQ 是一个基于 AMQP(Advanced Message Queuing Protocol) 协议的开源消息代理中间件,广泛用于分布式系统中的异步通信、服务解耦、流量削峰等场景。其核心设计围绕生产者、消费者、队列、交换机和虚拟主机等组件,结合 AMQP …...
2025-03-23 学习记录--C/C++-C语言 sprintf()实现将多个值按指定格式拼接成字符串
C语言 sprintf()实现将多个值按指定格式拼接成字符串 举个例子 🌰:将字符串 “m” 与数字 0、1、2 动态拼接成 “m0”、“m1”、“m2”:👇🏻 #include <stdio.h> // 包含标准输入输出库,用于使用输入…...
【小程序开发】完整项目结构长啥样?
Hello,欢迎来到AI技术库。AI写代码的时代,人人都可以成为程序员。欢迎继续【小程序开发】系列课。上节课中,我们学习了【手把手教你小程序开发】什么是大前端?,本节课,我们学习第二篇 小程序的完整项目结构。 本文适合阅读对象: 1. 非计算机专业AI爱好者;2. 小程序开发…...
