自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 scrollView的fadingEdgeLength属性设置不生效

scrollView的fadingEdgeLength属性设置不生效

2023-03-01 10:01:58 444

原创 PYQT5入门基本知识

概念、打包

2023-01-07 15:53:40 237

原创 Litho 使用组件LazyList无法编译通过

Litho问题杂记

2022-11-11 13:46:07 184

原创 OpenGL开发环境搭建(Windwos)

跟着官网搭建OpenGL的开发环境,全程在Windwos 10上完成官网的文档地址在这里,基本跟着做就行,也就是导入依赖那里和我不一样,我照那个样子操作失败了,于是自己导入了依赖。一、下载 VS 2019当然,VS的版本你可以自己选择,但是最好不要太新,否则其它的工具可能没有适配的版本。二、下载GLFW去GLFW的官网下载源代码,看清楚了是源代码,就是下图这个:后面再说需要这里面的什么东西,先解压放到合适的文件夹下。三、下载CMake去CMake的官网下载如下图的压缩包:解压,打开b

2021-10-08 16:57:26 832

原创 HarmonyOS Data Ability关系数据库

之前的文章介绍了Ability,这里附上自己测试的demo想要创建关系数据库可以参考官方示例,如果你已经有了MainAbility与MyAbilitySlice,那么只需要创建一个DataAbility即可。创建Data AbilityFIle > new > Data Ability,DS(DevEco Studio)会自动创建Data Ability,并且在config.json中注册完成,请注意查看config.json中的uri,作为下面中的uri的替换。import ohos

2021-08-24 14:03:07 431

原创 HarmonyOS Ability

HarmonyOS核心理念之一就是Ability,下面简单介绍它。概述Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个Ability),HarmonyOS支持应用以Ability为单位进行部署。Ability可以分为FA(Feature Ability)和PA(Particle Ability)两种类型,每种类型,为开发者提供了不同的模板。FA支持Page Ability:Page模板是FA唯一支持的模板,用于提升与用户交互的能力。一个Pa

2021-08-23 19:05:04 397

原创 HarmonyOS原子化服务

在学习HarmonyOS时,看到了原子化服务的概念,完整整理下它在这个系统中的意义,以下内容均来自官方文档含义什么是原子化服务?背景:随着万物互联时代的到来,设备和场景的多样性,应用开发变得复杂、应用入口更加丰富。在这个背景下,需要一种新的服务提供方式,让服务的提供者和用户获取和使用服务变得更加便捷。因此,“原子化服务”,也就是提供免于安装而提供服务的应用应运而生。定义:原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显示安

2021-08-18 15:39:49 1293

原创 HarmonyOS简介与架构介绍

昨天手机升级了HarmonyOS,觉得还不错,之前就有所了解,现在抽出时间,前来啃下这块石头以下内容均来自HarmonyOS开发文档,只是为了加深记忆所以记下来。官方文档地址概述什么是HarmonyOS?HarmonyOS是华为开发的,一款面向未来的,全场景分布式智慧操作系统。将逐步覆盖1+8+N全场景终端设备。统一、便利、安全是它的理念,面向未来。HarmonyOS基本架构基本架构如下图:内核:HarmonyOS采用多内核设计,目的是为了针对不同的设备,资源受限的设备选用合适的OS内核

2021-08-17 18:40:40 3193

原创 Android DPI

来自Android 官方文档,摘抄一点与DPI有关系的地方,希望理解Android对于屏幕不同显示的基本处理概述像素密度像素密度是屏幕单位面积内的像素数,称为dpi(每英寸的点数)。它与分辨率不同,分辨率是总像素数。密度独立性密度独立性是指,应用在不同像素的屏幕上显示,且保留界面设计的物理尺寸(就是从肉眼来看图片尺寸大小没有变化)。通过提供·密度独立行(dp或者dip)而非像素(px)作为使用的测量单位,Android系统可帮助实现密度独立的屏幕。矢量图形对于简单类型的图形(图标),可以使用矢

2021-08-02 10:27:42 1493

原创 Android获取当前运行应用包名

为了做应用锁需要获取当前运行应用的包名。直接上代码,通过遍历应用栈查找当前运行的应用。import android.app.ActivityManager;import android.app.usage.UsageStats;import android.app.usage.UsageStatsManager;import android.content.Context;import android.os.Build;import android.text.TextUtils;imp

2021-03-31 14:20:10 4052 2

原创 Android NDK新手上路,创建第一个项目

