自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 【shell】筛选未使用的图片

#!/bin/bashassetPath=./src/AssetssrcPath=./srcfor i in $(find $assetPath -name *.png -o -name *.jpg);do # 提取图片名称不包含@3x和扩展名 file=$(basename -s .png $i | sed 's/@[0-9]x//g') if ! grep -q -r $file $srcPath;then echo -e "\033[31m$file not used

2022-04-22 20:52:33 374

原创 windows利用计划任务实现U盘插入自动备份

为了方便备份毕业论文,研究了一下windows使用计划任务实现u盘插入自动备份计划任务配置创建任务随便填个名称新建触发器触发器为分区事件(这样就能实现)操作为启动备份脚本backup.bat@echo off# 进行是否要备份的判断,这里根据路径简单判断了一下,不判断的话,随便插个u盘就会进行备份了。# 有更好的方法欢迎留言交流set SourceFile=I:\自动备份if exist %SourceFile% ( echo 插入移动硬盘) else ( .

2021-05-20 16:36:39 1867

原创 Android Compose(新式声明性界面工具包)体验

开发环境教程实际开发体验和flutter很像,但是实际原理好像不同,flutter中组件都是widget对象,比较容易理解而compose中组件并没有返回值,编译器会对@Composable的方法进行处理,具体原理需要深入了解@Composable官方说明关于@Composable,有几点值得注意:此函数带有 @Composable 注释。所有可组合函数都必须带有此注释;此注释可告知 Compose 编译器:此函数旨在将数据转换为界面。此函数接受数据。可组合函数可以接受一些参数,这些参数

2021-05-06 00:45:10 1135 2

原创 Android RecyclerView轮播图实现 支持放大动画

android studio的模拟器录屏会黑屏,也不知道是什么bug效果演示主要用到了PagerSnapHelper(使RecyclerView滑动表现和viewpager一致)和滑动监听器样式activity_main.xml<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.andro.

2021-05-03 01:41:36 1206

原创 Android 获取控件大小(Android版 Flutter LayoutBuilder)

package com.example.myapplicationimport android.content.Contextimport android.util.AttributeSetimport android.view.ViewGroupimport java.lang.RuntimeExceptiontypealias SizeCallBack = (width: Int, height: Int) -> Unitclass LayoutBuilder : ViewGro

2021-04-30 18:30:46 332 1

原创 Androd 自定义ImageView实现底部裁剪

之前实现使裁剪图片实现的,要获取到ImageView的宽高和图片的宽高,很麻烦现在想想完全可以自定义ImageViewpackage com.example.myapplicationimport android.content.Contextimport android.graphics.Matriximport android.util.AttributeSetimport androidx.appcompat.widget.AppCompatImageViewclass Bot.

2021-04-30 14:55:36 931 1

原创 Flutter 2.0 踩坑记录

flutter版本:2.0.5有时间就写,慢慢填坑目录flutter常用命令空安全支持平台判断Adnroid打包flutter pluginiosWeb启用web支持运行打包起服务Windows启用windows支持运行打包flutter常用命令flutter clean #清空构建和依赖缓存flutter pub get #拉取依赖空安全支持迁移指南要确保你使用的库也支持空安全# 自动升级dart migrate --apply-changes平台判断在web浏览器的环境.

2021-04-27 17:15:36 618

原创 实用命令记录

目录mklink快速启http服务mklink创建软连接(c盘控件不足的时候可以使用)MKLINK [[/D] | [/H] | [/J]] Link Target /D 创建目录符号链接。默认为文件 符号链接。 /H 创建硬链接而非符号链接。 /J 创建目录联接。 Link 指定新的符号链接名称。 Target 指定新链接引用的路径

2021-04-25 14:37:51 280

原创 使用GitHub Actions实现Android自动打包apk

记录一下,免得忘了实现根据tag自动打包并上传至release官方文档workflowname: Android CI# 触发器on: push: tags: - v* pull_request: tags: - v*jobs: build: runs-on: ubuntu-latest # 设置jdk环境为1.8 steps: - uses: actions/checkout@v2 - na.

2021-04-17 19:09:03 10863 3

原创 springboot 配置跨域

@CrossOrigin将其标注在controller上,Controller下的接口全部允许跨域@Controller@CrossOriginpublic class TestController {}配置全局跨域@Configurationpublic class AppConfigurer implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry)

2021-04-14 18:24:02 128

原创 Flutter Dart语法糖

