- 博客(45)
- 资源 (4)
- 收藏
- 关注
原创 FloatScreenView:适用于同时存在多种类型View的飘屏场景
项目中的飘屏场景比较多,但出现的数量一般,另外每个场景的view样式不统一,行数不统一,动画时间也不统一,所以对项目中所有飘屏相关做了重构,不管什么飘屏类型只需调用addFloatView即可支持单行飘屏setSingleLine支持单一动画时间setSingleTime/** * 飘屏view * @author https://github.com/lyldding */cla...
2019-12-31 16:07:48
677
原创 Tmp detached view should be removed from RecyclerView before it can be recycled:ViewHolder
最近接手的项目友盟统计中有个RecyclerView的异常特别多,从日志中只能看出问题出现的业务范围,并且从代码的提交记录看,一年前有人调查过这个问题^^,但是这个产品和测试也没有复现这个问题,难道是不影响客户端的正常使用?异常信息:java.lang.IllegalArgumentException:Tmp detached view should be removed from Recycl...
2019-11-06 11:51:23
11948
2
原创 AndroidX设计架构MVVM之DataBinding+ViewModel+LiveData
AndroidX设计架构MVVM之DataBinding+ViewModel+LiveData
2019-10-23 10:43:57
4299
4
原创 Androidx:Rxjava2中使用AutoDispose解决内存泄漏的原理分析
Rxjava中使用AutoDispose解决内存泄漏的原理分析
2019-10-22 10:29:24
1917
原创 AndroidX设计架构MVVM之DataBinding搭配LiveData的分析
AndroidX设计架构MVVM之DataBinding结合lLiveData的分析
2019-10-18 17:40:29
1099
原创 AndroidX设计架构MVVM之LiveDatal生命周期及数据监听分析
AndroidX设计架构MVVM之LiveDatal生命周期及数据监听分析
2019-10-17 18:54:05
1177
原创 解决TextView 设置ClickableSpan之后,点击和滑动冲突以及空白区域处理
TextView 设置ClickableSpan之后,会覆盖TextView的滑动主要解决问题:setMovementMethod(LinkMovementMethod.getInstance());LinkMovementMethod 继承ScrollingMovementMethod ,所有在TextView为长文本时是可以滑动的,public class LinkMovementMe...
2019-08-12 18:11:54
2265
原创 android自定义简易英文文章阅读器,支持点击查单词
本文主要说明一个简易的英文文章阅读器实现逻辑(^^)一:基本逻辑整体逻辑为TextView+ViewFlipper1:实现页面中单词点击选中2:实现分页功能3:实现简单的翻页动画第一步:实现页面中单词点击选中功能。自定义阅读页面ReaderPage extends TextView因为要有单词点击事件,需要设置setMovementMethod(LinkMovementMethod...
2019-08-12 18:06:21
1698
3
原创 BGABanner-Android控件开启无限轮播后 ,快速滑动,ANR现象分析
控件开启无限轮播后 ,快速滑动,ANR一 使用场景:使用BGABanner控件,当其宽度较小时,比如只有20dp,这样是很容易滑动到左右边界的。默认ViewPager左右是保留1个Item。
2019-04-11 15:50:45
1194
原创 Android SelectWordTextView 支持点击选中单词TextView
Android SelectWordTextView 支持点击选中单词。
2019-04-09 16:53:38
897
原创 定制Android日历,只有一个View,非常小巧
自定义Android日历,只有一个CalendarView,非常小巧。功能:支持左右滑动切换月份,上下滑动切换年份,设置背景,边框,周末或周一为第一天,显示其他月份日期等功能。 具体参考Api或者自定义。GitHub:https://github.com/lyldding/CalendarView...
2019-03-06 14:20:11
1127
原创 HorizontalPageFlow每一页显示瀑布流并支持翻页
HorizontalPageFlow提供RecyclerView的瀑布流LayoutManager,每一页显示瀑布流并支持翻页。GitHub:https://github.com/lyldding/HorizontalPageFlow
2019-01-16 11:37:27
758
原创 未安装facebook客户端分享图片问题记录
最近做facebook(分享sdk版本为4.34.0)分享图片,根据在 Android 平台分享可知,分享图片需要安装7.0以上客户端。(经测试,在不安装facebook客户端时,分享链可以使用其他不行)。1: 之前的分享方式facebook分享demo中的代码: https://github.com/facebook/facebook-android-sdk/blob/master/s...
2018-12-03 11:18:58
1416
原创 Android:SimplePolygonView 轻松构建带圆角雷达图
SimplePolygonView 可以轻松构建构建M边N层的正多边形统计图,以及各维度的显示。GitHub源码:https://github.com/lyldding/SimplePolygonView效果图展示:xml代码:<!--view-->&a
2018-11-06 17:00:55
875
原创 FLAG_ACTIVITY_NEW_TASK使用场景及原理简析
在非Activity(比如Service,BroadcastReceiver)中startActivity需要添加flag Intent.FLAG_ACTIVITY_NEW_TASK。否则会报Crash:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context ...
2018-10-18 17:55:04
12837
原创 Android O startForegroundService(前台服务)流程分析
本文主要分析Android O startForegroundService(前台服务)的流程,以及出现Context.startForegroundService() did not then call Service.startForeground()和null notification 的原因。startForegroundService使用方式:https://blog.csdn.ne...
2018-05-18 16:55:28
20395
原创 Android O 中 PackageManagerService 扫描系统Apk 的流程及原生问题
本文主要记录工作中所遇到的bug解析过程,不详细讲解PMS(因为本人小菜一枚哈哈哈哈)。首先,介绍bug复现的场景。系统中的某个预装apk 有三个不同的版本V1,V2,V3且包含so文件,其中V1中so文件在armeabi文件夹下,V2,V3中so文件在armeabi-v7a文件夹下。以下为复现步骤:step1 在Android N 上预装一个版本V1 apk;step2 然后将apk...
2018-05-11 17:04:00
2013
原创 在短信中点击URL打开相应的App
在短信中点击URL打开相应的App的具体操作。 在AndroidManifest中指定的Activity中添加intent-filter,并不一定是程序入口(android.intent.action.MAIN)启动的Activity:intent-filter> ........intent-filter> intent-filter> action android
2018-02-03 18:13:51
1031
原创 SugarORM 数据库升级流程源码分析
在使用SugarORM的时候,有可能在后期的工作中进行数据库的升级操作。具体的操作参考:http://satyan.github.io/sugar/migration.html记录:在进行数据库升级时 注意 1)不支持select等返回数据集结果的语句; 2)在使用alter sql增加表中列的时候,如果Java文件中也增加同样的字段,则会提示错误,增加重复列,后边的分析会
2017-10-13 20:54:24
1001
原创 Android O 显示未知来源设置方式
记录:Android O的升级导致一些行为和API的变更。 检查是否同意未知来源软件的安装:boolean flag = false;if (Build.VERSION.SDK_INT >= 26) { flag = getPackageManager().canRequestPackageInstalls(); }else { int id = Settings.Secure
2017-10-13 14:50:00
2378
原创 在Android O上启动Service遇到问题记录
本文链接:http://blog.youkuaiyun.com/lylddinghffw/article/details/78219327记录场景:Android 8.0 有一项复杂功能;系统不允许后台应用创建后台服务。 因此,Android 8.0 引入了一种全新的方法,即 Context.startForegroundService(),以在前台启动新服务。 在系统创建服务后,应用有五秒的时间来调用...
2017-10-12 20:25:21
26089
3
原创 RecyclerView使用onBindViewHolder时,同一个Item总是有两个viewholder对象
场景:RecyclerView使用中同一个Item总是有两个viewHolder对象。 比如需要在viewHolder中保存上次刷新的数据时,同一个item有两个viewHolder对象,肯定时不行的,这时只需要在mRecycler中设置setSupportsChangeAnimations()为false即可。((SimpleItemAnimator)mRecycler.getItemAnima
2017-09-08 18:29:03
13837
1
原创 Ubuntu安装配置Charles,抓取http网络请求包
官网:https://www.charlesproxy.com/download/一:Ubuntu安装CharlesCharles拥有用于基于Debian的Linux发行版的APT存储库。注意:回购的钥匙于2016年7月26日更改,以利用更大的关键尺寸和更强大的消化。 APT存储库的现有用户将需要导入新的公钥。新的公钥与旧公钥的URL相同,因此请重复下面的apt-key添加步骤添加。最后,运行apt
2017-07-18 19:23:58
11269
原创 git命令笔记及常见问题记录
百度网盘:Pro git 第二版中文.pdf 下载 链接: https://pan.baidu.com/s/1bo5gw5T 密码: mufx个人使用笔记记录:(学习中,望指正)git clone ssh://dxxx/H -b dev 下载项目并创建分支git status 查看状态git add xxxx.java增加一个文档git commit 提交到暂存git log 查看日志
2017-07-17 19:42:54
563
原创 github排版混乱的解决方法
github排版混乱的解决方法:http://www.jianshu.com/p/54011c07b4a9需要将assets-cdn.github.com输入到http://ipaddress.com/ 右上角进行查找,得到相应的IP
2017-07-17 19:28:40
4659
原创 Android保存图片到本地或者数据库,并通知相册更新
Android保存图片到media,并更新相册//图片保存到数据库uri = MediaStore.Images.Media.insertImage(context.getContentResolver(), bitmapCode, null, null);//得到绝对地址public String getRealPathFromURI(Uri con
2017-07-14 19:59:21
4550
转载 Git命令详解
Git命令详解 一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.youkuaiyun.com/sunboy_2050/article/details/7529841前面两篇博客 Git 版本管理工具 和 Git 常用命令详解,分别介绍了Git 基础知识和命令用法 本文将对Git 命令,做一下全面而系统的简短总结,
2017-07-14 10:45:33
641
转载 Android扫描多媒体文件剖析
Android扫描多媒体文件剖析 转自:http://droidyue.com/blog/2014/07/12/scan-media-files-in-android-chinese-edition/这篇文章从系统源代码分析,讲述如何将程序创建的多媒体文件加入系统的媒体库,如何从媒体库删除,以及大多数程序开发者经常遇到的无法添加到媒体库的问题等。本人将通过对源代码的分
2017-07-13 15:38:17
638
转载 Android点击图片保存到指定目录,并更新相册
ImageView:<ImageView android:id="@+id/textiv" android:layout_width="10dp" android:layout_height="10dp" android:src="@drawable/textiv"/>点击事件:ImageView ima
2017-07-13 15:27:33
641
原创 showToast多行居中显示
makeText源码: public static Toast makeText(Context context, CharSequence text, @Duration int duration) { Toast result = new Toast(context); LayoutInflater inflate = (LayoutI
2017-07-13 14:58:55
2251
转载 Fragment全解析系列:那些年踩过的坑以及解决方案
1、Fragment全解析系列(一):那些年踩过的坑本篇主要介绍一些最常见的Fragment的坑以及官方Fragment库的那些自身的BUG,并给出解决方案;这些BUG在你深度使用时会遇到,比如Fragment嵌套时或者单Activity+多Fragment架构时遇到的坑。简陋的目录1、getActivity()空指针2、异常:Can not perform this action after
2017-05-12 15:53:33
4580
转载 Android应用层View绘制流程与源码分析
1 背景还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得最终分析结果就是下面的关系:看见没有,如上图中id为content的内容就是整个View树的结构,所
2017-05-12 09:44:04
396
原创 Java面试总结------搬运工也有梦想
Java面试宝典2015版(绝对值得收藏超长版)《Java面试宝典2016》学习实践与笔记115个Java面试题和答案——终极列表(上)Java面试宝典
2017-05-12 09:05:26
4061
原创 progressBar两种实现方式Handler 和AsyncTask
AsyncTask是Handler+Thread的良好封装一个异步任务的执行一般包括以下几个步骤:execute(Params… params),执行一个异步任务,需要我们在代码中调用此方法,触发异步任务的执行。onPreExecute(),在execute(Params… params)被调用后立即执行,一般用来在执行后台任务前对UI做一些标记。doInBackground(Params…
2017-05-11 20:21:13
584
原创 bindService的时候出现Service Intent must be explicit
Service Intent must be explicit的解决方法 今天在学习bindService组件的时候,在AndroidMainfest.xml中定义了<service android:name=".BindService" android:enabled="true
2017-05-11 13:15:26
617
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人