自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(170)
  • 资源 (11)
  • 收藏
  • 关注

原创 修改Gradle缓存文件夹路径的方法

新建一个环境变量设置,GRADLE_USER_HOME,值为D:\Users\shaowei\.gradle,设置完成之后,点击确定,关闭设置窗口。这个时候可以去idea中看下gradle的用户目录,自动变成了环境变量中的值了选择环境变量的方式修改,可以全局改变,推荐使用此方法...

2018-03-15 13:57:50 1897

原创 C/C++的指针,单类型、数组

double 8字节。

2023-03-23 21:04:37 116 1

原创 什么是ANR,如何避免它?

在 Android 系统中,如果应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:ApplicationNotResponding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此 ,在程序里对响应性能的设计很重要,这样系统就不会显示 ANR 给用户。

2023-02-21 13:49:03 602

原创 Kotlin,Java中带符号右移和无符号右移的区别

kotlin Java 位符号

2023-02-06 09:20:51 526

原创 Vuex vue2.0

确实是如此 —— 如果您的应用够简单,您最好不要使用 Vuex。但是,如果您需要构建一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。}) 创建数据仓库。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

2023-02-03 16:53:33 91

原创 Jenkins实现Android自动化打包

https://blog.csdn.net/zhaoyanjun6/article/details/77102359

2021-02-21 11:27:27 119

原创 Android (Android Studio) 中使用Sonar进行代码质量分析

在项目根目录下的build.gradle文件中(新增部分)配置如下// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { google() jcenter() } dependencies { classpath "com.an

2021-02-21 10:54:03 515

转载 Android WebSocket实现即时通讯功能

最近做这个功能,分享一下。即时通讯(Instant Messaging)最重要的毫无疑问就是即时,不能有明显的延迟,要实现IM的功能其实并不难,目前有很多第三方,比如极光的JMessage,都比较容易实现。但是如果项目有特殊要求(如不能使用外网),那就得自己做了,所以我们需要使用WebSocket。WebSocketWebSocket协议就不细讲了,感兴趣的可以具体查阅资料,简而言之,它就是一个可以建立长连接的全双工(full-duplex)通信协议,允许服务器端主动发送信息给客户端。Ja.

2020-12-24 16:25:30 749 1

原创 flutter的RaisedButton按钮的onPressed事件的写法

onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => WebSocketRoute())),),onPressed: () { Navigator.push(context, MaterialPageRoute(builder: (context) => WebSocketRoute()));),lamuda写法逗号结尾大括号写...

2020-12-23 10:04:06 812

原创 RecyclerView选中项居中(横向、竖向),指定位置置顶(竖向)

需要实现对LinearLayoutManager的重写中间显示类import android.content.Context;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.LinearSmoothScroller;import android.support.v7.widget.RecyclerView;import android.util.DisplayMet

2020-12-10 17:19:33 1388 1

原创 NestedScrollView嵌套RecyclerView最后一条item显示不全

首先要在最外层的NestedScrollView配置属性android:fillViewport="true": <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true">然后在上层Java代码,设置Recy.

2020-12-09 23:25:46 540

原创 自定义生成圆点的bitmap,纯色圆点

