自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

薛定谔的猫

如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择。

  • 博客(133)
  • 收藏
  • 关注

原创 Disconnected from the target VM, address: 'localhost:8602', transport: 'socket'

Android studio Attach debugger to android process 报错: Disconnected from the target VM, address: ‘localhost:8602’, transport: ‘socket’ 解决方案: 把debugger模式由auto改成java...

2018-07-09 21:19:11 45729 8

原创 Could not find matching constructor for: org.gradle.util.Clock()

检出Android studio中的grdle配置; 示例: project中的com.android.tools.build:gradle版本号为:2.3.3 dependencies { classpath 'com.android.tools.build:gradle:2.3.3' } 则对应gradle目录下的wrapper文件家中的gradle...

2018-07-09 18:13:39 8498 1

原创 可能是最好的Mac Charles 配置指南

1.从官网下载最新的Charles。https://www.charlesproxy.com/download/ 2.安装Charles。 3.破解Charles,利用在线工具生成jar文件替换Charles中原来的charles.jar文件。 在“访达”中找到已近安装的Charles.app,右击打开显示包内容,替换charles.jar文件,完成破解。 4.安装HTTPS证...

2018-07-07 19:09:24 9118

原创 dev:dev fatal: HttpRequestException encountered. remote: Invalid username or password. fatal: Authen

描述: 使用sourcetree提交代码到GitHub时提示“dev:dev fatal: HttpRequestException encountered. remote: Invalid username or password. fatal: Authentication failed for ‘https://github.”解决方案: 1.在Git...

2018-06-28 14:15:03 974

原创 android studio中xml布局无法预览

现象描述: android开发中xml布局文件无论是在Design视图下还是text视图下都没法加载预览效果图。解决方案: 仔细检查xml布局是否有报错的地方,若有请解决完错误后再次尝试。 clean project后再次尝试。 ...

2018-06-27 11:24:25 1425

原创 android studio 中无法在线下载插件

在android studio中按照以下步骤操作即可解决: File->Settings->Apparence & Behavior->System Settings->Updates->use secure connnection的勾去掉

2018-06-21 10:09:00 1035

原创 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Message

Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Message 只有空安全(?)或非空的声明(!!)被允许在类型消息的可空接收器上调用。 1.?:在非空的情况下执行语句,为空时直接返回null 1.!!:表示忽略语言的判空检查,即允许程序报NullP...

2018-05-23 15:53:19 8178

原创 Annotation processors must be explicitly declared now.

在主module中的defaultConfig{}中添加javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }

2018-05-17 18:24:40 1409

原创 kotlin-中缀函数

