自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dota_wy的博客

老司机上路,还需要安全带吗

  • 博客(113)
  • 资源 (3)
  • 收藏
  • 关注

原创 AndroidStudio测试用例合集(一)

android单元测试UT用例

2022-04-10 16:47:24 4983 1

原创 Python自学篇之获取网站headers的方法

Python自学篇之获取网站headers的方法python学习中遇到会设置反爬的网站或带有headers的网站时,我们在调用请求时需要加上headers,否则抓取不到数据,下面时抓取方法注:格式为:headers = {“User-Agent”:“xxx”}1、打开网页,按下F12键2、之后再点击下图所示位置:注意:如果name左侧栏目没有数据,按F5刷新一次3、然后python代码中再写入headers即可...

2022-03-27 17:21:15 12802 2

原创 超简单的扫描二维码功能

华为的一键集成扫描二维码功能参考地址:https://blog.csdn.net/winisit86/article/details/104807678

2021-03-10 18:16:18 366

原创 Git命令行使用

Git的使用1、定位git安装地址cmd中输入 where git2、查看用户名和邮箱git config user.namegit config user.email3、修改用户名和邮箱git config --global user.name "userName"git config --global user.email "userEmail"4、添加文件git add readme.txt5、查看历史提交记录git log6、查看远程仓库地址git remote

2021-03-10 16:48:11 134

原创 android仿知乎头条的截屏分享