Dart指南代码块还不支持Dart……语法糖 ?.A?.B如果 A 等于 null,那么 A?.B 为 null如果 A 不等于 null,那么 A?.B 等价于 A.B语法糖 ??A??B如果 A 等于 null,那么 A??B 为 B如果 A 不等于 null,那么 A??B 为 A…语法展开void list3Point() { var list1 = <int>[1, 2, 3, 4]; var list2 = <int>[

2021-04-07 17:10:41 552

原创 Intent.FLAG_ACTIVITY_NEW_TASK 与 singletask

原文FLAG_ACTIVITY_NEW_TASK 比较标准解释如下:首先会查找是否存在和被启动的Activity具有相同的亲和性的任务栈(即taskAffinity,注意同一个应用程序中的activity的亲和性相同),如果有,则直接把这个栈整体移动到前台,并保持栈中旧activity的顺序不变,然后被启动的Activity会被压入栈,如果没有,则新建一个栈来存放被启动的activity,注意,默认情况下同一个应用中的所有Activity拥有相同的关系(taskAffinity).所以在不设置为s

2021-03-14 18:29:53 704

原创 springboot 注解文档

机翻注解类型描述ControllerAdvice@Component声明@ExceptionHandler,@InitBinder或 @ModelAttribute方法在多个@Controller类之间共享的for类的 特殊化。CookieValue指示方法参数应绑定到HTTP cookie的注释。CrossOrigin用于允许对特定处理程序类和/或处理程序方法进行跨域请求的注释。DeleteMapping用于将HTTPDELETE请求映射到特定处理程序方.

2021-01-18 00:32:08 330

原创 debian 使用docker搭建nextcloud

docker安装官网安装教程# 卸载旧版sudo apt-get remove docker docker-engine docker.io containerd runc# 添加仓库sudo apt-get updatesudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-commoncurl -fs

2020-12-08 23:47:31 610

原创 Debian安装oh-my-zsh

# 安装zshapt install zsh# 切换zsh,重启终端生效chsh -s /bin/zsh#查看当前使用的shellecho $SHELL# 安装oh-my-zsh(使用gitee源)sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"

2020-12-07 21:33:39 1482

原创 Android 使用AES/GCM加密数据

看了很多文章终于写出来了,记录一下package com.potato.timetable.utilimport android.os.Buildimport android.security.keystore.KeyGenParameterSpecimport android.security.keystore.KeyPropertiesimport android.util.Base64import java.nio.ByteBufferimport java.security.Ke.

2020-11-26 16:44:39 2132

原创 shell 学习

#!/bin/bash#声明方法#!/bin/bash# 声明方法funWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 $10 !" echo "第十个参数为 ${10} !" echo "第十一个参数为 ${11} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !"}str="hello,world" # ""可省

2020-08-17 14:31:22 132

原创 vscode launch.json

官方文档

2020-08-03 11:02:08 418

原创 idea springboot打包image部署到docker

idea插件默认会安装设置远程docker地址

2020-07-12 02:46:44 1386

原创 docker配置ca证书

参考脚本ca证书生成脚本#!/bin/bash# -------------------------------------------------------------# 自动创建 Docker TLS 证书# -------------------------------------------------------------# config# --[BEGIN]------------------------------# 代码,可以随便写CODE="WRETCHANT"

2020-07-12 02:31:20 2073

原创 Android 从uri中获取路径

public static String getPathFromUri(Context context, Uri uri) { try (Cursor cursor = context.getContentResolver() .query(uri, new String[]{Media.DATA}, null, null, null)) { if (cursor != null && cursor.moveToFirst()) { i..

2020-07-09 16:12:59 1212

原创 Android adb指令

adb文档mac配置环境变量vim ~/.bash_profile# 写入以下内容配置环境变量export ANDROID_HOME=/Users/zzl/Library/Android/sdkexport PATH=${PATH}:${ANDROID_HOME}/toolsexport PATH=${PATH}:${ANDROID_HOME}/platform-tools# 更新环境变量(每次重开终端都要更新)source ~/.bash_profile# 获取adb命令帮助adp

2020-07-08 19:01:46 220

原创 生产者消费者 Java

public class App { private int num; /** * 生产 */ public void product() { try { // 生产耗时 Thread.sleep(1000); synchronized (this) { while (num >= 100) { w

2020-07-06 19:11:56 112

原创 JDK8 LocalDateTime & DateTimeFormatter

Date,Calendar,SimpleDateFormat都不是线程安全的如果是 JDK8 的应用,可以使用 Instant 代替 Date,LocalDateTime 代替 Calendar, DateTimeFormatter 代替 SimpleDateFormat,官方给出的解释:simple beautiful strong immutable thread-safeimport java.time.LocalDateTime;import java.time.format.DateTi.

2020-07-06 17:15:13 243

原创 反射获取接口的所有实现类

添加依赖implementation 'org.reflections:reflections:0.9.12'接口package com.example.myapplication.people;public interface IPeople { String say();}实现类package com.example.myapplication.people;public class Student implements IPeople{ @Override pu

2020-07-06 16:44:15 3472 1

原创 Android Studio快捷键从Mac OS改为Win

原理将Mac的Control映射为Command,Command映射为Option,Option映射为control这样与win的快捷键按键习惯应该相同(未长时间测试)

2020-07-04 15:57:01 451

原创 idea springboot 热更新

可以选择更新resources文件夹和同时编译修改文件并更新设置完成后点击跟新即可,比重新编译快很多

2020-06-20 02:33:22 325

原创 RMI学习

远程调用接口package demo;import java.rmi.Remote;import java.rmi.RemoteException;/** * 服务器调用“远程调用接口” */public interface IHello extends Remote { /** * * @param task 必须序列化(因为要进行网络传输) * @return * @throws RemoteException */ ..

2020-06-20 00:50:08 148

原创 python小说爬虫 requests+pyquery+多线程

python小说爬虫 requests+pyquery+多线程import requestsfrom pyquery import PyQuery as pqfrom concurrent.futures import ThreadPoolExecutor# 下载def download(url, encoding="utf-8"): try: respons...

2020-05-05 17:51:27 227

原创 java调用cmd打开指定网址

java调用cmd打开指定网址public static void openUrl(String url) { try { String[] cmd = new String[]{ "cmd", "/C", "start " + url...

2020-04-28 00:32:51 368

原创 两个线程交替相加输出

面试题:两个线程交替输出1-10不知道wait()和notify()一定要在synchronized里,面试写的代码惨不忍睹public class Main { private volatile int count = 1; /** * 输出奇数 */ public void print1() { try { ...

2020-04-23 22:20:28 382

原创 java枚举单例

public enum SingleInstance { instance; SingleInstance() { System.out.println("new SingleInstance"); } public void method(){ System.out.println("SingleInstance method")...

2020-04-23 18:51:07 151

原创 Android四种启动模式 生命周期方法调用区别

Android 四种启动模式standardsingleTopsingleTasksingleInstancestandard每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈AActivity为standard模式# 启动AActivity04-21 15:00:40.687 5013-5013/? D/AActivity...

2020-04-21 15:28:16 341

原创 经典排序算法

import java.util.Arrays;/** * 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 * 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。 * 时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。 * 空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。 */p...

2020-04-21 02:16:59 172

原创 Word美化代码块样式

Word美化代码块样式效果美化方法只是修改样式,不会自动高亮,高亮是ide完成的,美化只是修改下字体大小,加个底色新建样式字体: (中文) 微软雅黑, (默认) 微软雅黑, 字体颜色: 文字 1, 左行距: 固定值 18 磅, 孤行控制, 边框:左侧: (单实线, 浅绿, 2.25 磅 行宽)图案: 清除 (自定义颜色(RGB(246,248,250)))制表位: ...

2020-04-10 18:14:17 1920 2

原创 迷宫寻路-牛客

假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始位置,3-迷宫的出口,大写字...

2020-04-09 19:08:59 266

原创 牛客网-大数相乘

有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。输入描述:空格分隔的两个字符串,代表输入的两个大整数输出描述:输入的乘积,用字符串表示输入例子1:72106547548473106236 982161082972751393输出例子1:70820244829634538040848656466105986748im...

2020-04-09 14:03:16 211

原创 IDEA常用快捷键

IDEA常用快捷键说明快捷键创建类里面任何字段的 getter 与 setter 方法Alt-Insert自动补全Ctrl-Space快速(反)注释Ctrl-/ (//)或Ctrl-Shift-/ (/**/)查看当前方法地声明,连续按两次会显示当前所编辑的类名。Alt-Q创建类的副本Refactor复制选择的块或当前行Ctrl-...

2020-03-26 20:22:44 122

原创 Unity ARPG类游戏 动画、移动、镜头脚本

摄像机控制脚本自由旋转,跟随角色,距离缩放using UnityEngine;public class MoveCamera : MonoBehaviour{ //观察目标 public Transform target; //观察距离 public float distance = 2f; //视角x轴旋转速度 public floa...

2020-03-26 01:20:00 901

转载 Android获取控件高度

问题怎样获取一个控件的长和高。相信非常多朋友第一眼看见这个问题都会认为非常easy,直接在onCreate里面调用getWidth、getMeasuredWidth不就能够获得了吗,可是。事实上是并没有简单的,不信的话,你能够去试一下,在onCreate里面,你是无法获得长宽值的,始终为0。原因这是为什么呢,事实上熟悉view绘制流程的朋友应该一眼就看出来了。在onCreate中。我们的控件...

2020-03-20 14:06:55 519

My Application.zip

Android四种启动模式调用生命周期方法的区别。自己修改AActivity的启动模式

2020-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除