- 博客(59)
- 收藏
- 关注
原创 Android--Retrofit2执行多个请求任务并行,任务结束后执行统一输出结果
场景:后端上传文件接口只支持单个文件上传,而业务需求一次性上传多个图片,因此需要多个上传任务并发进行,拿到所有的返回结果后,才能进行下一个流程。
2023-10-17 16:49:45
1030
原创 Android Studio git未提交本地,回滚了代码
Android Studio 会记录每次保存的版本,通过Android Studio可以回退到任何一次做了更改的版本。:在代码修改完后,欲提交到本地,结果误点了回退,导致写的代码全部回退到了未修改前的状态。点击文件 >> 本地历史记录 >> 显示历史记录,即可查看所有操作的历史记录,点击还原,即可恢复还原回滚前的版本。
2023-03-01 08:56:20
810
原创 Android EditText监听返回true/false与处理两次回调问题
即键盘的按下和抬起两个操作,这里两次回调就是回车按下时,回调一次,回车键抬起时,回调一次。:在监听输入框回车键,回调方法返回为true时,发现其回调方法调用了两次。通过DeBug 发现两次回调action不同,分别是。1.在回调方法下,if的条件中加上。2.使回调方法返回false。
2023-02-21 17:03:35
412
原创 Android与H5(Vue)交互
JS调用Android方法实现dialog弹窗,Android点击弹窗确定/取消按钮调用JS方法,在H5界面展示传递的参数
2022-12-08 16:29:11
815
原创 Android 使用WebSocket通信
APP端实现1.添加依赖implementation "org.java-websocket:Java-WebSocket:1.5.1"2.加入网络请求权限<uses-permission android:name="android.permission.INTERNET" />3.创建客户端类并继承WebSocketClient,需要实现它的四个抽象方法和构造函数import android.util.Log;import org.java_websocket.client
2022-05-24 13:45:08
2751
原创 WebSocket技术的实现
WebSocket什么时websocket?WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。优点:双向通信、事件驱动、异步、使用ws或wss协议的客户端能够真正实现意义上的推送功能。缺点:少部分浏览器不支持。示例:社交聊天(微信、QQ)、弹幕、多玩家玩游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、基于位置的应用、
2022-04-11 23:24:09
3573
原创 EventBus 的使用
EventBus 的使用一、前言二、关于EventBus的概述1、三个角色2.四种线程模型三、EventBus的使用1、导入依赖2、自定义事件封装类3、注册事件4、发布事件5、处理事件四、 普通事件与粘性事件一、前言在进行Android开发时,当涉及大量组件之间的通信,使用Intent、Handler、Broadcast进行模块间通信、模块与后台线程进行通信时,代码量大,而且高度耦合。EventBus简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带
2022-03-21 15:49:51
6068
原创 Java ArrayList数据删除
在Java ,ArrayList中remove方法中常会出现如下报错:Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 4 at java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at Main.remove3(Main.java:44)
2021-12-27 17:01:30
2169
原创 SpringMVC Json交互处理乱码问题
Json数据传输出现乱码:package com.yang.controller;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import com.yang.pojo.User;import org.springframework.web.bind.annotation.RequestMapping;import org.
2021-12-14 08:19:31
96
原创 GWT编译项目问题
记录一次GWT编译项目的时候报错:Loading module 'com.yz.wms.WMS' Translatable source found in... [WARN] No source path entries; expect subsequent failurescom.google.gwt.core.ext.typeinfo.NotFoundException: java.lang.Object at com.google.gwt.core.ext.typ
2021-12-12 00:05:27
349
转载 Integer与int类型的关系
Integer与int类型的关系Integer是int的包装类,int的默认值是0,而Integer的默认值是null(jdk1.5的新特性 自动装箱和拆箱,Integer.valueOf() 和xx.intValue() ),需要注意的是Integer里面默认的缓存数字是-128-127,1、Integer与Integer相互比较,数据在-128-127范围内,就会从缓存中拿去数据,比较就相等;如果不在这个范围,就会直接新创建一个Integer对象,使用 == 判断的是两个内存的应用地址,所以自然不
2021-12-10 09:38:29
472
原创 IDEA 创建SpringMVC全过程
1、新建一个Moudle , springmvc-hello , 点击项目右键添加web的支持!2、导入SpringMVC 的依赖和资源过滤 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4
2021-12-06 14:42:20
4078
原创 spring整合mybatis
完全抛弃mybatis主配置文件,基于spring来注入配置1.导入依赖和配置注意依赖版本:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/
2021-11-18 15:44:43
312
原创 nginx 静态资源配置
location /image/ { alias C:/work/image/; autoindex on; }当请求http://xxx.com/123/abc/logo.png时,会返回 /image/logo.png文件,即用/image替换 /work/image/ location /123/abc/ { root /ABC; }当请求http://xxx.com/123/abc/logo.png时,会返回 /ABC/123/ab.
2021-11-09 17:03:55
1809
原创 Android 数据请求穿中文乱码解决方法
数据请求传递中文时乱码:Android 在提交数据包含中文,传到后台时变成乱码:解决方案:在客户端转码:URLEncoder.encode(s,"utf-8");在服务端解码: URLDecoder.decode(s, "utf-8");测试:public class Test { public static void main(String[] args){ String str = "李四"; String str1 = "%E5%BC%A0%E4%B8%89";
2021-11-09 16:51:07
3013
转载 ISO8601时间格式的转换
java中ISO8601标准时间格式的转换最近对接第三方平台接口,返回的日期是ISO8601标准时间(yyyy-MM-dd’T’HH:mm:ss.SSS’Z’),例:"beginTime": "2018-08-07T14:44:04.923+08:00","endTime": "2018-08-07T14:54:18.183+08:00"我这边需要用String格式(yyyy-MM-dd HH:mm:ss)来接收,试了很多方法,有些不能用,还有些不好用,最终选择的转换的方式如下:先引入jar包:
2021-10-26 15:57:16
4718
原创 2021-10-11 Nginx 反向代理
Nginx配置配置文件内容全局块:配置服务器整体运行的配置指令eg. woker_process 1; //处理并发数的配置events块:影响Nginx服务器与用户的网络连接eg. woker_connections 1024; //支持的最大连接数http块包含 http全局块 、server块[server全局块、location块]########### 每个指令必须有分号结束。##################user administrator administrators.
2021-10-18 09:36:41
86
原创 Util工具类 --hutool 定时任务
hutool功能一个 Java 基础工具类,对文件、流、加密解密、转码、正则、线程、XML 等 JDK 方法进行封装,组成各种 Util 工具类,同时提供以下组件:hutool-aop JDK 动态代理封装,提供非 IOC 下的切面支持hutool-bloomFilter 布隆过滤,提供一些 Hash 算法的布隆过滤hutool-cache 缓存hutool-core 核心,包括 Bean 操作、日期、各种 Util 等hutool-cron 定时任务模块,提供类 Crontab 表达式的定时任
2021-08-19 11:12:26
1823
原创 INET_ATON() 和 INET_NTOA()
当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。相对字符串存储,使用无符号整数来存储有如下的好处:节省空间,不管是数据存储空间,还是索引存储空间便于使用范围查询(BETWEEN…AND),且效率更高通常,在保存IPv4地址时,一个IPv4最小需要7个字符,最大需要15个字符,所以,使用VARCHAR(15)即可。MySQL在保存变长的字符串时,还需要额外的一个字节来保存此字符串的长度。而如果使用无符号整数来存储,只需要4个字节即可。另外
2021-08-18 15:01:53
359
原创 Android Retorfit 请求失败问题
记一次使用Retorfit框架请求数据失败问题:I/System.out: CLEARTEXT communication to 172.25.204.62 not permitted by network security policy为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,
2021-08-03 14:59:28
268
转载 Android Retrofit 请求参数配置
一、请求方式使用Retrofit可以进行GET,POST,PUT,DELETE等请求方式。GET : 向服务器发起数据请求,获取信息。类似于数据库的select操作,只是查询,不会影响资源的内容。POST : 向服务器发送数据,该请求会改变数据的种类等资源。类似于数据库的insert操作,会创建新的内容。DELETE:用来删除某一个资源。类似于数据库的delete操作。PUT : 向服务器发送数据,从而改变信息。类似于数据库的update操作,用来修改内容。二、配置不同的网络请求1、GET请
2021-08-03 11:12:44
1583
原创 Android 监听按钮点击事件
一、实现button点击事件的方法1、匿名内部类2、外部类(独立类)3、实现OnClickListener接口4、添加XML属性按钮: <ImageButton android:id="@+id/scanButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="2
2021-07-28 10:49:21
726
原创 Android学习-UI组件
Android学习-UI组件效果展示基本使用流程Step 1:创建AlertDialog.Builder对象;Step 2:调用setIcon()设置图标,setTitle()或setCustomTitle()设置标题;Step 3:设置对话框的内容:setMessage()还有其他方法来指定显示的内容;Step 4:调用setPositive/Negative/NeutralButton()设置:确定,取消,中立按钮;Step 5:调用create()方法创建这个对象,再调用show()方
2021-06-15 16:48:44
94
原创 Android学习-UI组件-Notification
Android学习-UI组件-Notification效果展示Notification的基本布局组成元素依次是:Icon/Photo:大图标Title/Name:标题Message:内容信息Timestamp:通知时间,默认是系统发出通知的时间,也可以通过setWhen()来设置Secondary Icon:小图标内容文字,在小图标的左手边的一个文字2.Notification的基本使用流程状态通知栏主要涉及到2个类:Notification 和NotificationManager
2021-06-15 16:01:09
164
原创 poi操作Excel
导包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> <groupId>org.apache.poi</grou
2021-03-29 10:51:03
65
原创 Oracle 跨库跨表访问
语法:语法:CREATE DATABASE LINK linkname CONNECT TO username IDENTIFIED BY password USING sqlnet_string;说明:linkname 指的是连接名字,可随便取一个username 连接目标数据库的用户名passwrod 连接目标数据库的密码sqlnet_string 指的连接数据库的名字,注意一定加上引号;...
2021-03-19 16:42:00
152
原创 JDK与eclipse版本对应
官网:https://wiki.eclipse.org/Eclipse/Installation#Install_a_JVM
2021-03-18 12:18:58
862
原创 Eclipse Java项目打包Jar文件方法
Java项目打包Jar文件方法引用了第三方jar包的Java项目打包Jar文件1、准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0Created-By: 1.7.0_72 (Oracle Corporation) Class-Path: lib/http-request-6.0.jar lib/guava-18.0.
2021-03-11 16:38:47
365
原创 正则表达式
正则表达式 - 元字符常用正则表达式大全一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
2021-02-26 17:02:42
152
原创 设计模式七大原则
设计模式七大原则单一职责原则对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2单一职责原则注意事项和细节降低类的复杂度,一个类只负责一项职责。提高类的可读性,可维护性降低变更引起的风险通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则接口隔离原则客户端不应该依赖它不需要
2021-02-20 16:32:10
361
1
原创 SQL常用函数
substr() 函数:substr(string,start,length)参数 必须 参数说明string 必须 指定的要截取的字符串start 必须 规定在字符串的何处开始:正数 - 在字符串的指定位置开始;负数 - 在从字符串结尾的指定位置开始;0 - 在字符串中的第一个字符处开始length 可选 指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符例如:select substr(‘abcdefg’,3,4) from dual;结果是cdefinstr()函数:i
2020-12-22 09:33:47
431
转载 算法的时间与空间复杂度
算法的时间与空间复杂度算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度。)时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。一、时间复杂度我们想要知道一个算法的「时间复杂度」
2020-12-21 16:33:57
298
原创 HTML+CSS学习总结 —手风琴页面的实现
HTML:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * {
2020-12-17 16:06:44
463
原创 查看ORACLE数据库被锁的表
查看数据库有没有被锁的表select a.object_name,b.session_id,c.serial#,c.program,c.username,c.command,c.machine,c.lockwait from all_objects a,v$locked_object b,v$session c where a.object_id=b.object_id and c.sid=b.session_id;--查看数据库有没有被锁的表查看被锁原因select l.session_id
2020-12-17 15:12:35
1739
原创 HTML+CSS学习总结 — 设计登录注册界面
一、HTML页面代码如下:登录界面<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>登陆界面</title> <link rel="stylesh
2020-09-14 15:43:14
2387
原创 Oracle 11g 学习笔记-17(数据库的导入和导出EXPDP和IMPDP)
1-数据库导出和导入的命令有哪些?导出:exp和ecpdp EXPDP HELP=Y可查看参数和用法导入:imp和impdp IMPDP HELP=Y可查看参数和用法2-【EXPDP导出数据】 createdir 代码的编写和注释… --创建DIRECTORY对象,授权scott使用该目录的权限create directory dump_dir as 'd:\rj\app\dump';grant read,write on directory dump_dir to scott
2020-07-21 14:07:22
736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人