自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jquery实现一个翻页动画

有个需求要实现一个翻页动画,记录一下。

2023-06-10 13:42:36 225

转载 Termux

首先介绍一下Termux:Termux 是一款安卓平台下模拟 Linux 环境的 app。可以直接使用,无需 root 或 额外设置。支持 apt 进行软件包管理。在本教程中我使用的是华为的Mate40 Pro,系统是Android10,EMUI11.0之后因为屏幕还是有点小,所以换了华为的MatePad Pro来做实验不管是什么工具,最好是先想好定位、场景,然后再好好的研究一遍它的所有功能(最起码得研究一遍主要功能),这样用起来才能更加的得心应手,因为这个原因,所以我对这篇文章的开头做了如下补充。

2021-01-20 14:38:29 2518 1

原创 Kotlin基本操作符

class SecondActivity : AppCompatActivity() { var context: Context? = this; override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main); for(i in 1..10 ste

2020-12-08 14:41:12 144

原创 RxJava操作符及实例大全

public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView; private List<String> mList = new ArrayList<>(); private Observer observer = new Observer<Integer>() { // 以下步骤仅为展示一个完整demo,可以忽略

2020-12-08 14:38:46 277

原创 Android发布到jcenter仓库

Android发布到jcenter仓库1.https://bintray.com/signup/oss 访问注册个人账号非企业账号 用谷歌邮箱国内的不认23.创建组织或者直接创建一个maven都可以4.填maven 选择类型maven创建package5.获取apikey5.获取上传的maven地址6.package点进去就可以发布到jecenter 如果不发布到jecenter 需要配一个maven地址也很简单以上就是网站配置关于客户端1.配置application 的bui

2020-12-08 14:04:26 131

转载 Android-快速双击页面跳转突然回到Launcher界面

天下Android是一家,通过别人分享的文章,解决了大部分问题。那么我解决的独特的问题,也应该分享出来,帮助Android开发的兄弟们。今天,在项目中遇到这么一个问题:页面之间跳转,正常点击,正常跳转。但是一旦快速点击,或者双击,页面会回到Launcher界面,状如闪退,让人非常不爽。但其实不是闪退,因为日志中没有任何异常。重新点击图标,则会直接打开要跳转到的页面。说明跳转过程中并没有Crash发生。最初是怀疑双击导致的两次执行跳转,但是经验证不是,加了双击过滤,将两次双击变成只执行一次点击事件也还是

2020-09-23 18:27:44 609 1

转载 彻底搞懂JS闭包各种坑

闭包是js开发惯用的技巧,什么是闭包?闭包指的是:能够访问另一个函数作用域的变量的函数。清晰的讲:闭包就是一个函数,这个函数能够访问其他函数的作用域中的变量。eg:function outer() { var a = '变量1' var inner = function () { console.info(a) } return inner // inner 就是一个闭包函数,因为他能够访问到outer函数的作用域}.

2020-06-10 10:48:37 185

转载 Lazy 和 Lateinit

我们都知道,在kotlin中声明不为空类型变量都需要立即进行初始化,不管是可变的还是不可变的。但是 Activity 和Fragment对象的创建和视图的加载是分开进行的,所以我们不能直接初始化一些控件。那么如何处理这种情况呢?声明可空类型。但是你会发现,当我们在使用mTextView都需要带上?来访问。class MainActivity : AppCompatActivity() {private var mTextView: TextView? = nulloverride fun onCre

2020-06-09 09:36:15 421

原创 RxJava 线程切换流程

RxJava 线程切换流程在客户端开发中有些时候需要多线程切换作为Android开发者中最经典的模型是Handler+Looper+Message,这种写法稍有不慎会有内存泄漏的风险,后出了RxJava+RxAndroid 因为使用Rxjava切换线程比较简单,而且不容易出现令人讨厌的Casher。所以本人看了一下RxJava切换线程源码过程。本文章适合有一定基础的读者,只做关键代码解读。先上一段简单的Demo直接戳进createRxJavaPlugins 里的大部分方法都是工具类,可以不需要

2020-06-08 18:56:56 1854

转载 使用idea+springboot+Mybatis搭建web项目

使用idea+springboot+Mybatis搭建web项目springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便。1、创建项目project,然后选择Spring initializr,点击下一步生成的项目中,resources文件夹下,static文件夹下存放静态文件,比如css、js、html和图片等templates下存放...

2020-01-08 10:47:12 183

转载 spring mvc +mybatis+druid 实现数据库主从分离

第一步:基于java annotation(注解)并通过spring aop 实现动态数据源动态选择package com.wlsq.util; import java.lang.annotation.ElementType; import java.lang.annotation.Target; import java.lang.annotation.Retention; ...

2020-01-08 09:59:04 649 1

原创 购物车贝塞尔曲线

mShoppingCartRly 父视图goodsImg 列表图标mShoppingCartIv 目标视图 购物车private void addGoodsToCart(ImageView goodsImg) { // 创造出执行动画的主题goodsImg(这个图片就是执行动画的图片,从开始位置出发,经过一个抛物线(贝塞尔曲线),移动到购物车里) ...

2019-06-18 14:43:41 386

原创 Android列表侧滑删除

private GridLayout contentView = null;private TextView menuView = null;//计算滑动 动画效果private Scroller mOpenScroller;private Scroller mCloseScroller;private int downX;//记录状态private int state = ...

2019-06-18 10:54:25 325

原创 Linux 如何安装 jdk

wget 下载.tar.gzhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1.cd /usr2.mkdir jdkpkg3.cd jdkpkg4.wget ....5.tar -zxvf jdk-8u201-linux-x64.tar.gz...

2019-03-27 13:56:45 101

转载 linux上安装mysql5.7

1、下载tar包,这里使用wget从官网下载wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz2、将mysql安装到/usr/local/mysql下# 解压tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar...

2019-03-26 15:41:35 151

转载 Maven使用阿里云镜像

&lt;settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 ...

2019-03-14 09:29:52 797

转载 使用Intellij IEDA搭建ssm+mysql框架

准备工作:请确保你的jdk、idea、mysql、maven已经安装好,并且相关环境变量设置成功。1.创建maven项目打开idea,新建项目。此时工程创建成功,等待maven将工程生成。以下是生成的工程目录,及其pom中的数据,pom中的数据还需要调整下。2. 修改下工程的目录结构成功后的目录结构应该是如下的样子:打开p...

2019-03-14 09:24:13 278

原创 linux 使用心得

linux 使用心得1.必须明白用户 用户组 和拥有者2.拥有者就是用户3.用户属于用户组也可以输入其他组4.只有root用户可以赋予权限第一段:10个字符,第1个字符表示文件类型,具体来说d表示这是个目录,如果是-,表示是一个普通文件;剩余的9个字符,分成3组,每组3个字符,分别表示**/拥有者/当前用户组/其他用户组/**的rwx权限;具体来说,rwx表示拥有者root具有rw...

2019-02-19 18:06:42 544

原创 监听Android软键盘高度 及 获取NavigationBar的高度

public class SoftKeyBoardListener { private View rootView;//activity的根视图 int rootViewVisibleHeight;//纪录根视图的显示高度 private OnSoftKeyBoardChangeListener onSoftKeyBoardChangeListener; publ...

2019-01-10 14:54:22 457

转载 windowIsTranslucent与windowBackground爱恨情仇

 涉及知识点:Activity、Window、Dialog、View 关联前言:今天有人问我一个问题(如下)。秉着分享使我快乐的原则,在解决问题后,作此篇问题:windowBackground为透明时, windowIsTranslucent为false, Activity背景为何还是黑色,为什么不是透明?windowBackground为红色时, windowIsTra...

2018-12-25 18:03:09 1130

转载 minSdkVersion maxSdkVersion targetSdkVersion target 的区别

 minSdkVersion描述:app最低支持的sdk版本号作用:如果手机SdkVersion小于app中定义的minSdkVersion,则android系统不允许安装该app定义位置:AndroidManifest.xml默认值:1检测时机:app安装  maxSdkVersion描述:app最高支持的sdk版本号作用:如果手机SdkVersion大于...

2018-12-25 18:01:43 483

原创 通过自定义Gradle插件修改编译后的class文件

首先要实现修改编译后的class文件必须要会编写gradle插件gradle插件不会请看下面流程不仔细说了1.创建工程 选择javaLib2,下载maven,groovy插件,写好maven上传脚本3.修改工程结构java改成groovy 依次建立resource/META-INF/gradle-plugins建立 包名.properties 关联映射文件 映射文件...

2018-07-30 15:10:25 1406

原创 自定义 Gradle 插件+Maven上传

1.插件开发现在来说下,详细的 Gradle 插件开发步骤: 新建一个项目 再新建一个 Module,此 Module 用于开发插件,类型选什么都无所谓,后面会大改。 在 Project 目录视图模式下,清空 build.gradle 文件的内容,删除其余的所有文件。 然后在 module 中新建多个文件夹 src/main/groovy ,再新建包名文件夹...

2018-07-20 18:24:06 1504

原创 Android中使用AbstractProcessor在编译时生成代码

1.概述在现阶段的Android开发中,注解越来越流行起来,比如ButterKnife,Retrofit,Dragger,EventBus等等都选择使用注解来配置。按照处理时期,注解又分为两种类型,一种是运行时注解,另一种是编译时注解,运行时注解由于性能问题被一些人所诟病。编译时注解的核心依赖APT(Annotation Processing Tools)实现,原理是在某些代码元素上(如类型、...

2018-07-19 15:45:24 1102

转载 Android布局优化之ViewStub、include、merge

在开发中UI布局是我们都会遇到的问题,随着UI越来越多,布局的重复性、复杂度也会随之增长。对此我们优化xml布局就不得不说重用布局,为了有效地重新使用完整的布局,Google提出可以使用&lt;include&gt;和&lt;merge&gt;这两个非常有用的标签,用以在当前布局中嵌入另一个布局,下面我们就来逐个学习一下。一、include&lt;include/&gt;标签可以允许在一个布局当中...

2018-05-23 14:21:29 213

转载 自定义注解

一、注解作用在Java开发中,注解一般有一下功能:(1) **标识 **在jdk中,类似我们比较常见的注解有Override,Deprecated,SuppressWarnings,这些作用只是作为标识,删除对程序没影响。他们的作用分别为:Override 表示这个方法重写了父类的方法Deprecated 表示jdk中不建议使用这个方法或者属性SuppressWarnings 表示屏蔽了某些警告...

2018-05-22 17:42:05 397

原创 JavaPoet

JavaPoet是一个用来生成 .java源文件的Java API。当做如注解或者数据库模式、协议格式等事情时,生成源文件就比较有用处。Example以HelloWorld类为例:package com.example.helloworld;public final class HelloWorld { public static void main(String[] args) {...

2018-05-22 16:58:32 193

原创 Handler注意事项+ InterServices底层实现

Handler是什么Handler是Android提供的:一套更新UI的机制.一套消息处理的机制,我们可以通过Handler发送和处理消息.为什么使用HandlerAndroid在设计时,就封装了一套消息的创建、传递、处理机制,如果不遵循这样的机制,就没有办法更新UI信息,就会抛出异常信息.Google为什么只设计了Handler来解决更新UI的问题解决多线程并发问题.假设如果在一个Activi...

2018-05-22 16:01:23 1127

转载 ThreadLoacl 分析 转载

在并发条件下,如何正确获得共享数据?举例:假设有多个用户需要获取用户信息,一个线程对应一个用户。在mybatis中,session用于操作数据库,那么设置、获取操作分别是session.set()、session.get(),如何保证每个线程都能正确操作达到想要的结果?/** * 回顾synchronized在多线程共享线程的问题 * @author qiuyongAaron */publ...

2018-05-22 11:41:00 239

转载 Java 线程间通信

下面我从几个例子作为切入点来讲解下 Java 里有哪些方法来实现线程间通信。如何让两个线程依次执行?那如何让 两个线程按照指定方式有序交叉运行呢?四个线程 A B C D,其中 D 要等到 A B C 全执行完毕后才执行,而且 A B C 是同步运行的三个运动员各自准备,等到三个人都准备好后,再一起跑子线程完成某件任务后,把得到的结果回传给主线程如何让两个线程依次执行?假设有两个线程,一个是线程 ...

2018-05-21 16:47:35 81

转载 全面理解Java内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Ja...

2018-05-21 16:31:09 92

转载 Android 内存泄露原因

彻底搞懂Java内存泄露Java内存回收方式Java判断对象是否可以回收使用的而是可达性分析算法。在主流的商用程序语言中(Java和C#),都是使用可达性分析算法判断对象是否存活的。这个算法的基本思路就是通过一系列名为”GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此...

2018-05-19 15:17:46 525

转载 SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

使用场景:假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发、测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时候,突然接到用户或测试人员的反馈,项目中有个重大bug需要紧急修复,并且要求bug修复后要立即上线;此时应该怎么修复bug呢?是在当前已经开发新需求的基础上进行修复吗?答案是否定的,原因是:如果是在已经...

2018-03-07 15:09:10 128

原创 RN 环境搭建

/** * RN 环境搭建 cmd模式 * 1.创建 Chocolatey * @powershell -NoProfile -ExecutionPolicy Bypass -Command “iex ((new-object net.webclient).DownloadString(‘https://chocolatey.org/install.ps1‘))” &amp;&amp...

2017-08-25 11:29:22 255

原创 Http请求报文说明

Http的标识理解

2016-09-09 09:53:48 264

原创 Hander,Looper,Message,MessageQueue之间的关系

先简单介绍一下Hander,Looper,Message,MessageQueue之间的关系

2016-09-05 14:34:40 299

原创 android Broadcast

Andorid 广播四大组件之一虽然用的少但是还是要学习一下实现三步曲1.注册广播2.发送广播3.注销广播==================================注册广播=================================定义广播接受者public class MainBoardCast extends BroadcastReceive

2016-08-12 15:37:38 201

原创 Activity启动模式

Activity启动模式:启动模式就是在main.xml中设置android:launchMode=""launchMode 分为四种:1.standard:这种最简单,也是默认的模式,最无脑堆栈的模式,可以重复启动多个相同的Activity,可以无限堆栈2.singleTop:这种稍微节省一点性能,如果当前Activity处于栈顶,那么再去启动该Activit

2016-08-12 11:14:31 177

原创 Volley图片上传

在google浏览器工具-更多工具-开发者工具-network里查看上传的内容------WebKitFormBoundary1GAvF0XBUCSbyKkjContent-Disposition: form-data; name="file"; filename="ceshi.png"Content-Type: image/png------WebKitFormB

2016-08-11 17:25:34 336

原创 使用retrofit框架

普通get请求 @GET("service/getIpInfo.php") Call getIpInfo(@Query("ip") String ip);参数在body内的post请求 @Headers({"Content-Type: application/json","Accept: application/json"})//需要添加头 @PO

2016-08-11 17:09:49 156

空空如也

空空如也

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

TA关注的人

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