自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 项目重构之旅

最近让写月度总结,楼主没什么文采想半天不晓得扯点什么好;简单说下上月重构的事儿吧(代码规范好的不用看了,本章算是个人笔记)。 搞过的都知道,一般公司为了尽快上线都是快速开发,比如分好模块几个人同时写,功能性的直接搜一下导进来等等,表面上看不出来有什么问题,但是如果你们其中的某个人离职或者有事请假...

2018-08-06 19:48:57

阅读数 447

评论数 0

原创 rxjava2 compose转换异常

java.lang.IllegalArgumentException: Unableto create converter for com.xxx.xxx.basebean.BaseRespose<com.xxx.xxx.Bean.MenuDetailsBean> ...

2018-07-31 21:33:03

阅读数 556

评论数 0

原创 GreenDao遇到的问题

AS版本3.0.1 greendao版本3.2.2 如果你的实体类实现了序列化接口可能会报:does not declare a static final serialVersionUID field of type long (536871008 at line 28). 声明serial...

2018-07-19 17:13:59

阅读数 386

评论数 0

原创 Litepal对象存储失败

我的操作:一个final修饰的对象用litepal存储后修改然后删除(不是用的对象的delete方法)再次存储就存不进去了解决不是对象的delete()方法,而是通过静态或其他方法删除的,这种情况对象自身是无法知道自己已经被删掉了,所以存储不进去。而你作为操作者你是清楚自己做了什么的,所以这个时候...

2018-06-11 13:04:53

阅读数 945

评论数 0

原创 Android内存优化(使用SparseArray和ArrayMap代替HashMap)

在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比...

2018-06-11 12:48:33

阅读数 76

评论数 0

原创 使用ExpandableListView遇到的问题

ExpandableListAdapter外层item的布局中添加CheckBox控件不能伸缩了没有加点击事件也没有铺满。。无语后来换了个button,记录下暂时木有时间去看原因

2018-06-08 19:04:52

阅读数 70

评论数 0

原创 ArrayList中set(index,object)与add(index,object)方法的区别

set:将原来index位置上的object的替换掉add:将原来index位置上的向后移动List list=new ArrayList();list.add(index,obj);把第index+1个以及第index+1个以后的元素都往后移一位,类似elementData[i+1]=eleme...

2018-06-08 15:50:40

阅读数 2251

评论数 0

原创 Vector与ArrayList与CopyOnWriteArrayList区别

1. Vector & ArrayList 1)  Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。2) 当Vector或...

2018-06-07 14:27:18

阅读数 3546

评论数 0

原创 集成buggly热修复的时候报错

Error:A problem occurred configuring project ':app'.> Failed to notify project evaluation listener.   > Tinker does not suppo...

2018-05-19 11:26:58

阅读数 457

评论数 0

原创 AS升级到3.+遇见滴问题

Error:Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:26.1.0. Open FileS...

2018-05-15 10:57:39

阅读数 153

评论数 0

原创 Android调用系统裁剪黑框

Android调用系统裁剪,这个已经使用的很熟悉了。但是近期项目里使用的时候遇到了一些小问题,所以在此整理一下,以作记录。首先看代码:Intent intent1 = new Intent("com.android.camera.action.CROP"); ...

2018-04-10 16:09:30

阅读数 250

评论数 0

转载 TabLayout设置下划线(Indicator)宽度

原文http://blog.csdn.net/u013134391/article/details/70833903# 再战TabLayout之下划线宽度 这周的需求搞定之后,想到之前有一个小瑕疵,反正没什么事,索性较量较量 如图官方原版就是小瑕疵,反射版本就是最终 ...

2017-11-24 10:11:13

阅读数 4341

评论数 0

翻译 用MediaPlayer+TextureView封装一个实现全屏、小窗口的视频播放器

转自http://www.jianshu.com/p/420f7b14d6f6 项目已添加IjkPlayer支持,后续逐渐完善其他功能。 地址:https://github.com/xiaoyanger0825/NiceVieoPlayer 为什么使用TextureView ...

2017-11-15 13:40:17

阅读数 642

评论数 0

原创 ImageView的scaleType属性

ImageView的scaleType,当设置为fitXY时,虽然ImageView显示那么点尺寸,但是,但是Glide加载图片时,却是以全分辨率加载的,于是加载几张,就OOM了。 改成fitCenter或者centerCrop(试了一下fitStart、fitEnd也行,总之看需求了),就好了...

2017-11-13 10:13:06

阅读数 120

评论数 0

原创 图片加载之Glide备忘录

相关方法 with():指定了声明周期load():加载资源,String/Uri/File/Integer/URL/byte[]/T,或者 loadFromMediaStore(Uri uri)placeholder(resourceId/drawable): 设置资源加载过程中的占位Dr...