菜鸡上路,创建第一个项目。首先Android Studio上new Project一直next就可以了,当然目录要选自己认为合适的。接着,Build的时候可能会报错,提示处于脱机模式,无法下载依赖。这个在Android Studio中从右侧关闭脱机模式就可以了。接着直接Run一下可以正常运行就行。之后简单介绍一下初始比较重要的三个文件。MainActivity.kt(我用的kotlin)package com.example.myapplicationimport androi

2021-03-26 15:12:49 155

原创 海滨小屋 View/360

读完《设计原本》记下,示例中的要素,以供参考。亮点和特点。背景介绍目标首要目标、其它目标机会约束条件如:预算:没有足够的钱一次建造完整的带4间卧室的小屋。时间:在任何一个夏天,用于建造小屋的时间都是有限的。。。。。。设计决定决策:利用微风。推论:。。。。。。。考虑正面小屋的尺寸设想的开始设计之后,构建之前的设计改动在框架和外墙完成和初次入住之后的涉及改动结果评估...

2021-03-25 16:53:50 97

原创 JsonObject传递Long类型参数时,自动转换为Integer

对于小于Integer.MAX_VALUE的值,JosnObject在接收的时候,会将这个值转换为Integer。对于这个问题,可以使用它们的父类Number来接收,然后使用Number.LongValue()来获取值。 Number pa = (Number) jsonObject.get("longParam"); pa.longValue();...

2021-03-22 13:35:53 2844

原创 Netty接收发送UDP,使用反射进行解析和包装

