自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (2)
  • 收藏
  • 关注

原创 设计模式总结

设计模式(一) 观察者模式设计模式(二)装饰者模式设计模式(三)工厂模式设计模式(四) 单例模式设计模式(五) 命令模式设计模式(六) 适配器模式设计模式(七) 外观模式...

2019-07-16 17:39:45 144

原创 Android有用的框架和博客分享

框架类:okhttp框架:https://github.com/square/okhttpokhttp框架封装:https://github.com/hongyangAndroid/okhttputilsOk-Go框架:https://github.com/jeasonlzy/okhttp-OkGo九宫格控件:https://github.com/jeasonlzy/NineGri...

2019-01-23 17:44:05 286

原创 Android 构建配置文件(config.gradle)

Android 构建配置信息

2023-02-14 16:53:33 3436

原创 Android Room 使用详解

Android Room 使用详解

2023-02-08 09:54:49 3589

原创 Android检查网络工具类

检测网络工具

2023-02-03 17:25:25 326

原创 Android获取系统文件常用路径(详细)

Android获取系统文件常用路径(详细)

2023-02-03 16:19:07 2752 1

原创 Andriod开发R文件爆红相关解决方法及排查方案

Andriod开发R文件爆红相关解决方法及排查方案

2022-11-16 14:11:53 4555

原创 webview重定向解决方案

webview重定向终极解决方案

2022-10-19 11:42:12 1207

原创 TabLayout使用

1. 效果图:2. layout_activity.xml <android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dime.

2021-08-11 19:25:02 232

原创 自定义Dialog并设置圆角和宽高

效果图:

2021-06-04 11:33:46 380

原创 Android中动态调整ImageView的宽高比

原理在写好布局文件后,首先拿到整个屏幕的宽度,然后减去左右两侧的padding所占的宽度,得到的结果就是ImageView应该设置的宽度 再由一定比例计算出高度 最后以ImageView.setLayoutParams()完成宽高的设定...

2021-06-01 16:47:08 2470 1

原创 RecyclerView设置分隔线

