自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

古道西风

吾生也有涯,而知也无涯,以有涯随无涯。

  • 博客(108)
  • 资源 (5)
  • 收藏
  • 关注

原创 ScrollView控件不能撑满全屏问题的解决方案

今天开发的时候,ScrollView不能撑满全屏,这个问题一想了很多方案,最后记一下笔记初始布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

2020-09-21 12:00:23 1347 2

原创 Android系统截屏方案

系统截屏

2021-04-28 14:14:55 283

原创 Java到Kotlin入门,这一篇就够啦

java和Kotlin语法比较,更快的入门kotlin

2021-04-05 22:13:48 500

原创 Android入门项目(八)Android流式筛选弹框

12

2021-01-20 13:11:56 462

原创 JetPack(四)DataBinding大法好

接着上一篇JetPack(三)LiveData利刃出鞘, 我们再来会一会神奇的DataBinding在上一篇的demo中,我们会发现Activity里有很多findViewById,和设置监听的重复代码。想必大家都很烦吧,烦就对了,JetPack给我们带来了DataBinding。我们先来改造一下demo:添加DataBinding布局中使用在xml中,光标移到父布局,Alt+Enter快捷键添加DataBinding工具会自动生成data标签,里面的name自己取就行,type是和View

2020-11-19 18:21:54 833 2

原创 JetPack(三)LiveData利刃出鞘

接着上一篇https://blog.csdn.net/m0_37293461/article/details/109777577, 我们再来了解一下LiveData在上一篇的demo上加上LiveDataMyViewModelpublic class MyViewModel extends ViewModel { private MutableLiveData<Integer> number; /** * 保证linkedNumber不为空 *

2020-11-18 17:22:36 1061

原创 JetPack(二)ViewModel小试牛刀

我们先来写个demo,效果如下点击按钮,数字加一效果具体实现activity_main.xml(通过ConstraintLayout拖拽实现的)<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schema

2020-11-18 16:56:00 1289

原创 JetPack(一) JetPack入坑指南——不会吧不会吧,不会还有人不会用JetPack吧

优点官网介绍简单入坑传统的MVC架构ViewModelLiveDataDataBinding数据绑定个人心得

2020-11-17 16:30:51 12766

原创 自定义View(六)动手写一个带搜索历史的搜索框

前言现在很多Android项目都会用到带搜索历史的搜索框,特别是电商APP效果图实现思路这里主要是历史记录怎么实现思路一,用RecyclerView历史字段的部分用相对布局里面放一个RecyclerView,这里很容易想到RecyclerView。因为我们可以把历史的list看成一个集合,然后用RecyclerView来添加和删除历史,其中每个item自带阴影部分和padding。删除的时候有两种方案,一是点击删除按钮全部删除集合里的数据,二是长按item会显示删除按钮只删除对应的item。

2020-10-30 11:15:53 367

原创 这个世界会好吗

妈妈,他们抛弃了我像你经历的那样,抛弃了我妈妈,我是多么爱你当你歌唱的时候,我爱你只是那些猛烈的情绪在睡不着的时候折磨着我我那逐渐下坠的过去在没有星星的夜里连着你妈妈,我会在夏天开放吗像你曾经的容颜那样妈妈,这种失落会持久吗这个世界会好吗忘记一些隐秘的委屈在回头观望的时候丢失了自己我那不受把握的身体从某一天开始就在寻找你妈妈,我爱你妈妈,我居然爱上了他,像歌唱一样就爱上了他妈妈,当你又回首一切,这个世界会好吗妈妈,我是多么恨你当你沉默的时候,我恨你...

2020-10-23 15:48:44 427

原创 自定义View(三)Android 自定义带圆角矩形边框的TextView