仿知乎头条的截屏分享功能截屏首先无固定页面,那么直接写入BaseActivity中最稳妥步骤如下:1、在BaseActivity中private ScreenShotListenManager screenShotListenManager;private Context mContext; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { screenShotListenManage

2021-03-09 16:38:03 327

原创 android推送设置功能

推送推送分很多种,手机的厂商推送,手机系统自带的开关推送,这里我们说的是后者,如何打开和关闭手机系统后台推送设置代码如下:使用方式:直接调用下面这个方法,即可跳转进入android手机系统自带的设置中去开启或者关闭(注:isOpened为默认开启状态下不让跳转执行关闭操作,可根据需要做出调整) private void initSystemSetting() { NotificationManagerCompat manager = NotificationManagerCompat

2021-03-09 15:50:05 1205 1

原创 面试题之热修复原理

热修复的工作原理1、经过多重的类加载器DexClassLoader的分析后,从当中获取Element数组对应的类之后在加载,然后采用数组遍历,遍历出一个个的dex文件。2、执行for循环,对dex文件处理,获取class文件。3、我们将打包修复好的补丁dex文件放入Element数组的第一个元素中,这样就能保证获取到的class是最新修复好的class了。(而有bug的class也存在的,不过放到了Element数组的最后一个元素中了,没机会被拿到)我其实很想对那些面试官说一句:你们不要再问我

2021-02-26 18:07:21 282

原创 面试题之设计模式

一、设计模式之观察者和发布订阅者的区别1、观察者Observer 观察者;Observable 被观察者观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新。观察者和被观察者,是松耦合的关系2、发布-订阅者publisher-subscriber在发布订阅模式里,发布者,并不会直接通知订阅者。它们的纽带是一个消息队列Broker来负责嫁接二者。发布者只需告诉Broker,我要发的消息,topic是AAA;订阅者只需告诉B

2021-02-24 09:37:09 101

原创 面试题之OkHttp工作原理

OkHttp工作原理1、OkHttp框架流程1、创建OkHttpClient对象2、封装request对象3、创建Call对象4、把request请求加入到调度器5、执行Call的网络请求,其中的责任链式的拦截器,也在这个步骤中实现,返回结果...

2021-02-19 09:39:12 344

原创 面试题之Glide工作原理

1、Glide的工作原理以及glide和picasso的区别Glide的工作原理:首先,glide的写法简洁,使用方便;其次,glide的with()方法底层调用的是getRetriever()方法,说到底就是获取FragmentManager,然后通过获取单例的RequestManagerRetriever类进行hanler回调处理,进而在获取到的Fragment中生成对应的生命周期方法来同步线程页面中对应的生命周期方法RequestManagerFragment类中,在onAttach()方法中注册

2021-02-18 19:27:11 798

原创 notifyItemRemoved的使用

日常bug记录问题出在列表单个Item删除时出现的首先,咱用的是IRecyclerView,其次是分页加载,然后就是重点了:我删除item到第七个时崩溃了,why?带着疑惑去调试了一波,发现原来使用的notifyItemChange()方法不好用,移除的和刷新出来的数据不对,然后调整为notifyItemRemove()方法,发现好用多了,使用代码如下//index为当前选中的item的位置position mDatas.remove(index); notifyItemRemoved(inde

2021-02-08 14:09:41 3227

原创 Html中加入文字和图片

TextView控件中的html语句中添加文字和图片1、创建添加png/jpg必要的类 public class ImageGetterUtils { public static MyImageGetter getImageGetter(Context context, TextView textView) { MyImageGetter myImageGetter = new MyImageGetter(context, textView); return m

2020-06-16 20:04:50 3866

原创 android扫码功能集成

android集成扫码功能1、zxing扫码集成2、zbar扫码集成3、华为官方提供的扫码集成(推荐使用)上面的三种集成中,相信集成过的都知道第一种zxing扫码集成,遇到多种机型和扫码识别成功率都有很多缺陷;第二种扫码可以,但是相册扫码功能有待挖掘,不支持业务需要,但是相比较于第一种来说,识别的成功率要高出很多而这里,我们在踩过上面的坑后,都要果断的抛弃他们,因为有更牛逼的更简单的操作集成来了,这里我们只介绍第三种,前二种大家可以百度看看华为扫码功能集成介绍整个项目的build.gra

2020-06-15 17:00:50 554 1

原创 ScrollView中嵌套ViewPager,再嵌套Fragment,再嵌套RecyclerView的滑动冲突

我的布局可能不是很好,但是却可能对自己以后碰到或者有类似的场景的朋友们有所帮助,所以下面:场景一:ViewPager+Fragment切换时,RecyclerView向上自动滑动解决方案:禁止RecyclerView获取焦点,在父布局中加入android:descendantFocusability="blocksDescendants"完整代码如下:<LinearLayout ...

2020-02-13 08:37:20 443

原创 ScrollView中嵌套ViewPager,再嵌套Fragment,再嵌套RecyclerView的滑动冲突

我的布局可能不是很好,但是却可能对自己以后碰到或者有类似的场景的朋友们有所帮助,所以下面:场景一:ViewPager+Fragment切换时,RecyclerView向上自动滑动解决方案:禁止RecyclerView获取焦点,在父布局中加入android:descendantFocusability="blocksDescendants"完整代码如下:<LinearLayout ...

2020-02-12 22:45:30 818

原创 Json格式转换

Json格式转换由于本人经常复制粘贴导致很多基本的工具的使用都不怎么记得住,现在特用csdn来帮助我恢复记忆!1、格式转换bean --> json --> JSONObject Gson gson = new Gson(); String jsonStr = gson.toJson(data); JSONObject datas = (JSONObject) JSONVal...

2020-01-20 17:58:25 824

原创 图片剪裁 --高清图压缩 -- Base64上传服务器

图片剪裁 --高清图压缩 – Base64上传服务器应用场景:1、webview界面与native的js交互中调用更改头像2、native的发布文章动态的添加多图此处我的应用场景主要为一场景,用于js交互使用,但是我调用native的剪裁功能后发现剪裁图片时如果取消,无法获取取消的回调操作,而且还存在很多机型的适配和系统剪裁的方形或者圆形的适配(比如:小米的data返回为null;华为手...

2020-01-17 16:14:00 255

原创 数据存储之GreenDao的使用

数据存储之GreenDao的使用1、Project的build.gradle中加入dependencies { classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' clas...

2019-11-22 18:57:04 217

原创 ForegroundColorSpan不生效的解决办法

SpannableString设置指定字符串的颜色变化1、在设置字符串文字颜色2、添加对应的文字点击跳转事件正常的写法相信大家都会,但是会遇到三种问题问题一、文字的颜色设置没有起作用解决方法:关闭点击事件或者在updateDrawState()方法中写下面的方法为超链接文本设置颜色 ds.setColor(context.getResources().getColor(R.color....

2019-11-15 13:47:06 2189 2

原创 XRecyclerView中嵌套了横向滚动的控件的滑动冲突处理

XRecyclerView中嵌套了横向的ViewPager或者HorizontalScrollView时的滑动冲突问题处理方法这类问题,其实XRecyclerView已经帮我们处理好了,只需要一行代码,即: mXRefreshView.setCustomHeaderView(new HeaderView(getActivity())); mXRefreshView.setCu...

2019-08-23 17:45:59 323

原创 文字第一行的左侧添加图片并在文字第二行时居左对齐

文字第一行的左侧添加图片并在文字第二行时居左对齐废话不多说,上图上代码public static void setSpanString(String name, String flag, TextView textView, Context mContext){ SpannableString spannableString = new SpannableString(" ...

2019-08-14 20:06:49 538

原创 动态清除Item的间距 topMargin和bottomMargin

列表Item间的间距动态调整一、动态测量出创建的列表的高度并给它设置上下间距**注:**contentViewHolder.llExpertClassifyContainer 为在adapter中引用的控件名称,此处可以根据需要调整成自己需要的viewRecyclerView.LayoutParams lp = (RecyclerView.LayoutParams) contentViewH...

2019-08-14 19:51:30 301

原创 Alt+Insert不起作用

Alt+Insert无法调起Studio/IDEA开发中会用到的快捷键的使用——Alt+Insert ,由于重新安装系统重装软件后安装插件冲突导致的快捷键失效安装了butterknife插件后,generate 就不能用了,alt+insert 快捷键也用不了由于安装了二款ButterKnife的插件就导致软件识别不了要用哪个插件才出现问题,卸载掉一个,留下我们开发中常用的那款就行了,再重...

2019-05-12 11:24:08 4071

原创 内存泄漏和内存溢出

Android之内存泄漏和内存溢出的区别以及处理方法内存泄漏和内存溢出的定义内存泄漏(Memory Leak)的含义内存溢出(Out of Memory)的含义两者区别发生的原因和解决方法内存泄漏和内存溢出的定义内存泄漏(Memory Leak)的含义当一个对象不在使用了,本应该被垃圾回收器(JVM)回收。但是这个对象由于被其他正在使用的对象所持有,造成无法被回收的结果。内存泄漏最终会导致内...

2019-04-23 17:39:21 219

原创 Android 性能优化

由于最近离职 面试时很多人经常会问到的一个问题就是app的性能优化这块的知识了,其实我想说的是,遇到什么问题了都自会出现对应的处理方法,之所以很多问题答不上来的是因为多数app并没有那么高的要求,主要的还是引流为主,但是,对于这些问题,我们也只能硬着头皮去回答了,所以在此做了个总结。用户体验性能主要分为以下几种:1、流畅——使用时避免出现卡顿,响应速度快,减少用户等待的时间,满足用户期望2、...

2019-04-14 14:01:38 176

原创 app中module导包冲突解决

在项目中导入jar包或者aar包时会碰到许多无头绪的包冲突,细查之下我们会发现,app/build下导入的包与引入的module下的包冲突的解决方法1、项目引入v4包和v7包,因为v7包里面包含了v4包,所以导致冲突解决方案:compile('com.android.support:appcompat-v7:23.3.0') { exclude module: 'su...

2019-03-29 15:24:28 504

原创 MVP框架的整理(一)

最近离职在即,所以没事整理了下最近的一些工具类和许多学到的知识,并整合在MVP框架中实现了,当然,主要搭建的是框架和首页上的功能模块,其余模块,暂时只用图片代替了下,方式雷同。下面,我们先观看一波功能图:当中有你们需要的轮播图banner的使用(打成了aar使用),有公告栏的封装,这里我们用的都是最近比较潮流的三方库,另外也有github上知名的封装库,同时,我自己也对app下面的buil...

2019-03-29 11:29:31 351

原创 studio工具快捷开发

Android studio快捷开发1、如下图:File --&gt; Settings --&gt; Editor --&gt; Live Templates --&gt;创建自己的文件内容代码区域自己编写,然后命名好了去输入使用即可2、如下图:File --&gt; Settings --&gt; Plugins --&gt; Alibaba Java Coding Guid...

2018-11-22 10:10:28 288

转载 android github主流框架大全

Android github主流框架大全,浏览网页时看到的这位老哥整理的内容,在此仅做记录。如果你都会了,说明你已经强大的不行了;如果你还不会,说明你要走的路还很长。链接地址:https://www.jianshu.com/p/7f238825cdea...

2018-11-13 16:26:48 199

原创 Android Studio中的Reset回滚队友代码和Stash Changes暂存提交代码

Studio中的一些我不太明白的功能一、Reset Current Branch to Here之回滚选择多人同时开发的模式已经越来越多了,所以,我们的提交记录也必然需要写清楚并且随时会有回滚的可能,这里我们说回滚的功能点击这里的Reset Current Branch to Here后会出现下图这里我们简单了解下这几个选项的大概含义:Soft:选择这个模式意思是仅仅撤销commit...

2018-10-24 16:41:03 1440

原创 阿里热修复之Sophix——专有云发布版集成步骤

阿里热修复之Sophix——专有云应公司业务需求,和阿里云的阿里热修复相关技术人员合作,整了波专有云的热修复集成Demo一、app/build.gradle下的代码注意:第二行的代码在集成中要开启的,这里注释掉是为让app可以本地run起来看到界面apply plugin: 'com.android.application'//调试无法安装时注释掉这行//apply plu...

2018-09-13 15:09:42 2013

原创 阿里热修复之Sophix——公有云发布版集成步骤

Sophix 公有云接入去年的时候写的一篇阿里云热修复的文章,那时它还是在公测阶段,一直没能投产,而今,公司项目需要集成已经投产的阿里Sophix功能,所以再次集成了一遍,记录下了步骤和遇到的一些问题。一、在app/build.gradle中添加依赖包dependencies { implementation 'com.aliyun.ams:alicloud-android...

2018-09-13 11:29:18 876

原创 android studio 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的解决办法

错误代码:Error:Execution failed for task ':app:preDebugAndroidTestBuild'.&amp;gt; Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) ...

2018-09-04 15:30:07 528

原创 Android开发优化方案之注解的使用

注解在android开发或者java后台开发中都使用的极为广泛,这里,仅用来记录我知道的一些使用过的或对代码优化warning和error有帮助的注解的使用一、android.annotation包中TargetApi和SuppressLint注解当代码中兼容的最低版本android:minSdkVersion为10,而我们要使用14或者其他更高版本Api中的方法,这时我们可以使用@Tar...

2018-08-30 11:29:17 287

转载 BigDecimal的使用

一、BigDecimal的比较大小int a = bigdemical.compareTo(bigdemical2)a = -1,表示bigdemical小于bigdemical2;a = 0,表示bigdemical等于bigdemical2;a = 1,表示bigdemical大于bigdemical2;二、BigDecimal的加减乘除运算//提供精确的加法运算。 ...

2018-08-27 13:42:51 322

原创 Android开发优化方案之软引用和弱引用的使用

对象的引用分为四种级别,为了能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。本篇主要介绍软引用和弱引用的使用和区别一、软引用:SoftReference如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。即缓存空间不够时才会选择去回收和释放部分内存。二、弱引用:WeakRefe...

2018-08-22 16:07:16 337

原创 Android开发优化方案之resolveActivity的使用

三方应用程序预防App出现Crash处理方式开发中我们经常会用到第三方应用程序的Activity和Service,但是你无法保证用户设备上安装了特定的某个应用软件,或者设备上有能够处理你的Intent请求的程序。所以我们一般在调用前确定下是否可以将三方启动的界面解析为一个Activity,并判断它能否启动该intent这里我们用跳转设置界面为例:工具类中方法:当...

2018-08-22 11:01:34 1546

原创 IDEA搭建SSM框架(一)

最近开始走起曾经一直希望开始的课程——SSM的搭建下面我们直入主题步骤:一、首先使用idea新建一个Maven webapp项目这里,我们只需要注意一点,创建的是Maven且不要选错就好了二、搭建目录结构在创建完项目后,我们又会需要去创建不同功能的文件和文件夹1、如果创建的文件夹不是package或者资源文件夹或者其他格式的,我们需要这样操作,如下图...

2018-08-12 11:25:11 438

原创 模拟器夜神的安装配置与使用(二)

今天在使用模拟器运行studio项目时发现genymotion不能安装成功就试了下夜神模拟器,看到网上的一位老哥写的挺好的,这里我就不重复叙述了,直接上了链接:https://blog.csdn.net/qq_34966519/article/details/51857967完成他的配置运行即可安装成功,但是我依然无法运行我的项目,貌似是限制了x86的不让运行什么的,很烦恼,但是软件安装还...

2018-08-06 09:43:42 2680

原创 内存溢出的处理方式(一)

内存溢出的处理方式通常我们studio中自带的测试内存的工具有LeakCanary,但是,我们还可以使用MAT来进行相关的操作测试OOM异常的情况下面是我网盘上下载MAT工具的路径:https://pan.baidu.com/s/1j6xjVmr2pI7nhs15vRUQVg后续为大家介绍工具的使用方法!参考链接:https://www.cnblogs.com/xgjb...

2018-08-02 12:22:38 252

MVP框架的使用和封装

MVP模式的框架,封装了轮播图banner的使用,公告栏的封装,许多潮流的三方库的引用

2019-03-29

MVP框架封装

封装的MVP框架,还在一直改进中,当然有看到不当之处也欢迎能够指出问题,如果你没有资源分,可去github下载地址:https://github.com/gitwangyang/MVP

2018-11-06

MVVM框架封装

封装的MVVM框架,近期一直在改进,如果你没有资源分,可以去github地址下载:https://github.com/gitwangyang/MVVM

2018-11-06

空空如也

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

TA关注的人

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