- 博客(40)
- 收藏
- 关注
原创 HarmonyOS:删除多层ForEach循环渲染的复杂数据而导致的一系列问题
好了,正文开始,先列一下,问题的大概顺序大致如下:@State装饰器修饰变量的状态变化只能监听第一层?使用了@ObjectLink装饰器后为什么数据仍然无法被监听?子组件中定义一个箭头函数,在父组件中通过this.传入方法存在this的指向问题?数组在删除item后,index发生混乱?在更新了forEach的源数据后,为什么页面没有被重新渲染?数据的深拷贝与浅拷贝
2024-12-27 19:52:14
1151
原创 IPC之AIDL从认识到实战
什么是AIDL?AIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言。所以简而言之,AIDL就是一种语言。为什么要设计出这样一种语言?它能帮助我们干什么?设计这门语言的初衷是为了实现跨进程通信(IPC)。
2024-09-14 23:57:39
1008
原创 java.lang.IllegalStateException解决合集
1、跑monkey时报错,只定位到了是哪一个模块出的问题,但没有定位代码位置,大概是指Handler的问题因为没有定位到代码中的具体位置,所以我搜了一下网上的解决方案,google翻译给出的结果是:指定的同步屏障令牌尚未发布或已经被删除。大概是指Handler的问题。
2022-11-17 16:54:30
18978
1
原创 fragment 踩坑onPause()
在fragment1中的onResume()中去监听wifi的连接状态,如果在连接状态中,则让其去开启一个动画,连接状态结束后会去关闭这个动画,我给这个动画设置了一个监听,让其在监听到这个动画结束的时候去做一些操作,然后切换到fragment2去切换黑夜白天模式使得整个程序重走生命周期。按理来说,在fragment2中切换模式后,再切回fragment1,这时wifi已经是连接完成状态,那么应该播放了动画,并且收到监听,最开始以为是动画监听的问题,但是打了log发现这个动画竟然都没有开始!
2022-11-02 19:43:12
623
原创 为文字/图片添加按压效果
在res目录下新建一个color目录,然后在这个color目录下新建一个selector_upgrade_ic_press xml文件。selector_upgrade_text_press xml文件。
2022-10-25 21:41:26
945
原创 Android---Uri全解
Uri简介通用资源标识符(Universal Resource Identifier) 简称UriUri 代表要操作的数据,Android 上可用的资源(图像、视频片段)都可以用Uri表示Android的Uri由以下三部分组成1."content://"、数据的路径、标识ID(可选)例如所有图片某个图片UriMatcherUriMatcher 类主要用于匹配Uri。
2022-08-24 17:38:39
22258
原创 Java---泛型
把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊类型,泛型一般表示为比如说: public class ArrayList implements List{...} ArrayList a1=new ArrayList(); //申明一个String类型的数组 ArrayList a1=new ArrayList(); //申明一个Integer类型的数组在这个ArrayList类...
2022-06-09 15:52:30
175
1
原创 面向对象三大特性--封装、继承、多态
任何一个面向对象的编程语言(比如Java、python)都有这三个特征。这三大特性其实也有先后顺序,有了封装才能说继承,有了继承才能说多态将代码和其处理的数据包裹起来形成一个抽象的类,不再对外暴露复杂的数据,这个类提供了访问和修改数据的接口(set()和get())外部如果需要访问和修改这个类中的数据,只能通过这个类中定义的set()和get(),这样的好处是防止外部操作导致了内部数据的改变。1、保护类中的信息2、隐藏细节信息3、提高软件的复用率外部可以随便访问和修改,导致程序不安全1、属性私有化(使用pr
2022-06-09 08:43:35
150
原创 Activity之间传值的六种方式
1、使用Intent的putExtra传递第一个Activity中//创建Intent对象Intent intent = new Intent(OneActivity.this,TwoActivity.class);//设置传递键值对 intent.putExtra("data",str);
2022-05-22 19:14:42
4521
转载 Fragment--碎片、片段
一、fragment是什么呢?fragment是一部分内容构成的片段,体现在屏幕上就是一块内容区域。二、Fragment的静态创建1、添加依赖在项目的build.gradle文件里面添加如下依赖
2022-05-22 18:26:30
225
原创 一个简单的Android登录实现demo
一、项目结构二、登录页面xml布局activity_login.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_.
2022-05-17 12:58:49
870
原创 一个小技巧教你快速访问gitHub
1、首先先找到hosts这个文件,目录如下所示:2、通过cmd去ping下图的github.global.ssl.fastly.net和github.com,得到其分别对应的ip地址3、用记事本打开这个hosts文件,追加我们刚刚ping得的结果#github 69.171.229.11 github.global.ssl.fastly.net 20.205.243.166 github.com ...
2022-05-14 20:29:37
1163
原创 如何快速打开gitHub中下载的Android源码
学习Android以及日后的工作中,我们必不可少的会经常访问git并下载别人的源码,当你下载好别人的源码后先别着急用AS打开,当你做完这些步骤,就能快速的打开别人的源码哦首先,当我们下载好别人的源码后,其目录如下所示:1、首先,我们需要用记事本打开build.gradle,替换下图两部分的内容(下图已经是替换完成了的)阿里云仓库地址: maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } .
2022-05-14 19:59:06
2245
原创 Android中一些基础的UI组件
我们都知道一个页面是由许多的控件组成,所以在我们开始编写一个精美的页面开始,我们先学习一下UI的基本控件吧一、TextView这算是Android页面中最简单的一个控件了吧,它主要的作用就是在页面上显示一段文本信息,就让我们简单的看下下面这个例子吧<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"andr
2022-05-12 21:08:17
1314
1
原创 Java中操作字符串有哪些类?(String、StringBuffer、StringBuilder)
String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String。而StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以
2022-05-12 20:56:25
164
原创 SQL的四类语言
一、DDL(DataDefinition Language)数据库定义语言DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME二、DML(Data Manipulation Language)数据操纵语言由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。DML分成交互型D...
2022-05-12 20:55:49
599
原创 AndroidStudio如何取消默认运行上一项目
有时候我们会遇到在运行一个新的活动时,运行出来的结果是上一个活动的结果,我们该如何解决这个问题呢?我们可以在设置中取消掉默认选择运行上一个文件的选项就可以啦
2022-05-12 14:12:28
1189
原创 Web server failed to start. Port XXX was already in use.【端口被占用解决】
一般来说端口被占用,我们可以换一个端口,或者杀掉该端口的进程,下面看一下解决方案吧1、查看被占用的端口的进程netstat -aon|findstr 端口号2、根据PID找到占用此端口的进程tasklist|findstr 端口号3、结束这个进程taskkill /f /t /im 进程名...
2022-03-30 20:27:44
1287
原创 springboot集成themeleaf报Namespace ‘th‘ is not bound
在html标签中加入命名空间即可,如下:<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
2022-03-30 15:37:24
548
原创 Android的第一行代码
现在我们就从了解Android开始吧!那些Android到底是什么我就不长篇赘述了,想知道Android发展史呀什么的就具体去搜搜吧,毕竟我也是只小菜鸟哈哈哈,肯定还是没有专业老鸟写的好先附一个我百度网盘Android Studio文件的链接吧链接:https://pan.baidu.com/s/1MAzgjTwIaJgEWoq-74Eobw提取码:5ys7一、搭建开发环境搭建开发环境这个就很简单啦,一直next,next就好,只不过在选择Android Studio的安装类型的时候,有.
2022-03-17 17:07:41
3011
原创 UI组件几种常见的布局管理器
一个精致的页面通常由很多控件组成,我们用布局管理器来管理组件的分布、大小,而不是直接设置组件的大小、位置。布局是一种可以放置很多组件的容器,当然除了放置组件外,它还可以放置布局,通过多层布局的嵌套,我们就很编写一个复杂精美的界面(Android的布局管理器本身就是一个UI组件,所有的布局管理器都是ViewGroup的子类),下面就让我们看看有哪些常用的布局管理器吧!一、线性布局(LinearLayout)线性布局可以控制组件横向和纵向排列(通过属性android:orientation控制),但线性
2022-03-17 14:58:35
2678
转载 终于找到Ioc和Aop以及OOP的通俗理解了!
什么是 IoC? IoC 解决了什么问题? IoC 和 DI 的区别? 什么是 AOP? AOP 解决了什么问题? AOP 为什么叫做切面编程?首先声明:IoC & AOP 不是 Spring 提出来的,它们在 Spring 之前其实已经存在了,只不过当时更加偏向于理论。Spring 在技术层次将这两个思想进行了很好的实现。什么是 IoCIoC (Inversion of control )控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java 开发领域对象的创..
2021-09-29 17:47:43
1037
原创 数据结构----排序总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..
2021-09-24 18:59:41
771
1
原创 Switch(x)中得x可以是哪种数据类型?
jdk1.7之前可以是byte、short、char、int、Byte、Short、Character、Integer、Enumjdk1.8之后加入了String实际上只支持int类型:a>基本类型byte、short、char自动转型为int类型b>包装类因为Java得自动拆箱机制可以转化为基本类型,再转型为int类型c>支持String类型是因为switch比较的是String.hashcode的值,它是一个int类型d>支持Enum类型是因为比较的是Enu
2021-09-24 18:57:54
1868
原创 Get请求与Post请求的区别与应用场景
Get请求与Post请求都是Http请求协议中的两种请求方式一、什么时候浏览器向服务器发送的是Get请求?什么时候浏览器向服务器发送的是Post请求?只有在使用<form>表单,且form标签的method属性为“post”的时候,浏览器向服务器发送的是post请求,其余时候发送的都是get请求(包括在form标签的method属性为没有指明为“get”也发送的是getq请求)二、Get请求与Post请求的区别1、数据位置Get请求在请求行中提交数据,格式:URI?name=
2021-08-13 16:43:16
2608
原创 构造方法笔记
构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用。Java中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。Java 构造方法有以下特点:方法名必须与类名相同 可以有 0 个、1 个或多个参数 没有任何返回值,包括 void 默认返回类型就是对象类型本身 只能与 new 运算符结合使用注意:1、如果为构造方法定义了返回值类型或使用 void 声明构造方法没有返回值,编译时不会出错,但 Java 会把这个所谓的构造方法当.
2021-06-28 20:40:01
226
原创 Java中的字符串该如何比较?
首先我们来了解一下“==”操作符与.equals()方法:“==”操作符用于比较两个引用(内存中的存放地址)是否相等,它们是否是同一个对象.equals()方法用于比较两个对象的内容是否相等所以:比较两个对象是否相等时使用“==”比较两个对象的内容是否相等时使用.equals()方法【代码演示】public class caogao { public static void main(String[] args) { //通过new关键字
2021-06-28 16:55:52
312
原创 为什么浮点数不能用“==”比较?
我们用一个for循环对0.1进行9次相加赋值给a;再将0.1*9赋值给b;按道理来说,用“==”对a与b进行判断。a应该是等于b的,而事实是这样吗?好像不是的public class myclass { public static void main(String[] args) { double a=.0; for(int i=1;i<=9;i++) { a += .1; } double b=
2021-06-28 09:50:27
3214
原创 I/O流(三)------转换流
一、概述转换流就是将字节输入流转换为字符输入流(InputStream------->Reader),将字节输出流转换为字符输出流(OutputStream---------->Writer)InputStreamReader类转换流 java.io.InputStreamReader,是reader的子类,是从字节流到字符流的齐奥廖,它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接收平台默认的字符集构造方法:InputStreamR...
2021-06-26 11:47:17
541
原创 I/O流(二)-------缓冲流
一、概述缓冲流,也叫高效流,能够高效读写,是对4个基本的FileXXX流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:java.io.BufferedInputStream、 java.io.BufferedOutputStream 字符缓冲流:java.io.BufferedReader、java.io.BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。二、字节缓冲流.
2021-06-23 21:40:10
121
原创 File类
一 概述Java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。三个单词: file文件、directory:文件夹/目录 path:路径绝对路径和相对路径:绝对路径:从盘符开始的路径,这是一个完整的路径相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。实例代码:public class FilePath {public static void main(String[] a...
2021-06-21 14:25:18
139
原创 反射机制(field、method、constructor)
一、反射机制概述1、什么是反射机制?反射机制有什么用?反射机制:可以操作字节码文件 作用:可以让程序更加灵活。
2021-06-20 15:26:38
515
原创 线程详解笔记
一、进程与线程二、实现线程的两种方式java支持多线程机制。并且java已经将多线程实现了,我们只需要继承就行了。 第一种方式:编写一个类,直接继承java.lang.Thread,重写run方法。 // 定义线程类 public class MyThread extends Thread{ public void run(){ } } // 创建线程对...............
2021-06-14 14:45:01
1186
1
原创 Map集合(HashMap类与LinkedHashMap类)
一概述现实生活中,我们常会看到这样一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合他们存储数据的形式不同。...
2021-06-12 21:09:59
237
原创 单列集合Collection(List接口,set接口)
1、Collection集合1.1 集合概述①在前面基础班我们已经学习并使用过集合ArrayList<E>,那么集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据②集合和数组既然都是容器,他们有啥区别?数组的长度是固定的,集合的长度是可变的。 数组中存储的是统一类型的元素,可以存储基本数据类型值,也可以存储引用数据类型集合存储的都是对象,而且对象的类型可以不一致,在开发中一班当对象多的是皇后,使用集合存储。1.2 集合框架集合按照其存储.
2021-06-11 22:12:19
649
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人