添加默认分割线:高度为2px,颜色为灰色recycleview.addItemDecoration(new DividerItemDecoration(getContext(), DividerItemDecoration.VERTICAL););添加自定义分割线:可自定义分割线drawableDividerItemDecoration dividerItemDecoration = new DividerItemDecoration(getContext(), DividerItemDec

2021-05-20 17:12:47 603

原创 Android 设置获取控件宽高

获取控件的宽高/** * 获取控件的高度或者宽度 * isHeight=true 则为测量该控件的高度 * isHeight=false 则为测量该控件的宽度 * @param view * @param isHeight * @return */ public static int getViewHeight(View view, boolean isHeight){ if(vi.

2021-05-20 16:51:48 410

原创 自定义柱状图--AAChartCore

效果图传送门https://github.com/AAChartModel/AAChartCore参数文档https://api.highcharts.com.cn安装1. 下载Demo AAChartCoreDemo2. 将Demo中的名为 AAChartCoreLib 和 assets 的文件夹拖入项目中使用1. 在xml文件中使用 AAChartView 布局<com.example.anan.AAChartCore.AAChartCoreLib.A

2021-05-20 16:11:19 1563 1

原创 NFS挂载问题—— failed: Protocol not supported

问题分析:nfs 默认就只支持协议3和协议4,但是 uboot 默认启动的是协议2,需要配置文件为支持协议2解决办法:需要在/etc/default/nfs-kernel-server末尾加一句:RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"然后重启一下 nfs : service nfs-kernel-server restart参考:https://blog.csdn.net/qq_33475105/article/..

2020-11-11 15:43:51 6013

原创 设计模式(六) 代理模式

在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大图像等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接访问真实对象,如某单位的内部数据库等。代理模式的定义与特点代理模式的定义:由于某些原因需要给某对象提供一个代理

2020-08-26 11:39:30 137

原创 设计模式(五) 建造者模式

在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去组装计算机,然后再交给要买计算机的采购员。生活中这样的例子很多,如游戏中的不同角色,其性别、个性、能力、脸型、体型、服装、发型等特性都有所差异;还有汽车中的方向盘、发动机、车架、轮胎等部件也多种多样;每封电子邮件的发件人、收

2020-08-26 08:27:55 203

原创 设计模式(四) 抽象工厂模式

前面介绍的工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如农场里既养动物又种植物,电器厂既生产电视机又生产洗衣机或空调,大学既有软件专业又有生物专业等。模式的定义与特点抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类.

2020-08-25 17:04:30 163

原创 原型模式

奖状创建成功!张三同学:在2016学年第一学期中表现优秀,被评为三好学生。韶关学院奖状拷贝成功!李四同学:在2016学年第一学期中表现优秀,被评为三好学生。韶关学院

2020-08-25 14:54:21 161

原创 ubuntu16.04 安装包提示没有可安装候选

sudo apt install vim正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 没有可用的软件包 vim,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到E: 软件包 vim 没有可安装候选解决方法:设置-->软件和更新-->Ubuntu软件-->勾选Canonical支持的免费和开源软件(main),输入密码然后执行安装命令:su

2020-07-10 11:54:54 2741

原创 android studio中xml文件报错: URI is not registered的解决办法

问题一:URIisnotregistered(Settings|Languages&Frameworks|SchemasandDTDs)假如是下面框框内是报红色字体并且提示此错。解决方案:进入 File->Settings->Languages&Frameworks->Schemas and DTDs目录下:...

2020-03-13 11:10:45 1448

原创 APP启动页隐私弹窗实现说明

最近审核严禁,腾讯应用市场要求APP在启动页增加隐私政策和用户协议,用户从腾讯应用市场上下载APP,第一加载的时候弹窗,不然审核就不给过,样式大概如下用户若点击不同意的时候,无法进入APP内部。下面把实现的代码贴上来1、判断是否首次进入APP/** * 是否是首次进入APP */ public static boolean isFirstEnterAp...

2019-12-20 19:41:34 10608 5

原创 SharedPreferences 工具类封装

public class SharedPreferencesHelper { private SharedPreferences sharedPreferences; /* * 保存手机里面的名字 */private SharedPreferences.Editor editor; public SharedPreferencesHelper(Con...

2019-12-11 10:00:02 195

原创 验证码倒计时

public void onCodeClick() { final long count = 60; // 设置60秒 Observable.interval(0, 1, TimeUnit.SECONDS) .take(count + 1) .map(new Function<Long, Long&gt...

2019-11-22 15:08:26 158

原创 android获取SIM卡信息和手机号码

直接附上代码,具体实现new一个PhoneInfoUtils对象,调用其方法即可。public class PhoneInfoUtils { private static String TAG = "PhoneInfoUtils"; private TelephonyManager telephonyManager; //移动运营商编号 private S...

2019-10-25 09:42:44 5581 1

原创 电脑网线水晶头接法图解

材料/工具专用网线钳,网线,足够的水晶头。国际标准:标准568A:1绿白,2绿,3橙白,4蓝,5蓝白,6橙,7棕白,8棕标准586B:1橙白,2橙,3绿白,4蓝,5蓝白,6绿,7棕白,8棕方法一(通用)1 准备几个这样的水晶头 2 脱掉部分胶后,裸露的八根不同颜色的线 3 一把网线钳 4 将八根小线依次排为:橙白、橙、绿白、蓝、蓝...

2019-10-15 10:43:43 6444

原创 扇形展开的悬浮菜单按钮CircularFloatingActionMenu

Android CircularFloatingActionMenu在github上项目主页地址:https://github.com/oguzbilgener/CircularFloatingActionMenuAndroid CircularFloatingActionMenu要实现的效果如动态图所示:Java代码:import android.animation.Objec...

2019-09-02 16:27:41 1701

原创 Android自定义控件 ---- 带下划线的TextView

一、效果图:当点击控件时,有个下划线的选中效果二、实现在values下添加资源文件attrs_underline.xml<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="UnderlineTextView"> &lt...

2019-08-29 16:21:48 394

原创 Android java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity解决方案

Android项目在使用Glide有时会出现这样的异常:java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestM...

2019-08-02 19:31:03 570

原创 android 获取视频第一帧作为缩略图

今天,简单讲讲android里如何获取一个视频文件的第一帧作为缩略图显示在界面上。一.使用MediaMetadataRetriever获取视频的第一帧作为缩略图/** * 获取视频文件截图 * * @param path 视频文件的路径 * @return Bitmap 返回获取的Bitmap */ public static Bitmap getVideo...

2019-08-02 19:20:08 2134

原创 安卓视频播放器 仿今日头条视频播放控件----JiaoZiVideoPlayer

前段时间由于项目需要用到类似于今日头条的视频播放器,实现在线播放,边缓存边播放,当然也可以播放本地文件,如下图:这里写图片描述这里我推荐大家使用的是jiecaovideoplayer开源库,这个库的播放引擎是ijkplayer,它调用ffmpeg, 原项目GitHub地址:https://github.com/lipangit/JiaoZiVideoPlayer一、项目引入:1、...

2019-08-02 19:13:38 1444

原创 设计模式(八) 模板方法模式

定义定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。该模式的主要优点如下。它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展。 它在父类中提取了公共的部分代码,便于代码复用。 部分方法是由子类实现的,因此子类可以通过...

2019-07-23 17:55:19 140

原创 设计模式(七) 外观模式

外观模式(Facade Pattern) 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接...

2019-07-19 17:21:28 166

原创 设计模式(六) 适配器模式

适配器模式适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器...

2019-07-18 17:27:09 166

原创 设计模式(五) 命令模式

命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。命令模式通过这种封装的方式实现将客户端和接收端解耦。类型:行为型模式(类与类之间的行为型模式)命令模式的几个角色: 抽象命令接口Command:定义命令的接口,声明执行的方法。 具体的命令对象ConcreteCommand:持有具体的接受者对象,完成具体的具...

2019-07-16 17:34:48 153

原创 单例模式

概念:java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、静态内部类单例。单例模式有以下特点:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的...

2019-07-12 14:34:37 120

原创 设计模式(三)工厂模式

一 概述:属于创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式。直接用new可以完成的不需要用工厂模式二 简单(静态)工厂:一个例子:我喜欢吃面条,抽象...

2019-07-11 17:39:48 234

原创 设计模式(二)装饰者模式

一.装饰者模式:定义动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。组合和继承的区别继承。继承是给一个类添加行为的比较有效的途径。通过使用继承,可以使得子类在拥有自身方法的同时,还可以拥有父类的方法。但是使用继承是静态的,在编译的时候就已经决定了子类的行为,我们不便于控制增加行为的方式和时机。组合。组合即将一个对象嵌入到另一个对象中,由另一个对象...

2019-07-10 11:40:05 146

原创 设计模式(一)观察者模式

1.观察者模式模式简介定义观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式结构图图 6-11 观察者模式的结构图在观察者模式中有如下角色: Subject:抽象主题(抽象...

2019-07-08 12:12:45 157

原创 Android 计时器Timer,时间格式化以时分秒显示

在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务。比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask。APITimer是一个普通的类,其中有几个重要的方法;而TimerTask则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用Timer创建一个他的对象,然后使用这对象的sch...

2019-05-30 17:08:27 5700

restclient-ui

简易版windows桌面网络访问

2023-04-11

Android 微信应用签名

Android 微信应用签名

2022-09-07

PDF Shaper Professional 转换器

PDF 工具

2022-09-07

AAChartCoreLib.7z

根据AAChartCoreLib修改符合自己需求的参数

2021-05-20

C语言小白变怪兽 v1.0.rar

《C语言小白变怪兽》由C语言中文网站长执笔,将多年的编程经验灌输其中,典型的实践派。这部教程已经发布了 4 年,经历了 5 次大改版,请猛击《关于作者》《如何才能完成这部教程》了解教程背后的故事。

2020-11-27

空空如也

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

TA关注的人

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