2017-10-26 16:43:22

阅读数 157

评论数 0

原创 Android 滑动,拦截事件处理

view 能够正常的吃掉点击事件, 但是如果是滑动事件时, 则是父View 来处理来滑动另一个View 基本原理就是  在View group中得onInterceptTouchEvent 方法中判断是否是滑动, 如果是滑动,那么就返回true 自身去消费滑动事件, 还需要...

2017-09-30 14:40:49

阅读数 1397

评论数 0

原创 apk安装失败笔记

昨天公司刚发了测试机,我拿到一台魅蓝max.刚拆开手机。 今天插上数据线,run.结果居然安装失败。提示信息为:INSTALL_FAILED_USER_RESTRICTED。 顿时懵逼了,刚买的新机,就出现这个问题。无语啊。 刚开始还以为是Android studio的问题。结果模拟器...

2017-09-13 19:05:44

阅读数 373

评论数 0

转载 SwipeRefreshLayout 设置下拉刷新的距离高度

SwipeRefreshLayout 的下拉刷新距离比较短,有的时候,想要手动设置它的下拉刷新高度,如何解决呢?在网上找了好一会,居然没搜到比较满意的答复,好些都是复制粘贴。于是乎,求人不如求己,拿出API文档,大概看了下,发现了三个相关API: 一、setProgressViewEndTa...

2017-08-29 16:42:17

阅读数 2890

评论数 0

转载 SwipeRefreshLayout和ViewPager滑动冲突的原因和正确的解决方式

出处http://blog.csdn.net/u010386612 问题: 1. SwipeRefreshLayout会吃掉ViewPager的滑动事件。 2. SwipeRefreshLayout需要套在ScrollView和ListView上的时候才表现的比较友好,在其他Vi...

2017-08-29 16:40:39

阅读数 187

评论数 0

原创 Bitmap转成byte[]再用base64转成string

用户上传头像,上传的头像图片需要上传至服务器的MySQL数据库保存,当用户上传成功之后每次登陆后从数据库获取头像信息显示。 由于之前一直使用JSON作为客户端和服务器端数据传输形式,JSON虽然使用方便但是不支持自定义类型,所以遇到的问题就是将二进制图片文件转成String,再传到服务器并保存到...

2017-08-15 15:53:54

阅读数 345

评论数 0

转载 ViewPager中嵌套VieRecyclerView 滑动事件解决

转自:http://www.jianshu.com/p/f1785b655019 Android系统中的每个View的子类都具有下面三个和TouchEvent处理密切相关的方法: 1)public boolean dispatchTouchEvent(MotionEvent ev)...

2017-08-08 15:11:04

阅读数 206

评论数 0

转载 Android SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新

转自:http://blog.csdn.net/jdsjlzx/article/details/51412940 SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新 1. 动态设置SwipeRefreshLayout的是否可以刷新 setEnable(bo...

2017-08-03 13:30:26

阅读数 1237

评论数 0

原创 Android自定义样式的Checkbox

常见的自定义样式是改变checkbox的button图片,但是他的需求是去掉checkbox的选项框,使checkbox的样式类似button。我最初给的建议是使用TextView,点击一次改变背景颜色,然后保存当前状态(选中或未选中),但还是很麻烦,查找资料,找到了第二种checkbox的自定义...

2017-08-01 10:08:53

阅读数 1982

评论数 0

原创 Retrofit各个注解的含义及作用

写在前面 本篇文章基于retrofit-2.1进行分析. 1. 各个注解的含义及使用 1.1 Body注解: 作用于方法的参数使用该注解定义的参数不可为null当你发送一个post或put请求,但是又不想作为请求参数或表单的方式发送请求时,使用该注解定义的参数可以直接传入一个实体类,r...

2017-07-20 14:29:16

阅读数 205

评论数 0

转载 玩转Android之数据库框架greenDAO3.0使用指南

用过ActiveAndroid、玩过ORMLite,穿过千山万水,最终还是发现greenDAO好用,ActiveAndroid我之前有一篇文章介绍过 玩转Android之数据库框架ActiveAndroid的使用,如果小伙伴们有兴趣可以去查看,ActiveAndroid目前存在的问题是没有更新了,...

2017-07-20 09:36:08

阅读数 170

评论数 0

转载 简析 addToBackStack使用和Fragment执行流程

以前写切换fragment是写一个双层for循环外层记录上次操作的fragment里面用show显示当前选中的隐藏上一个刚知道有这个方法(还有这种操作???)这是俺转的http://blog.csdn.net/wenxuzl99/article/details/16112725 在使用F...

2017-07-19 17:16:10

阅读数 154

评论数 0

原创 Android混淆心得

