自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 NetWorkUtil 网络判断工具类

public class NetWorkUtil { /** * desc: 检测网络连通性(是否能访问网络) */ public static boolean isNetworkAvailable() { boolean isAvailable = isNetworkConnected() ; if (isAvailable) {// TipUtils.showLongToast("有网"); .

2021-03-17 14:24:27 290

原创 Handler机制和原理分析(一篇搞懂)

一、基础概念UI线程主线程 ActivityThread ,主线程也是Ui线程,应用启动的时候会启动一个ui线程Handler负责发送消息和处理消息。Looper负责消息循环,循环取出 MessageQueue 里面的 Message,并交给相应的 Handler 进行处理。MessageQueue消息队列,用来存放通过Hangdler 发送的消息,按照先进先出的顺序取出消息,内部使用的是单链表结构(优先级链表)MessageHandler发送和处理的消息个体,有MessageQueu

2021-03-05 14:15:43 1888

原创 Android 与蓝牙设备配对连接

/** * 蓝牙配对的回调接口 */public interface IBtConnectCallBack { void onSucces(); void onFail();}private BluetoothAdapter mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();private BluetoothA2dp mBluetoothA2dp;/** * 蓝牙蓝牙设备,蓝牙与设备进行配对...

2021-02-24 17:32:13 2185

原创 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题

问题简介:(Idea版)org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。接口和mapper.xml 文件在编译的时候需要进行自动注解处理。可是找不到匹配文件那不是出问题了。问题排查:1、namespacemapper.xml的n

2021-01-22 11:38:04 218

原创 用Java尝试一下数字黑洞结果

public void test1() { int numIndex = 0; for (int i = 0; i < 10; i++) { for (int i1 = 0; i1 < 10; i1++) { if (i1 == i) continue; for (int i2 = 0; i2 < 10; i2++) { ...

2020-12-30 10:51:14 157

原创 【git】忽略已在仓库内的文件

git update-index –assume-unchanged意为:git 假装看不到该文件的改动作用于本地不想上传的文件,仅在本地适用,如个人的配置文件等。git update-index --assume-unchanged <PATH>git update-index --no-assume-unchanged <PATH>1 2git rm –cached将文件彻底从仓库中删除,配合.gitignore使用,可彻底忽略掉目标文件注意:将文件从

2020-11-11 17:41:43 349

原创 利用注解实现intent传递参数接收

我们常用Intent intent = new Intent(this, AnnotationActivity.class);intent.putExtra("name", "tony");intent.putExtra("age", 30);.this.startActivity(intent);来传递参数通过Intent intent = getIntent();String name = intent.getStringExtra("name");int age = in

2020-11-11 15:31:27 376 1

原创 Android TextView 添加<a>标签的点击事件

有时候我们需要在一些消息里面带有 可以点击的链接,我们可以用下面的方法拦截链接的点击事件,如果不进行拦截,点击textView里面的链接就会直接跳到外部浏览器打开链接。搞懂里面的原理要先了解SpannableString 这个类的用法,可以参考用SpannableString打造绚丽多彩的文本显示效果懂了SpannableString之后除了下面代码的功能外,还可以自定义更多的效果和功能。import androidx.annotation.NonNull;import andro...

2020-11-11 14:07:09 893

原创 Android Crash监控

Crash(应用崩溃)是由于代码异常而导致 App 非正常退出,导致应用程序无法继续使用,所有工作都停止的现象。发生 Crash 后需要重新启动应用(有些情况会自动重启),而且不管应用在开发阶段做得多么优秀,也无法避免 Crash 发生,特别是在 Android 系统中,系统碎片化严重、各 ROM 之间的差异,甚至系统Bug,都可能会导致Crash的发生.package com.example.crash;import android.content.Context;import andr

2020-11-07 18:12:11 582

翻译 单例设计模式 - 枚举单例 - 单例优化

前言单例模式是 Java 设计模式中最简单的一种,只需要一个类就能实现单例模式,但是,你可不能小看单例模式,虽然从设计上来说它比较简单,但是在实现当中你会遇到非常多的坑,所以,系好安全带,上车。单例模式的定义单例模式就是在程序运行中只实例化一次,创建一个全局唯一对象,有点像 Java 的静态变量,但是单例模式要优于静态变量,静态变量在程序启动的时候JVM就会进行加载,如果不使用,会造成大量的资源浪费,单例模式能够实现懒加载,能够在使用实例的时候才去创建实例。开发工具类库中的很多工具类都应用了单例

2020-09-25 09:39:57 304

原创 AIDL 报错 Files under the build folder are generated and should not be edited

新导入一个moduel 包含的Aidl 代码不报错但是 build 报错,。。。。。。问题:提示:Files under the build folder are generated and should not be edited解决方法:删除接口定义中的注释语句!!!!!!

2020-09-02 11:16:09 2332 3

原创 Android studio 编译报错 Host name may not contain blanks

Android studio 编译报错 出现 Host name may not contain blanks1、关闭as的代理(setting ->Http Proxy -> No proxy)2、删除 C:\Users\pc.gradle 路径下面的 gradle.properties文件(C:\Users\Administrator\.gradle)

2020-07-25 11:40:36 2718 1

原创 Okhttp和Gson结合使用的正确姿势,json返回未 null gson解析报错问题优化。

这篇文章写得很不错,对gson的用法都讲的很详细你真的会用Gson吗?Gson使用指南https://blog.csdn.net/wsgqp/article/details/51995745当后台返回的数据中带有 为空的值的时候例如 age=错误实例:{"data":{"exist":2,"AppEffectSoundSort":""},"message":"ok","status":2000000}AppEffectSoundSort 这个对象本来应该是list 可是...

2020-06-19 18:13:40 398

原创 java.lang.IllegalStateException: Bindings already cleared.

今天突然出现下面这个问题。 原因是在网络获取数据需要一定的时间,先对数据进行了clear 然后获取数据,导致这中间有一段时间 list size 为0 。1、所以在网络请求 getData()的时候先不要clear list2、而是等到 getData() 完成之后,在去clear list 然后 list.addAll()3、在adapter.notifyDataSetChanged();--------- beginning of crash2020-06-11 14:55...

2020-06-11 16:18:25 477

原创 Android两个recyview直接的item拖动

长按之后出发拖动事件 adapterDefault.setOnItemLongClickListener(new BaseQuickAdapter.OnItemLongClickListener() { @Override public boolean onItemLongClick(BaseQuickAdapter adapter, View view, int position) { mScrollView.scro.

2020-06-05 15:04:04 1036 1

原创 设置布局侵入到状态栏

/** * desc:状态栏设置 设置布局侵入到状态栏 */ protected void setStatusBar() { //StatusBarUtil.setColor(this, getResources().getColor(R.color.colorPrimary), 0); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Win..

2020-06-03 18:40:48 344

原创 As 源码 没有问题 在as中显示乱了

最近更新了as的版本,老是会出一些小问题。第一次出现,import 的包全部爆红了,但是代码可以正常编译,打包。这个比较好解决,解决办法是左上角:File --> Invalidate and restart就可以解决问题了。今天又出现了类似情况,用了上面的方法无效,一看代码大部分代码全乱套了。文件和文件都不对应了。解决方法:关闭AndroidStudio 重命名项目文件夹(随意名字) 删除.gradle、.idea、build文件夹 重新导入到And...

2020-05-28 15:53:32 400 1

原创 解决ViewPager 中嵌入TabLayout的滑动冲突问题

解决办法其实比较简单,就是告诉父控件我在滑动的时候你不要拦截我的事件,让我先处理就好了。getParent().requestDisallowInterceptTouchEvent(true);如果不懂就确实要去好好的研究一下时间冲突常用的处理方式了。花点时间静静写一下时间冲突的原理,东西很多,但是处理方式都比较简单的啦。懂了原理处理起来就轻松多了。import android.content.Context;import android.util.AttributeSet;impor

2020-05-14 11:18:01 922

原创 重新学习了一下MeasureSpec 相关知识,写了 一个流式布局

学习了一下MeasureSpec 相关知识,写了 一个流式布局import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.util.TypedValue;import android.view.View;import android.view.ViewGroup;public class FlowLayout extends ViewGro

2020-05-14 00:17:47 108

原创 DialogFragment使用方法

1、实现普通的dialog效果新建一个类 继承AppCompatDialogFragment 并实现onCreateDialog方法public class CustomDialog extends AppCompatDialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceSta...

2020-04-26 11:12:13 645

原创 Android禁止输入表情符号

有时候服务器不支持表情符号的接收和存储,那么在Android端如何过滤掉表情输入呢?1、添加过滤器 mEtContent.setFilters(inputFilters);2、写过滤器private InputFilter[] inputFilters=new InputFilter[]{ new InputFilter() { ...

2020-04-20 14:35:54 1089

原创 连接中的蓝牙设备

获取连接中的蓝牙设备private class TaskRunnable implements java.lang.Runnable { // new Runnable() { @Override public void run() { SystemClock.sleep(100); ...

2020-04-16 19:03:03 525

原创 根据list 的item位置弹出popupWindow 正常在下方弹出,底部在上面弹出。

/** * 计算出来的位置,y方向就在anchorView的上面和下面对齐显示,x方向就是与屏幕右边对齐显示 * 如果anchorView的位置有变化,就可以适当自己额外加入偏移来修正 * * @param anchorView 呼出window的view * @param contentView window的内容布局 * @re...

2020-04-16 18:59:16 637

原创 Android 登录用户协议提示的勾选额抖动效果

在用户没有选中用户协议的时候抖两下提示他这里要选中哦。(类似网易云等的抖动效果)mLlAgreement.startAnimation(AnimationUtils.loadAnimation(this, R.anim.translate_checkbox_shake)); TipUtils.showShortToast("请勾选森然服务协议和隐私条...

2020-03-21 14:54:29 992

原创 Android输入法不遮挡输入框的解决办法

我们在开发的过程中很多时候都会遇到输入框会被输入法挡住看不到的情况。解决版本当然有很多,Android给的设备两种模式的方法,很直接。但是不好用,问题也很多就不提了。下面就说说我我的解决思路:1,通过这个方法(.getViewTreeObserver().addOnGlobalLayoutListener)可以得到屏幕的宽度和输入法弹出的button值的变化来确定输入法是否弹出 ...

2020-03-19 14:07:23 1898

原创 uniApp 小程序使用createInnerAudioContext

1、获取音频的时长:_self.innerAudioContext.onPlay(() => { console.log('开始播放'); _self.showPalyView = true; //播放的进度条和按钮显示出来 _self.imgageSrc = playImg; //音乐播放和暂停按钮的背景图片 console.log("ti...

2019-11-28 11:37:56 4784 1

原创 Vue将一个数组中的字段增加字段复制到另外一个数组的方法

let list = res.data.data.specialEffectNowList.map((item, index) => { let data = { UId: item.UId, id: item.id, name: item.name, url: item.url, ...

2019-11-26 15:42:57 5062

原创 uniapp 6位验证码输入框实现方法

实现思路就是下层布局6个input或者view ,然后上层放一个打的input盖住下面,然后把上层的背景和显示隐去。然后在data中定义一个code 来实现上层input和下层view的关联显示。上代码(底层布局自己可以随意改成想要的样式)<template> <view> <view style="color:#ff00ff">{{m...

2019-11-08 10:16:37 5315 1

原创 Android WebView 使用方法,可以解决web视频播放层级问题。

package com.zhong.doule;import android.annotation.SuppressLint;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os.Build;import android.os.Bun...

2019-09-24 18:20:02 1347

原创 Android 输入法键盘的显示和隐藏

import android.app.Activity;import android.content.Context;import android.view.View;import android.view.inputmethod.InputMethodManager;public class InputMethodUtils { //如果输入法在窗口上已经显示,则隐藏,反之...

2019-09-03 10:00:22 2607

Android usb otg通讯总结 HiD通讯直接来取吧

最近在搞一个Android的通过otg与设备进行usb通讯的功能HID.过程中遇到了一个大坑,就是usb发数据的时候,第一次显示发送成功(返回值大于1),但是设备并没有收到实际的数据,把usb重新拔一次在插入的时候,数据就自动发到设备了(拔出之前的数据,感觉数据在中间被拦截了,重新出入就溜过去了)。原来以为是自己的代码写的有问题,但是对比了一下其他人的确实没有问题。(usb通讯相关的博客很...

2019-08-02 11:38:16 2197 3

原创 获取Android手机的MAC地址 MacAddressUtil

由于手机和系统的差别获取手机mac地址还是有点麻烦的import android.content.Context;import android.content.pm.PackageManager;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bui...

2019-08-02 10:28:04 868

原创 可以惯性滑动的半圆转盘,圆形菜单。

import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.os.Handler;import andro...

2019-07-26 18:01:13 1048

原创 DataUtil ------byte数据的处理工具类,包含对数的计算公式

import java.text.DecimalFormat;/** * Created by zry on 18/3/7. */public class DataUtil {// /**// * 获取包序号// * @param byte1 高8位// * @param byte2 低8位// * @return// ...

2019-07-15 16:12:05 221

原创 屏幕工具类

获取屏幕的宽高/** * 返回屏幕的宽高,用数组返回 * 下标0,width。 下标1,height。 * * @param context * @return */ public static int[] getScreenWidth(Context context) { context = contex...

2019-07-15 16:05:01 107

原创 音乐播放工具类MediaPlayerManager SoundPoolManager

背景音乐播放:MediaPlayerimport android.content.Context;import android.content.res.AssetFileDescriptor;import android.media.MediaPlayer;import android.util.Log;public class MediaPlayerManager { ...

2019-07-15 16:04:48 593

原创 FileUtils 文件管理工具类

import java.io.File;import java.io.FileOutputStream;import android.os.Environment;import com.iszcc.x5audio.activity.MyApplication;/** * 文件工具类 * * @author king * */public class FileUt...

2019-07-15 16:04:26 606

原创 AscIIUtil 将将字符串转成ASCII 和江ASCII转成字符串

AscIIUtil 将将字符串转成ASCII 和江ASCII转成字符串public class AscIIUtil { //将字符串转成ASCII的Java方法 public static String stringToAscii(String value) { StringBuffer sbu = new StringBuffer(); ...

2019-07-15 16:03:10 218

原创 UnicodeUtils 按照Unicode编码规则,对字符串进行Unicode的互相转化,string转byte[] 和byte[]转string

/** * unicode 中文(或者其它语言)互转, */public class UnicodeUtils { /** * 将byte数组转化为string * * @param bytes length 必须为偶数,两个byte可以转化为一个char * @return */ public static Strin...

2019-07-15 16:03:01 1772

原创 Android中AudioRecord 录音和AudioTrack播放录音,并可以转为wav格式数据。

本篇文章不做过多解释,直接拷贝代码就可以用,因为AudioRecord的解释随便一搜一大把。。。布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/...

2019-05-17 16:00:55 848

go语言本地文件http浏览器

将.exe文件放到你要浏览的目录下,双击, 浏览器输入地址:8080端口就可以访问了。

2019-03-20

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

TA关注的人

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