对于发送的UDP数据包,要以Byte[]的形式包装为DatagramPacket后发送,接收时解析为Byte[],后解析出具体数据。之前我的的文章有Netty接收和发送UDP的实现,这里不再赘述。先展示实体类。import lombok.Getter;import lombok.Setter;import lombok.ToString;/** * @author qs * 2021.3.16 * 数据包头实体类 * ------------------------------

2021-03-17 17:14:40 929

原创 Android 使用数据库GreenDao

为了简化SQL语句的复杂性,Android引入GreenDao来对SQL事务进行函数式的封装,之前使用字符串类型的语句格式,变成了函数式的事务编写。简单说一下使用流程。首先,要引入依赖。// https://mvnrepository.com/artifact/org.greenrobot/greendaoimplementation group: 'org.greenrobot', name: 'greendao', version: '3.3.0'接着创建要要使用的实体类,一个简单的示例

2021-03-09 10:06:32 212 1

原创 Spring Boot除controll外,Service无法注入,导致NullPointer的解决办法

在Controll之外,如果使用@Autowired注入服务,会显示空指针,这是因为SpringBoot自己本身的执行顺序的问题,你的类的创建可能"错过"了珍贵的注入时间。为了解决这个问题,我们需要在正确的时间保存下来我们注入的Service,并且建立引用,防止被Java回收对象,需要使用静态的对象保存它。而为了抓住时机,需要实现ServletContextAware接口,这个为什么可以自己查一下哈(我没搜到)。看看实现:package com.example.demo.Netty.UDP;

2021-03-05 18:21:14 372

原创 Kotlin使用反射创建对象并且为属性赋值

因为需要应对对不同的业务,而每一个业务都对应一个数据模型和自己的字段属性,如果为每一个业务设计解析云端数据的代码,必然导致代码量随着业务的扩展快速增加,因此,使用反射来屏蔽差异,就显得尤为重要。首先创建数据类data class Data(var open:MutableList<String> = mutableListOf(), var close:MutableList<String> = mutableListOf())注意:这里数据类必须要赋默认值,否则后面的

2021-02-27 15:43:59 2666

原创 获取U盘插拔的广播(动态注册)

U盘的插拔消息,需要设置Receiver并且设置过滤器才可以获取到广播消息。注册的方法如下:设置过滤器IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);intentFilter.addAction(Intent.ACTION_MEDIA_R

2021-02-04 17:18:08 669

原创 Gradle 下载超时

解决一下,gradle超时的问题,鸿蒙系统的IDE工具,devOS还是要从国外下载grdle包,造成工具卡死。我的gradle版本是6.3.去这里寻找自己要找的包,下载。在C:\Users\yilei.liu.gradle\wrapper\dists\下是gradle-6.3-all这类包的地址。把自己的压缩包和解压之后的文件对里面的文件(包括压缩包和解压之后的文件)进行替换。重新启动devOS。一定要首先,让工具自己下载,再停止,替换。...

2021-01-05 18:08:33 429

原创 Spring Boot 发起http请求

向别的后端发起http请求,需要用到http请求,记一下。http请求下面,包含了get和post,就不分开说了。在这里插入代码片

2021-01-02 15:55:27 1677

原创 禁止网页缩放(PC和移动端)

把禁止缩放的方式写下来,移动端一大堆,PC当时还是找了半天的。移动端,这个设置缩放的最大和最小倍数都是1.0就可以了。<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0">PC端原则上不可以禁止,因为,这是对于使用者的权利,但是,缩放会导致一些东西乱掉,所以,可以采用覆盖本来操作的方式,使用Jav

2020-12-29 00:16:37 1535 3

原创 Spring Boot+Netty+UDP+C语言客户端通信

使用Netty来完成Spring Boot和C语言客户端的通信。下面将会分别介绍UDP和TCP。TCP只介绍Java的部分,C语言的部分不说。一、C语言客户端和服务端的实现客户端#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd

2020-12-28 18:04:37 990

原创 IDEA文件修改不生效

修改文件之后,修改的部分没有生效,我还以为哪里写错了呢。原来是IDEA的问题。修复也很简单。进入File -> Setting 搜索Runner,然后勾选如下的部分,保存就可以了。重新运行项目,开始的时候会卡一下,等一下就好。...

2020-12-26 15:53:47 2205 1

原创 在云服务器上部署Spring Boot项目和Vue项目

试着项目上云,没想到意外的容易。首先,先买服务器。接着,因为,需要上传必要的文件,因此,安装ftp服务,记得配置文件,修改允许上传文件,而且默认的超级用户是无法远程使用ftp服务的。新创建一个用户,作为工具即可。安装ftp服务,基本操作基本的用户操作接着,来到关键的部分。使用IDEA的项目最根部,接着进入target目录,下面有一个jar文件。使用如下的命令可以启动项目。上传,并配置好JDK和Maven的环境变量java -jar xxxx.jar使用ftp上传这个jar文件。前面配置

2020-12-22 16:43:24 190

原创 ubuntu的Mongodb配置

在ubuntu上配置一哈Mongodb,顺便写一下基本操作。新手司机上路,为了配合响应式webflux,太难了。首先,在ubuntu安装比较简单,直接使用命令安装.sudo apt-get install mongodb接着,配置一下它的配置文件/etc/mongodb.conf。主要有开启认证(auth那个)、更改绑定ip(否则只有本地可访问)。我的配置如下:# mongodb.conf# Where to store the data.dbpath=/var/lib/mongod

2020-12-20 20:17:07 280

原创 Linux添加普通用户

总是记不住,记下来算了。创建普通用户sudo useradd username 修改密码sudo passwd username为用户指定解释程序usermod -s /bin/bash username为用户指定主目录sudo usermod -d /home/username username

2020-12-17 21:27:04 281

原创 Spring Boot 后端和c语言的客户端使用udp通信(双工)

做一个c语言和Spring Boot的后端进行通信的小示例。用的Socket进行通信,要说有啥问题,就是注意c语言的客户端进行消息接收的前提是启动bind来进行端口监听,否则只是监听端口是无法收到消息的。Spring Boot后端的实现,接收和发送消息,我放在了一个类里面。用了线程,防止阻塞。emmm,端口是6678。package com.example.demo.Servers;import java.io.IOException;import java.net.DatagramPacke

2020-12-17 16:41:02 537 1

原创 日语敬语与自谦

表示尊敬。一类动词和二类动词都是去掉ます形的ます后,加上ください。三类动词是汉字部分加ください。特殊的形式:見る → ごらんになる食べる 飲む → 召し上がる行く 來る → いらっしゃるいる → おいでになるする → なさる言う → おっしゃるくれる → 下さるている → ていらっしゃるてくれる → てくださる表示自谦。一类动词和二类动词都是去掉ます形的ます后,加上します。三类动词是汉字部分加します。特殊的形式:見る → 拝見する食べる 飲む → い

2020-12-07 21:55:42 423

原创 日语动词ば形变换、可能形式变换和被动形式、使役形式

分三类。表示假设。ば形变换一类动词。把基本形最后一个音变成え段上的音,加ば。二类动词。把基本形的る变成れば。三类动词。くる → くればする → すれば可能形式变换表示可以做到。一类动词。基本形最后一个音变成段え上的音,再加る。二类动词。る变成られる。三类动词。來る → 来られるする → できる散歩する → 散歩できる被动形式一类动词。ない形的ない变成れる。二类动词。ない形的ない变成られる。三类动词。來る → 来られるする → される4. 使役

2020-12-07 21:37:02 3203

原创 日语动词命令形和意志形变换

同样根据三类动词来介绍。一类动词。把基本形最后的一个音变为相应的え段。二类动词,把基本形的る变成ろ。三类动词。來る → こいする → しろ使用实例。逃げろ。

2020-12-07 20:28:40 1773

原创 日本語动词た形

这个比较简单。就是将て形中的形态,再做如下变换。て形变换て → たで → だ

2020-12-07 17:03:22 184

原创 日语动词基本形

基本形是动词的基本形式。依旧按照三类动词进行说明。一类动词(最后的发音是い段的动词)。去掉ます后,将最后的发音变为う段。かき → かく二类动词。去掉ます后,加る。食べます → 食べる見ます → 見る三类动词。来ます → 來るします → する...

2020-12-07 16:52:32 637

原创 日语动词ない形

动词的ます形到ない形的转换。一类动词,将去掉ます之后,最后一个音变为对应的あ段,再加上ない。另外需要注意い会变为わ,而不是あ。二类动词,去掉ます后,加ない。三类动词。来ます → こないします → しない...

2020-12-07 12:43:04 362

原创 日语形容词

日语的形容词分为两类。一类是以い结尾的形容词。一类形容词作谓语要加です。否定形式是将词尾的い变为く加上ないです或者ありません。过去形式是い变成かっだ加です。否定是い变成く なかっだ 或者  ありませんでしだ。一类形容词可以直接修饰名词。二类形容词不以い结尾的形容词,做谓语加です。过去形式加でしだ。否定では ありません(でしだ)形容名词时加 な です。...

2020-12-07 09:42:00 343

原创 动词て型变换

动词形态变换不同,可以分为三类。动词去掉ます后的最后一个音位于い段的大部分是一类动词。最后的一个音位于え段,大多是二类动词。起きます 見ます也是二类动词,虽然它们最后是い段的。来(き)ます します是三类动词。一类动词变换。去掉ます后,变换最后的一个音。き → いてぎ → いでび み に  → んでち り い → ってし → して三类和二类都是去掉ます然后加で。另外,有个例外。行きます → いって...

2020-12-07 09:41:39 390

原创 Shell Script

记录一些有用的shell script语法。规范性要求在脚本的开始写上事件、作者、需要的环境变量、功能说明等信息readread -p "Please input your first name:" firstname #提示用户输入read -p "PLease input your last name:" lastname echo -e "\nYour full name is:$firstname $lastname"date的使用规范,以及判断用户是否输入信息re

2020-12-03 17:06:12 115

原创 Bash Shell一些命令记录

记录一些觉得比较有用的shell命令。echo 展示文本信息。如,显示环境变量信息。echo $PATH可以使用,man echo查看它的介绍。read读取键盘输入的信息。alias设置别名,unalias取消别名。写入.bashrc中可以永久生效。alias ls='ls -al'/etc/issue里面设置了登录展示信息。标准输出 >(覆盖) , >>(添加)标准输入<, <<错误输出 2>, 2>>;一次

2020-12-03 15:38:12 66

原创 Linux上搭建Vue环境

在Mint系统上搭建个Vue环境。首先,安装Node.js到官网下载合适的版本。建议使用左边的稳定版本。解压到任意的目录。配置环境变量。对照自己的目录修改。#node.jsexport NODE_HOME=/home/oem/applications/node-v14.15.1-linux-x64export PATH=$NODE_HOME/bin:$PATH测试一下,是否配置完成。接着,还是比较重要的,建立软链接。不可省略。sudo ln -s /home/oem/app

2020-11-28 23:44:28 173

原创 Idea上配置Smart Tomcat

之前网上找的资料不知道在说啥,写一个正确的配置方法,亲测。买不起专业版,只能用smart tomcat了。莫得办法。开始配置。首先,在Idea的File->setting->plugins里面搜索tomcat,安装Smart Tomcat。接着,在tomcat官网下载,下载9版本的,10的我这里测试使用不了。下载结束之后,解压到你合适的目录。(哦对了,linux选择tar.gz或者zip,windows选择有windows的,我选的是tar.gz)打开idea的运行配置。

2020-11-28 17:17:47 11074 1

原创 Linux Web之安装配置Mysql

装个Mysql本来以为会很简单,没想到遇到了一些问题。(Mint系统)首先,需要确保你的linux上没有Mysql的残留文件。dpkg --list|grep mysql如果是空的,就是干净的。否则,执行下面的命令进行清除sudo apt-get --purge remove mysql-commonsudo apt-get autoremove清空为止。接着,运行下面的命令安装mysqlsudo apt-get install mysql-server有一部分Renamin

2020-11-27 19:46:19 110

空空如也

空空如也

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

TA关注的人

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