效果图实现思路这里就中规中矩的绘制就行,直接贴代码了,注释很想详细public class BorderTextView extends AppCompatTextView { private int strokeWidth; // 边框线宽 private int strokeColor; // 边框颜色 private int enableColor; // 不可点击颜色 private int contentColor; // 背景颜色

2020-10-23 14:56:11 2473

原创 自定义View(四)自定义图片和文字居中的TextView

思路:很简单,就是利用getCompoundDrawables()方法拿到一个数组Drawable[] drawables这里的drawables数组是有四个值,分别是drawables[0]、drawables[1]、drawables[2]、drawables[3]这四个值分别对应文字左、上、右、下的图片Drawable值 最后再计算宽度,来绘制移动画布进行自适应实现图片和文字居中的效果。具体请看下面的onDraw()方法实现实现:package com.yan.myview.view;

2020-10-20 16:06:58 566

原创 Android自定义View扫盲篇——自从会了自定义View,腰不酸了,腿不疼了,一口气爬到了六楼

结合鸿洋大神的课程,简单的对View进行扫盲,希望对你有所帮助课程地址:https://www.imooc.com/learn/579为什么要自定义View?特殊的效果,比如定义一个正方形View;控件和用户交互的方式,比如TextView需要滑动文字;有些地方的控件需要复用,比如可计数文本框。如何自定义?怎样声明和获取自定义属性?测量onMeasure初识测量的模式,EXACTLY是明确的值(100dp或match_parent),AT_MOST大小不能超过冒个值(warp_

2020-10-16 17:11:06 256

原创 Android入门项目(七)Android的图片选择器

效果图实现思路如何实现照片动态添加?看看上面的图片有动态效果,这里很容易想到使用RecycleView。其中每一张图片就是一个单独的item,图片的显示和添加的逻辑在Adapter里面写,然后在Activity中给Adapter传值。这里要求灵活运用RecycleView;如何删除图片?我们可以点击图片长按监听,然后拿到对应图片的item值,对其进行删除。当然demo中的逻辑是图片上传成功了就显示删除图标,没有放在长按监听中。显示图片的正方形View怎么实现?自定义一个实现Rel

2020-10-14 15:27:16 478

原创 Android架构(五)组件化思想理解

组件化思想理解

2020-09-17 22:12:22 235

原创 Android架构(四)MVC、MVP、MVVM总结

MVC、MVP、MVVM总结

2020-09-17 22:11:24 196 2

原创 Android架构(二) MVP

MVP

2020-09-17 22:09:22 145

原创 Android架构(一) MVC

开始 mvc了

2020-09-17 22:08:38 220 1

原创 自定义View(五)自定义RadioButton点击效果

点击点击

2020-09-17 22:03:57 393

原创 自定义View(一) Android 可计数EditText实现

计数开始咯

2020-09-17 22:01:54 520

原创 自定义View(二)Android 自定义EditText一键删除&自定义样式

奥利给

2020-09-17 22:00:26 267

原创 antdesign 处理props不可变

这里fork一下自己在开发中遇到的问题:我是通过@connect来获取model传过来的接口数据list来填充page中的Table数据,这时因为Table表单有删除操作,删除之后需要改变list的值,而props对象刚好不可变。这时我们应该如何处理?@connect(({ upload }) => ({ list: upload.list, loading: loading.effects['uploadhistory/getUploadHistoryList'],}))1.现在s

2020-06-04 17:45:51 891

原创 【ES6】语法入门

let和const区别var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问,值可变可以修改。const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,值不可变不能修改。<script type="text/javascript"> // 块作用域 { var a = 1; let b = 2; const c = 3;

2020-06-03 11:24:09 153

原创 IntentService源码分析

我们带着问题来看源码!一. IntentService如何单独开启一个新的工作线程?@Overridepublic void onCreate() { // TODO: It would be nice to have an option to hold a partial wakelock // during processing, and to have a static...

2019-12-23 12:02:27 154

原创 springboot 非controller类引用service

今天写springboot项目时,发现控制器中的逻辑代码过多,就想把多余的代码放在util类中。但是util中调用service方法不能直接调用,经过尝试问题解决,并做一下笔记。一、工具类写法@Componentpublic class ExcelReleaseUtil { @Autowired private TperformanceService performance...

2019-12-12 17:27:27 993

原创 layui 下拉框动态获取子项

springboot项目里要用到下拉框动态更新的功能,这里记一下。子项的内容是从数据库中获取的字段。一、最终效果二、html<div class="layui-input-inline"> <select id="getGuid" name="Guid" lay-search style="width:190px;height:35px"> <o...

2019-11-19 19:56:06 669

原创 springboot上传文件报错:org.springframework.web.multipart.MultipartException: Could not parse multipart

情景:springboot项目打包之后在Linux服务器部署,上传文件报错:org.springframework.web.multipart.MultipartException: Could not parse multipart…原因:Linux系统会自动删除项目承建的临时文件夹,这个文件夹刚好是上传保存的路径,所以上传文件报错解决办法:重启服务,这里只能暂时解决问题;修...

2019-11-11 20:35:49 2545

原创 66 加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。思路分...

2019-10-21 22:20:41 132

原创 58 最后一个单词的长度

给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明: 一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5思路分析:字符串遍历,从字符串末尾开始向前遍历,其中主要有两种情况;第一种情况,以字符串"Hello World"为例,从后向前遍历直到遍历到头或者遇到空格...

2019-10-21 20:35:29 123

原创 53 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路分析:这道题用动态规划的思路并不难解决,比较难的是后文提出...

2019-10-20 22:34:07 134

原创 Android9.0 源码下载和编译

一 . 安装Ubuntu虚拟机参考在VirtualBox 6虚拟机上安装Ubuntu Linux 18.04操作系统这里我是参考这篇博客的安装的,需要注意的是Ubuntu的版本一定要是稳定版的,官方长期维护的(带LTS)二 . 下载repo工具安装Gitsudo apt-get install git创建bin,并加入到PATH中mkdir ~/binPATH=~/bin:$...

2019-10-14 22:16:30 5770 1

原创 35 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0...

2019-10-11 20:52:19 110

原创 27 移除元素

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均...

2019-09-30 10:55:43 148

原创 24 两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 :给定 1->2->3->4,你应该返回 2->1->4->3. 方法一(直接遍历链表,常规方法):思路分析:这里就是常规思路了,终止判断条件是当前节点和当前节点的后继是不是空,然后交换节点的值就行了。这里有一个预指针的...

2019-09-29 19:11:59 115

原创 21 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 :输入:1->2->4, 1->3->4输出:1->1->2->3->4->4方法一(直接遍历链表,并且拼接成新的链表返回):思路分析:这里很简单,就是遍历两个链表,比较对应节点的值大小,进行排列,然后赋值给新的链表,最后返回新的链表...

2019-09-23 22:23:03 124

原创 Dart语法——看这一篇就够了

重要概念所有能够使用变量引用的都是对象,每个对象都是一个类的实例。在Dart中甚至连数字、方法和null都是对象。所有的对象都继承于Object类。使用静态类型可以更清晰的表明你的意图,并且可以让静态分析工具来分析你的代码,但这并不是牵制性的。(在调试代码的时候你可能注意到 没有指定类型的变量的类型为dynamic。)Dart在运行之前会先解析你的代码。你可以通过使用类型或者编译时常量来帮...

2019-09-21 10:21:31 2412

原创 19 删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的n保证是有效的解题思路:因为是链表不能像数组一样直接定位,所有必须得遍历。整体思路是让前面的指针先移动n步,之后前后指针共同移动直到前面的...

2019-09-09 20:55:19 438

原创 LeetCode打卡提纲

写在前面:之前秋招时刷了很多LeetCode题目,虽然总是被打击,但是还是坚持刷题。人艰不拆吧,现在公司不太忙,想捡起来写一下博客,刚好也是复习一下。谢谢小老弟们关注咯,一起加油,搬砖加油!!!刷题提纲:1.两数之和2.两数相加3.无重复字符的最长子串7.整数反转9.回文数13.罗马数字转整数14.最长公共前缀15.三数之和16.最接近的三数之和19.删除链表的倒数第N个节...

2019-09-07 23:40:47 602

原创 13 罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如:罗马数字 2 写做...

2019-09-07 23:29:15 270

原创 14 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 " "。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。注:所有输入只包含小写字母 a -z解题思路:当字符串数组长度为0时则公共前缀为空,直接返回...

2019-09-06 17:42:58 337

省市区三级联动插件

省市区三级联动插件,直接在开发中就可以用了,改一下json数据,插件也很友好兼容

2018-09-23

JDK6API中文参考手册[沈东良制]

初学者打开这个可能有点懵,API里有一大堆类包,下面我们来举一个String类的例子,大家快可以借此熟悉一下API,这个在java的学习中很重要! API是个很好的工具哦。

2018-08-04

SSH框架整合源码和数据库(结合MySQL实现简单的用户登录)

整合Struts,Spring,Hibernate三种框架。 Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。能实现用户登录,其他功能大家自行验证和测试。

2018-06-26

五子棋源代码

五子棋的源代码,基本实现了五子棋的所有功能。可能还有一些bug,不过暂时没有发现,希望同大神们互相学习提高。

2017-11-05

空空如也

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

TA关注的人

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