混淆介绍 首先先简单说一下什么是混淆和混淆的作用,其实这个搜索下可以找到一堆官方的说法等等,这里简单口语叙述一下,混淆就是把代码替换成a、b、c基本字母组成的代码,比如一个方法名为:function(),混淆后可能会被替换成a()。 混淆的好处: 代码混淆后阅读性降低,反编译后破译程序难...

2017-07-11 10:53:11

阅读数 163

评论数 0

原创 Android开发之线程池使用总结

线程池算是Android开发中非常常用的一个东西了,只要涉及到线程的地方,大多数情况下都会涉及到线程池。android开发中线程池的使用和Java中线程池的使用基本一致。那么今天我想来总结一下Android开发中线程池的使用。 OK,假如说我想做一个新闻应用,ListView上有一个it...

2017-07-09 14:34:29

阅读数 146

评论数 0

转载 Google推荐的图片加载库Glide介绍

原文链接:Google推荐的图片加载库Glide介绍作者 : nuuneoi译者 : jianghejie校对者 : chaossss状态 : 完成 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google...

2017-07-04 11:39:08

阅读数 109

评论数 0

原创 Glide 缓存策略 内存缓存和磁盘缓存

本文主要介绍了如何配置和管理Glide中的缓存,其中大部分内容都可以直接在官方Wiki中找到,这里只是进行了整理和汇总。言归正传,Glide支持图片的二级缓存(并不是三级缓存,因为从网络加载并不属于缓存),即内存缓存和磁盘缓存。 磁盘缓存 一般的图片缓存指的就是磁盘缓存,把网络上的图片缓存到本...

2017-06-30 13:37:20

阅读数 1806

评论数 0

原创 Glide简单实用总结

Glide 是一个高效、开源、 Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个...

2017-06-19 21:26:32

阅读数 268

评论数 0

原创 为RecyclerView添加item的点击事件

最终目的 模拟ListView的setOnItemClickListener()方法,调用者只须调用类似于setOnItemClickListener的东西就能获得被点击item的相关数据。 原理 为RecyclerView的每个子item设置setOnClickListener,然后在on...

2017-06-16 15:13:59

阅读数 168

评论数 0

转载 自定义圆角Dialog

转载自:http://blog.csdn.net/q4878802/article/details/46960165 系统默认的Dialog默认是背景不透明的,有时候项目需要Dialog为圆角透明,这个时候的解决方案就是---重写Dialog - 系统样式 - 自定义以后的样式 ...

2017-06-07 11:54:19

阅读数 145

评论数 0

原创 Android studio 依赖aar包

同jar包一样拷贝到我们的libs文件夹下 然后在build.gradle中添加 repositories { flatDir { dirs 'libs' } } 这里面添加你的aar包,SMSSDKGUI-2.1.4是我的aar包名换...

2017-06-01 14:10:13

阅读数 237

评论数 0

原创 Could not get unknown property 'ANDROID_BUILD_SDK_VERSION' 解决方法

Error:(7, 0) Could not get unknown property ‘ANDROID_BUILD_SDK_VERSION’ for project ‘:InitActivity’ build.gradle如下 apply plugin: 'com.androi...

2017-05-27 13:34:29

阅读数 3918

评论数 0

原创 Android图片质量压缩以及缩略图生成

1、图片的质量压缩 图片的质量压缩是指,仅仅压缩图片文件的大小,但当图片加载到内存中时,占用的内存大小并没有太大变化。可以通过质量压缩,加快图片上传的速度。 代码如下: /** *将文件压缩后覆盖源文件 */ public static void compressImage(File...

2017-05-27 09:55:04

阅读数 282

评论数 0

原创 Android APP性能优化

1. 为什么需要性能优化? 上面说到,在时间窗口期内开发出产品是极端重要的,但是虽然基本功能我们实现了,但是开发出来的产品代码运行的效率怎么样呢?我们的App用户给用户的体验如何呢? 我们的App在低端机上经常ANR、闪退、卡顿等 我们的App在其他分辨率上显示惨不忍睹? 我们的App在不...

2017-05-24 09:25:34

阅读数 160

评论数 0

原创 Android 视频播放的三种方式

1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。 2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。 3、使用MediaPlayer类和SurfaceView来实现...

2017-05-21 19:38:35

阅读数 174

评论数 0

原创 Android系统从

Android操作系统是一个由Google和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android 1.0 beta发布于2007年11月5日,至今已经发布了多个更新。这些更新版本都在前一个版本的基础上修复了Bug并且添加了前一个版本所没有的新功能 2008年--至今...

2017-05-11 19:49:19

阅读数 300

评论数 0

原创 用MessageDigest提取String信息摘要也就是MD5值

import java.io.Serializable; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Created by fengmai on 2017/5/...

2017-05-04 15:22:27

阅读数 320

评论数 0

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