/** * 创造圆点,bool 是否异常 */private Bitmap createBitmapPoint(String color) { Bitmap pointbmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(pointbmp); final Paint paint = new Paint(); final Rect rect.

2020-12-01 16:11:29 282

原创 ScrollView实现滚动到顶部和底部的判断和监听

自定义ScrollView:public class CustomScrollView extends ScrollView { //回调监听接口 private OnScrollChangeListener mOnScrollChangeListener; //标识是否滑动到顶部 private boolean isScrollToStart = false; //标识是否滑动到底部 private boolean isScrollTo

2020-11-06 17:29:26 715

原创 GPS、谷歌、百度、高德坐标相互转换

javapublic class GPSUtil { public static double pi = 3.1415926535897932384626; public static double x_pi = 3.14159265358979324 * 3000.0 / 180.0; public static double a = 6378245.0; public static double ee = 0.00669342162296594323

2020-10-27 09:08:29 583

原创 Android通过Socket与服务器进行通信

先上代码,可以先把代码下下来,对着代码看本文。代码地址是:https://github.com/huangtianyu/SocketDemo,代码记得点击star哦~ 总有些想尝试一些底层的人,之前做过socket开发,总是想能不能用socket实现手机和服务器直接通信。尝试了下,还是不难的。毕竟都是用Java写的,无论是Android端还是服务器端,都是对Socket的使用。下面给出具体代码。先看服务器端代码:Server.java package com.scu;...

2020-10-23 17:47:07 447

原创 Android利用JNI通过Socket与服务器进行通信

不多说,先上代码。记得点击star哦,代码地址是:SocketDemo上一篇文章写了如何通过Java层实现Socket和服务器的Socket进行通信,这一篇继续深究,写个如何通过native层实现socket和服务器进行通信。服务器端代码和前一篇博客代码一致,主要看下Android端的代码。首先看下Main2Activity的代码:Main2Activity.java package com.zqc.socketdemo; import android.app...

2020-10-23 17:46:24 671

原创 在Android Studio下如何引用*.jar、*.aar和.so文件

引用.jar文件在新建项目时,Android Studio已经默认支持jar文件的引用了,因为有了如下这句话: implementation fileTree(dir: 'libs', include: ['*.jar'])所以要引用.jar文件,只需将jar包复制到libs下,然后sync一下gradle文件就好。或者,直接在jar文件上鼠标右击->add As Libary…引用.aar文件首先,添加:repositories { flatDir...

2020-10-22 15:38:29 608

原创 通过包名获取apk安装路径

在apk中获取自身安装路径:getPackageResourcePath();在apk中获取其他已知包名apk的安装路径:getPackageManager().getApplicationInfo(packageName, 0).sourceDir;主要查看PackageManager.java和ApplicationInfo.java这两个文件即可。...

2020-10-21 23:39:18 1822

原创 Android7.0+ 、Android8.0+Android9.0+、Android10.0+安装指定apk、下载后的apk方法

前言:你的apk文件即使有文件读取权限,若想安装下载后的app,我们需要将apk文件暴露给系统安装进程apk安装所需权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android

2020-10-21 19:49:10 1272

原创 Android中StaticLayout的简单实用

StaticLayout在Android中实现自动换行多行文本,通过查看源码可以发现TextView内部也是通过这个类来实现的父类是:android.text.LayoutLayout的子类是:StaticLayout:布局了以后不能进行编辑DynamicLayout:可以进行编辑BoringLayout:是一种非常简单的文本布局实现,它适合一行,并且全部是从左到右的字符。StaticLayout中的构造方法已经不能使用,需要通过StaticLayout.Builder来使用 .

2020-10-16 11:07:09 3864

原创 Android自定义Behavior

先上效果图:Behavior是CoordinatorLayout的一个泛型抽象内部类,所以给子view添加layout_behavior属性是来自于它。实现过程:在CoordinatorLayout父控件中,滚动NestedScrollView,使AppBarLayout也随之显示隐藏,通过我们的自定义behavior,监听AppBarLayout的位置,来对底部菜单栏的位置高度作相应的改变。github代码直通车布局文件代码:<?xml version="1.0".

2020-10-16 11:00:41 662

原创 java代码中不重复字符串值的方法

程序语言中给了一个不重复的字符值生成方法 UUID.randomUUID().toString().substring(24)

2020-10-15 15:50:02 451

原创 Android性能优化之UncaughtExceptionHandler定制自己的错误日志系统

前言:每当我们app测试的时候,测试人员总是对我们说这里崩溃了,那里挂掉了!我们只能默默接受,然后尝试着重现bug,更可悲的是有时候bug很难复现,为了解决这种现状所以我们要尝试这建立一个自己的bug日志系统。实现原理:Java为我们提供了一个机制,用来捕获并处理在一个线程对象中抛出的未检测异常,以避免程序终止。我们可以通过UncaughtExceptionHandler来实现这种机制。具体实现:public class CrashManager implements Unc.

2020-10-10 13:45:55 191 1

原创 Spring Boot从零入门6_Swagger2生成生产环境中REST API文档

1 前言在如今前后端分离开发的模式下,前端调用后端提供的API去实现数据的展示或者相关的数据操作,保证及时更新和完整的REST API文档将会大大地提高两边的工作效率,减少不必要的沟通成本。本文采用的Swagger2就是一个当前流行的通过少量的注解就可以生成漂亮的API文档工具,且在生成的在线文档中提供类似POSTMAN直接调试能力,不仅仅是静态的文档。接下来将会利用这个工具与Spring Boot项目结合,最终生成我们上一篇文章中所涉及到的REST API文档。这一篇文章基本将Swagger2在生

2020-10-10 13:30:23 336

原创 再见,Android JNI 封装

1 前言 2 JNI 速查表 2.1 Java 和 Native 数据类型映射表 2.2 引用类型 3 JNI 理论基础速览 4 JNI 常用场景示例 4.1 字符串传递(java->native) 4.2 字符串返回(native->java) 4.3 数组传递(java->native) 4.4 其他复杂对象传递(java->native) 4.5 复杂对象返回(native->java) 4.6 复杂数组对象返回(native-&..

2020-10-10 13:28:35 406

原创 android studio 中使用kotlin开发语言的配置

apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android { compileSdkVersion 28 buildToolsVersion "29.0.2" defaultConfig { applicationId "com.ly.autoscrolllayout" .

2020-09-24 14:52:45 519

原创 MD5、SHA所支持的加密算法,加盐处理

SHAUtils工具类 提供5种SHA的算法和加盐处理import android.support.annotation.Nullable;import android.support.annotation.StringDef;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.HashMap;import java.util.Random;.

2020-09-16 23:54:19 982

原创 Android studio 项目application和library中引用aar代码资源包的方式

如果是在application中引用在app的gradle的根目录添加设置repositories { flatDir { dirs 'libs'//this way we can find the .aar file in libs folder }}如果是在library中也有引用则app的gradle的设置要修改成为repositories { flatDir { dirs 'libs', '../library模

2020-09-09 17:28:33 787

原创 Android 11 适配实践指南

前言最近看到一条新闻,Android 11(version 30,Andorid R)最终Beta版如期发布,看到这个新闻我知道我不能再拖了,再不好好准备好迎接Android11的到来,到时候迎接我的就是客户的指责,甚至老板的一封休书了 。今天就和大家一起看看Android11到底改了些什么,以及最重要的,我们需要怎么适配?targetversion不改到30,是不是就不用适配了呢?以下我分为两部分讲述,分别是以Adnroid11 为目标版本的应用(targetSdkVersion>.

2020-09-07 15:58:40 2811

原创 RecyclerView选中Item滚动到屏幕中间 / 指定位置,滚动切换的时间保持一致

类似京东的分类,点一个处在中间,滑动的时间相同自定义LinearLayoutManager public static class CenterLayoutManager extends LinearLayoutManager { static int lastPositon = 0; static int targetPosion = 0; public CenterLayoutManager(Context context, int orie.

2020-08-26 23:20:54 1189

原创 Banner 3D效果 左右有缩小的图片边缘 中间图正常(旋转木马/缩放轮播图效果)

动画类import android.support.v4.view.ViewPager;import android.view.View;public class TransformerZoomGallery implements ViewPager.PageTransformer { private static final float MAX_SCALE = 1.0f;//0缩放 private static final float MIN_SCALE = 0.85f;/

2020-08-14 09:45:06 644

原创 Glide裁剪图片、边框的用法

RequestOptions options = RequestOptions.bitmapTransform(new CircleCrop()); Glide.with(edu_attention_item_img) .load("url") .error(res) .placeholder(res).apply(options).into(img); Rounde...

2020-08-13 10:12:11 526

原创 Android 整个页面监听如果键盘弹起来,页面上的响应事件前需要先关闭键盘的处理方法(如搜索页面)

找到布局最外面的控件,然后自定义一个这个控件,重写里面的一个方法,然后从外面传入一个Activity @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (context != null) { boolean isKey = isSoftShowing(context); if(isKey){ hideSoftInput

2020-08-07 16:34:04 172

原创 Android - ImageView图形不断旋转的动画(例如音频播放的旋转)

1. res下建立一个动画文件夹anim2. anim文件夹下面建立名称为:rotaterepeat动画xml文件 <?xml version="1.0" encoding="utf-8"?><setxmlns:android="http://schemas.android.com/apk/res/android"><rotateandroid:duration="1000"an...

2020-08-07 11:09:12 849

原创 inline-block 布局

inline-block 布局你可以使用inline-block来布局。有一些事情需要你牢记:vertical-align属性会影响到inline-block元素,你可能会把它的值设置为top。 你需要设置每一列的宽度 如果HTML源代码中元素之间有空格,那么列与列之间会产生空隙nav { display: inline-block; vertical-align: top; width: 25%;}.column { display: inline-bl...

2020-07-21 14:09:51 128 1

原创 Retrofit2和Rxjava2和LiveData的请求整理

Retrofit2返回LiveData + ViewModel替代Rxjava2,但缺少一些Rxjava2没有的功能,如Stream,Rxjava2中缺少关于LiveData中LiveData 算是一个数据持久类Rxjava2 有链式响应请求的过程组合方式1、Retrofit 单独请求2、Retrofit+RxJava实现网络请求,返回的是Observable3、Retrofit+LiveData实现网络请求,返回的是LiveData以上请求加上OkHttpClien...

2020-07-10 10:08:38 1038

原创 android弧形背景图片自定义重绘

public class ArcImageView extends AppCompatImageView { /* *弧形高度 可自行设定外部传进来 */ private int mArcHeight=100; public ArcImageView(Context context) { this(context, null); } public ArcImageView(Context context, @Nullable.

2020-07-06 09:27:42 571

原创 Android控件阴影圆角

import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.Port.

2020-06-29 10:38:13 885

原创 重新调整imageview的drawable的大小

做项目的过程中,由于原来使用下载可以直接返回bitmap,这样可以直接通过bitmap得到宽高,然后进行缩放处理,但是下载逻辑修改,不返回bitmap让我们叫bitmap传递给他,然后某人在框架中帮我们设置,但是此时就会有一个问题,bitmap得不到,设置之后的图片的大小就无从考量,使得我们需要通过imageview得到它身上的图像,然后做调整好了,不说废话了,需要涉及到三个方面1. 图像的缩放bw 图像的宽, bh 图像的高 baseSize 预期的尺寸...

2020-05-28 15:47:30 1157

原创 Activity界面启动和结束动画(仿微信界面切换效果)

如何给界面设置切换动画通常,我们可以通过overridePendingTransition(int enterAnim, int exitAnim)来给Activity设置界面切换效果,但是,这个方法如果要做Activity界面移出屏幕的动画,则必须要先finish掉Activity界面。所以显得的很局限,这里不作具体阐述了。首先我们需要为界面设置theme.<application android:allowBackup="true" android:ic

2020-05-26 16:31:03 813

ViewResizeUtils.java

Android动态获取任意View的尺寸、位置,设置View的尺寸,不需要加载完View后再得到View的具体尺寸

2020-05-28

RecyclerView实现支付宝应用管理页面

RecyclerView实现支付宝应用管理页面,首页打开更多应用

2018-03-01

android-zxingLibrary-master

默认二维码扫描,图片选择、定制化扫描界面,二维码生成功能

2017-10-31

Kotlin极简教程

内容摘要:Kotlin视频教程、第1章 Kotlin简介、第2章 快速开始:HelloWorld、第3章 Kotlin语言基础、第4章 基本数据类型与类型系统、第5章 集合类、第6章 泛型、第7章 面向对象编程、第8章 函数式编程、第9章 轻量级线程:协程、第10章 Kotlin与Java互操作、第11章 使用Kotlin集成SpringBoot开发Web服务端、第12章 使用Kotlin集成Gr adle开发、第13章 使用 Kotlin 和 Anko 的Android 开发、第14章 使用 Kotlin DSL、第15章 Kotlin 文件IO操作与多线程、第16章 使用 Kotlin Native

2017-10-18

Android Studio 序列化实体类Parcelable插件

Android Studio 序列化实体类Parcelable插件,Android Studio 序列化实体类Parcelable插件

2017-10-13

gradle-3.3-all.zip下载最新版 官方免费版

由于文件较大,放在记事本里,内含下载地址,永久有效 gradle-3.3-all官方最新版下载。Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。现给大家分享的将是"gradle-3.3-all最新版"。有需要的朋友欢迎下载!!!

2017-09-28

Android卸载或删除应用,调用浏览器打开指定网页地址url

Android卸载或删除应用,调用浏览器打开指定网页地址url

2015-01-15

path导航button按钮导航动画效果加渐变切换页面

较简单,资源文件比较大,有二级导航菜单动画弹出效果,及页面切换的渐变效果。

2014-12-26

超炫button按钮导航动画效果加渐变切换页面

资源文件比较大,内容丰富。超炫button按钮导航动画效果加渐变切换页面。

2014-12-26

仿微信朋友圈下拉刷新及老淘宝下拉时的小汽车行走

仿微信朋友圈下拉刷新及淘宝下拉刷新的小汽车行走的核心代码,基于此代码可以进行修改

2014-07-04

Android滑动引导页人物行走动画效果

通过滑屏控制引导页显示及显示动画的核心代码

2014-07-04

空空如也

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

TA关注的人

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