<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_36050563的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_36050563</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_36050563]]></copyright><item><title><![CDATA[我重构了RuoYi]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/147727428</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/147727428</guid><author>qq_36050563</author><pubDate>Tue, 06 May 2025 09:25:29 +0800</pubDate><description><![CDATA[最近一直在研究Vben5 Admin这个项目，github高居28K的star，但是网上对其褒贬不一，有的说非常好用，有的说过度封装。但是我觉得他的UI界面是真的不错，功能也比较丰富。而且二次封装的vxetable、表单等组件如果你熟悉之后开发一个正常的页面非常的快，公司一直用的RuoYi分离的版本。始终觉的他这个后台管理页面有点丑，于是就有了基于Vben5 Admin进行重构前端的想法，断断续续大概耗时一个月左右的时间，有需要的JYM可以看看ruoyi-vue-vben5，当前能顺便给个star就更好了。]]></description><category></category></item><item><title><![CDATA[手把手教你系列之html基础]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/122573273</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/122573273</guid><author>qq_36050563</author><pubDate>Wed, 19 Jan 2022 09:10:17 +0800</pubDate><description><![CDATA[公司最近android项目没有什么需求，闲来无事准备学习一下前端的东西，感觉还蛮有意思的，毕竟现在公司要的是T字型人才。这个系列笔记是我在写前端代码中认为比较重要的一些东西作为一个记录，以便之后可以作为一个翻看的教程。毕竟如果工作中长时间不用的话任何知识的遗忘曲线度都是非常高的，可能讲的不是很深入但都是平常工作中能用到的，毕竟面试造火箭，工作拧螺丝。]]></description><category></category></item><item><title><![CDATA[Java 位运算]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/115695738</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/115695738</guid><author>qq_36050563</author><pubDate>Wed, 14 Apr 2021 12:44:54 +0800</pubDate><description><![CDATA[Java 位运算
前言
​	最近在重学java基础，虽然自己本身是做android开发的。包括现在kotlin已经成为google推崇的第一编程语言。其实我认为kotlin更像是站在巨人的肩膀上开发，他从来不是为了取代java而出现的。因为kotlin文件最终也会编译成class文件，感觉自己越学越不会或者说是感觉现在不知道该学什么。所以现在打算重新学习，从Java基础开始。老话说的好“地基不牢，地动山摇”。越是学习越觉得应该返璞归真。
位运算
​	虽然在开发中不经常使用位运算，但是在翻看源码的时候会时不时]]></description><category></category></item><item><title><![CDATA[Android  app更新适配安卓10、11版本]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/115214881</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/115214881</guid><author>qq_36050563</author><pubDate>Thu, 25 Mar 2021 18:02:41 +0800</pubDate><description><![CDATA[Android  app内部更新适配安卓10、11版本
前言
​	App内部更新现在基本每个app中都有，由于安卓各大应用市场不统一，不像Ios那样只有一个应用商城。并且现在安卓已经更新到11版本了，中间有几个版本还需对App内部更新做适配，所以说这里记录一下。本笔记目前适配Android11版本。本文只讲下载和安装的核心，不对更新版本的校验和更新弹出框做优化，有需要的可以自行添加。这里参考了android两位大神的文章https://blog.youkuaiyun.com/lmj623565791/article/d]]></description><category></category></item><item><title><![CDATA[JetPack  Room的基本使用]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/113889392</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/113889392</guid><author>qq_36050563</author><pubDate>Sat, 20 Feb 2021 18:34:50 +0800</pubDate><description><![CDATA[JetPack  Room的基本使用
今天和大家一起来学Jetpack库中Room数据库的使用，之前也使用过Litepal、greenDao的第三方ORM(对象关系映射)数据库。以后准备在项目中使用JetPack全家桶，Room是google官方推出的ORM数据库，势必要学习一波。

技术栈
本项目中用到的技术栈

kotlin
协程
viewbinding

项目前期准备
apply plugin: 'com.android.application'
apply plugin: 'kotlin-andro]]></description><category></category></item><item><title><![CDATA[手把手带你用vue-admin-template实现动态权限管理（二）]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/113175944</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/113175944</guid><author>qq_36050563</author><pubDate>Tue, 26 Jan 2021 11:11:31 +0800</pubDate><description><![CDATA[手把手带你用vue-admin-template实现动态权限管理（二）
前言
手把手带你用vue-admin-template实现动态权限管理（一）如果没有看过上一篇文章的同学，建议看一下上一篇文章。
前期储备
本项目技术栈node.js、express、mysql
本节目标
要实现动态权限让后台返回，那势必需要将路由表存入到数据库。现在项目中一般采用的是前后端分离的模式，你跑过去跟你们的后台java、php开发人员说一通他不一定听的懂。所以这节我们就通过node.js、express、mysql实现权限表]]></description><category></category></item><item><title><![CDATA[手把手带你用vue-admin-template实现动态权限管理（一）]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/112990775</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/112990775</guid><author>qq_36050563</author><pubDate>Fri, 22 Jan 2021 17:08:11 +0800</pubDate><description><![CDATA[手把手带你用vue-admin-template实现动态权限管理（一）
前言
​	最近一直在研究用Vue、Element-Ui搭建一个后台管理系统，于是在github网站上找到 了一个star高居64.3K的项目vue-element-admin。怀着激动的心情赶紧下载下来跑了一下，效果属实不错，还有官方的说明文档网站vue-element-admin。
前期储备
​	本项目技术栈基于 ES2015+、vue、vuex、vue-router 、vue-cli 、axios 和 element-ui掌握这些或]]></description><category></category></item><item><title><![CDATA[移动web适配方案之rem]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/111476915</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/111476915</guid><author>qq_36050563</author><pubDate>Mon, 21 Dec 2020 16:00:47 +0800</pubDate><description><![CDATA[移动web适配方案之rem
1.概述
在我们的印象中移动web的适配有：百分比适配、flex适配（其实也是一种百分比）、bootstrap的栅格系统。而以上这几种方案只能做到宽度的适配，不能做到高度的适配。这时候就要使用rem进行适配了。
2.什么是rem
rem是相对单位,是基于html根元素的font-szie计算出来的。默认情况下浏览器的根元素的font-szie是16px。那么1rem=16px,那这样的话我们是不是可以通过媒体查询来改变html根元素的font-size,然后css页面中涉及px单]]></description><category></category></item><item><title><![CDATA[Less语法学习]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/111045963</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/111045963</guid><author>qq_36050563</author><pubDate>Fri, 11 Dec 2020 17:23:42 +0800</pubDate><description><![CDATA[Less基础语法学习
1.介绍
​        之前写CSS样式的时候感觉毫无逻辑可言，而且不像后端代码那样支持变量和函数。而Less语言作为CSS的扩展，不仅与CSS向后兼容，而且它添加的其他功能都使用现有的CSS语法。尤其是配合上rem、媒体查询可以实现移动web的适配工作，而且可维护性非常好。
2.配置
​		用npm install less --g 安装less完成后，这里最好使用webstrom开发工具配置一下less，因为浏览器是不认识less的最终还是要将less编译成css，这里不做过多]]></description><category></category></item><item><title><![CDATA[Kotlin基础语法第一篇]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/110238898</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/110238898</guid><author>qq_36050563</author><pubDate>Fri, 27 Nov 2020 17:45:15 +0800</pubDate><description><![CDATA[Kotlin基础语法第一天
1.变量
//kotlin 定义变量用var 定义常量用val,这里没有加数据类型是因为kotlin有类型推导机制
var a = 10
val b = 20
//完整的定义如下
var a:Int = 10
val b:Int = 20

2.函数
//函数的定义 fun关键字必写，后面跟上方法名称最后是驼峰命名法，然后是小括号参数列表，后面跟返回值如果没有就不写
fun methodName(param1:Int,param2:Int):Int{
    return par]]></description><category></category></item><item><title><![CDATA[Android-jsoup爬虫]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/109982536</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/109982536</guid><author>qq_36050563</author><pubDate>Mon, 23 Nov 2020 08:59:46 +0800</pubDate><description><![CDATA[Android   Jsoup爬虫
​    最近项目中需要用到一些数据，苦于没有数据源。在网上各种搜罗爬虫的第三方工具：火车头、八爪鱼这些都不太理想，偶然间发现github上有一个java开源的项目“jsoup”利用java代码去操作网页的元素，感觉可行。今天就给大家带来在android中如何使用jsoup爬虫的教程。
1.新建android工程，导入jsoup包
1.首先将jsoup的包下载下来，他是以jar包的形式提供的，也可以使用依赖的方式（这里我是用jar的形式）。下载地址：https://jso]]></description><category></category></item><item><title><![CDATA[移动Web拍照以及相册选择照片]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/109710952</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/109710952</guid><author>qq_36050563</author><pubDate>Sun, 15 Nov 2020 22:12:02 +0800</pubDate><description><![CDATA[移动Web拍照以及相册选择照片
在做移动web开发的时候经常遇到上传图片，一般两种方式，拍照和相册中选择。今天我们就来讲讲如何实现。

1.首先需要用到input标签
&lt;input type="file" accept="image/*" onchange="changeImage(this)" multiple="multiple"&gt;

这里type选择file，accept限制选择文件的类型，这里是图片类型，*标识图片的后缀如：jpeg、png等 ，onchange监听选择图片的方法，mul]]></description><category></category></item><item><title><![CDATA[CSS 一文搞懂height、line-height]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/109568944</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/109568944</guid><author>qq_36050563</author><pubDate>Mon, 09 Nov 2020 09:12:06 +0800</pubDate><description><![CDATA[CSS 一文搞懂height、line-height
借用网上的一张图

行距=line-height-font-size
当line-height小于font-size

&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;
    &lt;style type="text/css"&gt;
       ]]></description><category></category></item><item><title><![CDATA[CSS 一文搞懂定位]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/109390528</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/109390528</guid><author>qq_36050563</author><pubDate>Fri, 30 Oct 2020 18:22:30 +0800</pubDate><description><![CDATA[CSS	一文搞懂定位
1.定位的种类
CSS中定位有四种




属性名
属性值
作用




position
static
默认的定位


position
relative
相对定位


position
absolute
绝对定位


position
fixed
固定定位


static默认的定位不作讲解，块级元素逐行排列，行内元素一次排列。
2.relative相对定位
使用相对定位的元素回去找第一个使用定位的父元素，且使用了相对定位的元素原来的控件还占据。

如果我对最外层的div设置属性p]]></description><category></category></item><item><title><![CDATA[Android流式布局实现]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/109206247</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/109206247</guid><author>qq_36050563</author><pubDate>Wed, 21 Oct 2020 17:42:52 +0800</pubDate><description><![CDATA[Android流式布局实现
通过辛勤工作获得财富才是人生的大快事。
如何通过代码实现类似于一个一个的textview控件放入父控件中，如果一行放不下自动换行呢？今天我们就来实现这个效果，本文的目的旨在了解其原理，如果需要应用到时间项目中还需完善，废话不多说上图！

1.创建一个类集成子ViewGroup
这里重写下列几个方法，FlowLayout(Context context, AttributeSet attrs)用于再布局文件中使用；LayoutParams generateDefaultLayout]]></description><category></category></item><item><title><![CDATA[数据结构及算法-排序]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/109054223</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/109054223</guid><author>qq_36050563</author><pubDate>Tue, 13 Oct 2020 16:21:16 +0800</pubDate><description><![CDATA[数据结构及算法之排序
业精于勤，荒于嬉；行成于思，毁于随。——韩愈
最近有学习几个排序算法，记录下来以便之后用到。这里主要讲四个算法：选择排序、冒泡排序、插入排序
、快速排序。
选择排序
选择排序通俗的讲就是每次从数组中找出最小值与第一个位置交换，如此往复。选择排序是：不稳定排序、时间复杂度是O(n²)，废话不多说直接上图演示。
演示图
我们列出一个数组int[] arr = {22,7,10,1,5,24,6,23}


java代码实现
public class Sort {
    private s]]></description><category></category></item><item><title><![CDATA[Android-jetpack系列之初探LifeCycle]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/108075977</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/108075977</guid><author>qq_36050563</author><pubDate>Tue, 18 Aug 2020 14:57:21 +0800</pubDate><description><![CDATA[Android-jetpack系列之初探LifeCycle1.介绍2.实战3.普通写法以及打印的日志4.来看看LifeCycle的实现方式吧
1.介绍
   LifeCycle是可以感知Activity和Fragment生命周期函数的组件，这样的话可以在页面开启和销毁的时候做一些事情，比如一个定时器功能在页面可见的时候计时，页面不可见的时候暂停。

2.实战
   ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020081814195155.jpg?x-oss-proc]]></description><category></category></item><item><title><![CDATA[Android-jetpack系列之初探DataBinding]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/108059990</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/108059990</guid><author>qq_36050563</author><pubDate>Mon, 17 Aug 2020 17:36:28 +0800</pubDate><description><![CDATA[Android-jetpack系列之初探DataBinding1.介绍2.用法1. 开启databinding2. 创建布局并转换为Databinding布局3. 创建实体类并引入4. Activity中设置5. 实现效果
1.介绍
DataBinding是一个用于将数据绑定到应用界面布局文件中view元素的组件，能够避免我们手动重复逻辑，例如findViewById、setText等。

2.用法
1. 开启databinding
    buildTypes {
        release {
  ]]></description><category></category></item><item><title><![CDATA[Android反编译，看这一篇就够了]]></title><link>https://blog.youkuaiyun.com/qq_36050563/article/details/104028174</link><guid>https://blog.youkuaiyun.com/qq_36050563/article/details/104028174</guid><author>qq_36050563</author><pubDate>Sat, 18 Jan 2020 11:00:07 +0800</pubDate><description><![CDATA[Android反编译，看这一篇就够了准备工具dex-tools编译步骤操作步骤
准备工具
1.apktool.jar
2.luyten    注：可能有人会用jd-jui我在使用这个工具的时候出现有些class文件中的代码显示为.java编译后的类似于汇编语言==
3.dex-tools   注：这个工具说明一下，我在网上找编译好的，在反编译.class文件的时候有时候会报错。最后我在GitHub...]]></description><category></category></item></channel></rss>