/** *自定义中缀函数--->(扩展函数) * 1.使用infix在fun前修饰 * 2.只能有一个参数(uniqueParam) * 3.是二元的的,参数1:实例(北京);参数二:参数 */ infix fun String.中缀(uniqueParam: String): String { return "啦啦...

2018-05-14 16:16:33 2430

原创 DialogFragment 圆角背景实现

效果: 1.在dialogFragment中动态设置背景色为透明色,注意在xml布局文件中设置并不会起作用。 2.定义布局圆角shape 3.在xml中以 android:background的方式引入。/***DialogFragment */ @Nullable @Override public View onCreateView(LayoutInflate...

2018-03-23 13:31:19 5204

原创 PopupWindow7.0及以上全屏问题

问题描述:PopupWindow在7.0级以上手机上showAsDropDown()方法失效,任然全屏。 解决方案:自定义CustomPopupWindow继承PopupWindow,重写showAsDropDown()方法@Override public void showAsDropDown(View anchor) { //Android7.0适配 ...

2018-03-09 14:05:35 1335

原创 android仿微信发状态图片上传

常见的两种UI样式: 1.列表最后一张默认显示的是一张“加号”图片,点击可以拍照或者从相册中选择照片。当已选图片超过自定义最大张数(比如9张)时,“加号”图片消失。 2.列表第一张始终是默认的”加号”图片,点击可以拍照或者从相册中选择照片。当已选图片超过自定义最大张数(比如5张)时,“加号”图片不消失。 实现思路: 样式一: 整体布局为recycleview,recycl

2018-01-23 17:09:36 3796 1

原创 Android gradle3.x中 implementation 、compile、api区别

compile与api 二者等同,无区别implementation与compile或implementation与api implementation编译的依赖只作用于当前的module。即APP module依赖了core module,core module中使用implementation编译的三方库(如glide)只对core module起作用,app modul

2018-01-20 15:22:08 10024

原创 Android studio 3.x 报错 : Unable to resolve dependency for ':app@dexOptions/compileC

解决方案: 1.检查依赖和被依赖module中的 buildTypes {},二者包含子项( release {} debug{}…)要相同。 2.大招:升级gradle4.x至更高版本。更改版本号然后sync。升级方法: 3.如果是在自己项目中新建了module(比如core)作为主module(app)的依赖module,需要更改依赖module(core)的gr

2018-01-20 14:48:35 26630 1

原创 Android studio app项目红叉无法编译

错误现象如下: 点击run按钮: 可以看到有明显的错误提示: Error: Please select android sdk 解决方案: 主要是修改了.iml(xxx:要run的module名,比如本文的主module:sample) 文件引起的,主要检查.iml文件的以下代码: type="jdk" jdkName="Android API 26 Platfo

2018-01-19 17:02:05 4376

原创 枚举中添加新方法

package com.duyb.book;/** * author : duyb * time : 2018/01/18 * desc : 枚举中添加方法 */public enum EnumTest { /** * 1.定义enum实例 * 以;结束 * 以四大名著为例 */ BOOK_XYJ(1, "西游记"),

2018-01-18 11:32:47 2809

原创 Android 底部导航栏 中间凸起

andrid 中有一种常见底部导航栏中间凸起样式,如图: 中间凸起样式常见的实现方式: 1.借助父布局的clipchildren属性,设置为false,即允许子view超出父view的限制 2.直接在原来view上覆盖view,拦截底层(原来)view的事件。因项目中中使用了BottomNavigationViewEx 作为底部导航栏,本文主要探讨第二种实现方式。Bot

2018-01-17 15:01:51 21243 5

原创 Android Studio 打包签名Signature Version V1 V2说明

在进行打包流程中有一项需要选择签名版本: signature version的区别 V1:可对签名后的文件,作适当修改,并重新压缩。 V2:不能对签名后的 APK作任何修改,包括重新解压。因为它是针对字节进行的签名,所以任何改动都会影响最终结果。正确选择姿势: 1.只勾选v1签名所有机型都能用,但是在7.0及以上不会使用更安全的验证方式; 2.只勾选V2签名

2018-01-11 14:24:47 3831

原创 TextView 多行文字末尾添加图片

private TextView content;String showText="我是多行文字,我末尾需要添加一张图片";//注意此处showText后+ " "主要是为了占位 SpannableString ss = new SpannableString(showText + " "); int len = ss.length(); //图片 Drawable d

2018-01-10 14:45:54 5885 1

原创 Java设计模式-适配器模式

概念 适配器模式把一个类的接口变换成客户端锁期待的另一种接口,从而使原本因为接口不匹配而无法在一起工作的两个类能够在一起工作。类适配器角色说明 适配器类(adapter)通过实现target接口和继承adaptee来实现接口转换。 Target:目标角色,所期待得到的接口。注意此处不能是类。 Adaptee:当前需要适配的接口。 Adapter:适配器角色,把源接口转换成目标接口必

2017-12-05 17:29:41 272

原创 Java设计模式-责任链模式

概念 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递改请求,直到有对象处理它为止。角色说明Handler:抽象处理者角色,声明一个处理请求的方法,并保持对下一个处理节点Handler对象的引用。 ConcreteHandler1(ConcreteHandler1): 具体的处理者,对请求进行处理,如果不处理就讲请求转发

2017-12-05 11:20:37 209

原创 Java设计模式-原型模式

概念 用原型实例制定创建对象的种类,并且通过拷贝这些原型产生新的对象。角色说明 Client:客户端调用类 Prototype:原型抽象接口(提供clone()等方法) ConcretePrototype:具体原型实现类实例原型接口package com.test.dyb.testdesign;/** * <pre> * author : duyb * time

2017-12-04 15:40:30 188

原创 Java设计模式-观察者模式

概念 定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 角色说明 Observerable:被观察者接口。registerObserver():表示将观察者注册到被观察者中,即“订阅”;removeObserver():表示将观察者从被观察者中移除,即“取消订阅”;notifyObservers():当被观察者状态改变的时候,这个方法被

2017-12-01 17:08:15 190

原创 Java设计模式-代理模式

概念 为其它对象提供一种代理以控制对这个对象的访问。角色说明 Subject: 抽象主题类,声明真实主体与代理主题的共同接口方法。 RealSubject: 真实主题类,定义了真实对象的业务方法,供代理类来调用。 ProxySubject: 代理类,持有一个真实类的引用,在接口方法中调用真实主题(RealSubject)相应的方法。实例静态代理 1.创建subject(买

2017-12-01 14:49:12 189

原创 冒泡排序、选择排序、插入排序

冒泡排序 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。private static void bubbleSort(int ar

2017-11-07 15:56:39 211

原创 java 反射机制、代理

概述、 java反射机制是在运行状态中,可以拿到一个类一个对象,然后拿到所有的类中所有属性和方法。查看类信息获取class对象: 1.使用Class类的forName(String clazzName)方法。参数为完整类名。 2.调用某个类的class属性。 3.调用某个对象的getClass()方法。//第一种方式Class myClass=Class.forName("

2017-10-26 15:06:49 255

原创 Java设计模式-建造者模式

概念 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。角色说明 Product 产品类 : 具体产品类。 Builder : 抽象接口类, 规范产品的组建。 ConcreteBuilder : 具体的建造者,实现Builder接口,构造和装配各个部件。. Director : 指挥着,构建一个使用Builde接口的对象。

2017-10-17 18:12:17 657

原创 java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal res

使用BigDecimal进行出发运算(调用divide())时出现的,是因为不整除产生无先循环小数所致。源码如下: public BigDecimal divide(BigDecimal divisor) { BigInteger p = this.getUnscaledValue(); BigInteger q = divisor.getUnscaledValue

2017-10-17 14:28:15 305

原创 java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false is

android studio 报错日志:09-22 11:15:16.433 31234-31234/com.fssmw.pm E/AndroidRuntime: FATAL EXCEPTION: main Process: com.xxx.pm, PID: 31234

2017-09-22 14:33:19 802

原创 Android运行时权限(危险权限)

Android现在将所有权限分为两大类:一类是普通权限,一类是危险权限。普通权限系统会默认申请,危险权限需要用户手动授权。危险权限一共是9组24个权限,9组分别为日历、拍照、联系人、位置、麦克风、电话、传感器、短信及存储。 权限名称 权限名 CALENDAR (日历) READ_CALENDAR、WRITE_CALENDAR CAMERA (相机) CAMERA CONTA

2017-09-16 11:48:54 3132 1

原创 Android 启动活动的最佳写法

常见写法 通常一个activity(FirstActivity)显示启动另一个activity(SecondActivity)的写法如下,在第一个activity中: Intent intent = new Intent(FirstActivity.this,SecondActivity.class); intent.putExtra("param1",data1);

2017-09-16 10:41:38 710

原创 greenDao3.x 深入使用

参数类型1.默认参数 byte, Byte short, Short int, Integer long, Long float, Float double, Double boolean, Boolean byte[] String Date2.自定义参数 使用数据库支持的原生数据类型通过PropertyConverter类转换成

2017-09-06 17:54:11 566

原创 Android中 使用RxJava2.0注意点归纳

ObservableEmitter事件发送规则 Observable可以发送无限个onNext, 观察者也可以接收无限个onNext. Observable发送了一个onComplete(或者onError)后,可以继续发送onComplete(或者onError)后续事件,但观察者收到onComplete(或者onError)后不再接收事件。 Observable可以不发送onC

2017-08-31 17:32:50 721

原创 代码审查(Code Review)清单

常规项 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。 所有的代码是否简单易懂? 代码符合你所遵循的编程规范么? 是否存在多余的或是重复的代码? 代码是否尽可能的模块化了? 代码是否尽可能的模块化了? 是否有被注释掉的代码? 循环是否设置了长度和正确的终止条件? 是否有可以被库函数替代的代码? 是否有可以删除的日志或调试代码? 大致过程流

2017-08-30 17:02:35 1060

原创 Android studio 使用Hierarchy Viewer

注意: 1.HierachyViewer无法连接真机调试 ,只能在studion中连接模拟器调试。 2.本文基于AS 2.3.3. 3.APP先运行起来再使用Android Device Monitor。启动Android Device Monitor第一种 依次点击菜单Tools>Android>Android Device Monitor,如下图: 第二种 直接点击菜单

2017-08-30 10:53:58 762

原创 android studio 常用快捷键集锦

一直在studio中使用eclipse的快捷键,今天突然想改换成studio的快捷键。简单记一下常用快捷键。】Ctrl+D: 集合了复制和粘贴两个操作,如果有选中的部分就复制选中的部分,并在选中部分的后面。(好奇葩…)Ctrl+斜杠 、Ctrl+shift+斜杠: Ctrl+斜杠:注释或取消注释当前行或选中的代码块,以双斜杠的方式即“//” Ctrl+shift+斜杠:注释或取消注释选中的代码

2017-08-22 10:35:52 293

原创 android edittext 输入字数限制 超过最大字数toast

1.不实时显示已经写入字体 etEvaluateContent.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {

2017-08-17 10:51:00 4766

原创 Android 使用SpannableString设置金钱文本显示

1.未完待续 2.简单例子 3.参考:http://www.jianshu.com/p/84067ad289d2SpannableString str = new SpannableString("¥300.00"); RelativeSizeSpan sizeSpan = new RelativeSizeSpan(0.8f); str.

2017-08-16 10:54:52 438

原创 android editText 控制输入最大值、保留两位小数、保留小数点前面两位数

常用方案: 1.在editText的监听addTextChangedListener中逻辑判断 2.使用editText的setFilters(new InputFilter[]),设置输入过滤。保留小数点后两位方法: 1.设置editTextview的inputtype: editText.setInputType(InputType.TYPE_NUMBER

2017-08-07 19:53:02 3895

原创 Android studio接入融云IM

说明: 官方网址:http://www.rongcloud.cn/ 1.融云SDK 将各部分功能以插件化的形式独立提供,开发者可以根据自己的需要,自由组合下载。 2.IM 界面组件 - IMKit ,IM 通讯能力库 - IMLib ,注意使用IMKit的时候必须要引入IMLib,但可以单独使用IMLib,由自己完全开发的界面代替IMKit. 3.PushLib用于融云推送的保活,

2017-08-05 17:45:21 2699 1

空空如也

空空如也

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

TA关注的人

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