- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 Android 让系统告诉我们通知栏高度的小技巧
当我们在使用沉浸式时,经常会使用到这个方式 :android:fitsSystemWindows="true"但有时候需求问题,以上的方式又不一定能用上,所以就出现写死通知栏高度的,但是在Android机型多样的环境下,显然不能解决实际问题的,下面给大家分享一个让系统告诉我们通知栏高度的小技巧,附代码加说明:布局里面: <?xml version="1...
2020-04-05 00:13:55
622
原创 Glide 框架简单粗暴的流程图
看完郭大神的Glide最全解析文章,感觉还是自己亲自追踪源码分析比较好理解,以下是自己追踪主要源码后的总结流程图,用PPT记录画的,忽略了很多细节,例如key的区分等,否则得画好几百页都画不完,这里主要是记录主要的源码流程,方便以后再阅读. 画得比较简陋,不喜勿喷,希望多多指教!!!!...
2018-03-20 17:15:18
808
原创 Android App应用市场功能的框架图
APP应用市场功能的框架图,约半年前的一个项目,个人独立设计并完成上线的功能,今天认真整理了 下重新把框架画出来,画的不是很正规. 因为交互需求是支持不断点击切换下载状态的效果,所以下载服务同步处理得比较严谨,并采用断点下载,这里就不上源码了,不喜勿喷,如有错误,请多多指教!!!...
2018-03-14 11:12:07
4919
原创 Android 仿微博的点赞上报功能,持续点赞再取消
产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网络之后 重新刷新,实际是没有点赞的,那就针对这现象去实现吧. 避免并发,减少CPU压力,我个人会想到 HandlerThread ,不懂可...
2018-03-13 11:22:50
1832
原创 ViewPager+TabLayout快速集成底部Tab栏+Fragment
注明:基于ViewPager+TabLayout二次封装的库(可以自定义底部item,也可以使用自带) 使用条件: 依赖库: compile 'com.android.support:desig...
2018-03-12 16:37:49
699
原创 Android 基于RecyclerView上下拉刷新(让你轻松自定义头部和底部刷新控件)
注明:该控件是站在巨人的肩膀上修改,把控件的核心放在自定义下拉和上滑的view上 PullRecyclerView : mPull.setHeadRefreshView(new SimpleRefreshHeadView(mContext))//设置头部刷新控件 .setMoreRefreshView(new SimpleRefreshMoreV...
2018-03-12 11:36:13
2343
原创 记录Android 版本小于19的Webview和js交互的一个坑!
很久没写博客了,一直加班和公司里开发人员断网的原因,想写个博客都要等下班,下班后又累得洗洗睡 了,真程序员啊。 最近赶一个简单的商场项目,因为赶着发布,所以app端只做一个壳,商品页先由web做,后期有时间再换原生,这个壳最 重要部分就是webview了,需要对web页的适配支持,自然功能上与js的交互也少不了,其中有一个就是web
2017-10-23 23:33:46
805
转载 FFmpeg的编译与运行
注:本文章来源于 https://segmentfault.com/a/1190000008413814 Android 之 FFmpeg的编译与运行
2017-09-09 11:11:20
289
原创 Android 滑动显示每一年所有日期的功能
废话少说,先看效果 下载链接------》戳我戳我! 离做完这个需求刚好一年了,那时候为了赶进度,使用了listv
2017-08-21 10:51:32
1233
原创 Android 解决输入法遮挡布局控件的问题
文章说明:本文章核心解决方案来自这里 戳我戳我 ,本文章主要对原方法的小修改,以及使用时遇到的一些问题的解决分享。 /** * 布局在输入法之上 * * @param root 最外层布局,需要调整的布局 * @param btmView 最底部的控件 */ pub...
2017-08-04 10:12:33
1431
转载 Android 获取手机系统图片、拍照图片时回调后通过URI解析路径的方法,比较全面!!!!
public static String getPath(final Context context, final Uri uri) { // DocumentProvider if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && DocumentsContract.isDocu...
2017-07-14 17:06:09
1731
原创 Android 数据库批量查询数据的操作
Android数据库,批量插入、更新、删除都比较简单,开启事务就可以了,今天遇到需要批量查询,看了api也 没发现相关的方法,网上提供大部分指向 IN 关键字,操作语句:select * from table where id in (1,2,3),这个是 没问题的,但要在Android里面使用的话,如果直接调用 db.execSQL(),没有返回结果,网上也没找到An
2017-07-05 19:32:19
3524
1
原创 新手闯GitHub,记录第一次推送项目到GitHub的操作
本操作基于 Git Bash 一、创建本地仓库: 1. 配置本地的信息(配置邮箱和名称。,以后提交就能知道是谁提交的了) git config --global user.name "xxxxxxx" git config --flobal user.email "xxxxxxxxx"
2017-06-09 14:58:40
661
原创 关于rxAndroid 的 java.lang.AbstractMethodError 异常问题
错误日志: java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread. at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:62) a
2017-06-08 17:13:07
4345
原创 Android 利用java的注解方法快速keep住混淆实践操作
先上一遍混淆说明文章,里面对混淆的方法说的很详细了(点我戳我),本遍思路来源于这遍文章的最底部@Keep, 所以这里不吹详细理论,只讲操作,也当是自己的笔记吧。(本次操作于Android studio) 如何快速keep住不想被混淆的部分? 首先得创建一个Annotation 文件 如: package com.demo.anno
2017-05-24 15:19:08
2766
原创 SqLite 压缩数据库空闲空间的详细操作(数据库虚胖问题)
讲解开始前,先说明一下这个问题的原因: sqlite采用的是变长纪录存储,当你从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据,用于提高效 率,磁盘空间并没有丢失,但也不向操作系统返回磁盘空间,这就导致删除数据乃至清空整个数据库后,数据文件大小还是没有任何变化,还是很大 以上解释是引用第三方
2017-05-23 14:10:19
5360
原创 Android 简单的本地音乐播放器Demo
一个小小的本地音乐播放器,花了几个小时完成的,帮朋友做的毕业作业。 包含基本播放功能、进度条显示和拖拽、时间倒计、后台播放、一键刷新、收藏操作、单独播放收藏页的音乐。。。。 代码没有一定的模式和注释,如果是小白,可能阅读有点难,分享也是一种保存! GitHub地址 https://github.com/cjcMa...
2017-05-11 14:21:12
6833
原创 Android 单线程也能极速刷新并获取局域网设备(IP+MAC)信息, 从4分30S 优化到 0.150S 不是梦
Android 获取局域网在线设备的大概原理是:先去检测某ip是否能通信,然后去 /proc/net/arp 文件(简称arp文件)下读取里面正确的mac 与 ip 。
2017-05-11 09:45:37
5477
3
原创 Android 桌面插件首次安装不启动应用,直接拖出桌面插件不显示数据问题
五一小假,还要回来加班,果然是程序员的命,哈哈,不废话,入话题。 对于桌面插件开发,估计大部分人都不陌生,比较简单,没有了解过的人可以看下这遍文章,最近测试的时候, 测出了一个问题(不设置configure属性),就是应用首次安装后不直接打开APP,然后把相关的桌面插件拖出来, 发现本地数据都显示不出,这现象只有首次安装才有,调试又直接启
2017-04-30 14:18:00
683
原创 总结使用AndroidStudio遇到的问题
最近要合并两个app里面的功能,然后我就想把其中一个作为module引入另一个项目里 module是一个eclipse项目导到AS(AndroidStudio)里的,因为eclipse对项目检测的确不如AS(个人认为) , 因为module项目是很久之前的大哥们用eclipse开发的。 问题一:有些资源文件的控件id重复,可能这种id没有被使用
2017-04-07 22:41:23
566
原创 Android (假)沉浸式菜单栏使用总结
大部分人所想或所看的沉浸式菜单栏并不是这么称呼的,真正的沉浸式是类似于游戏全屏菜单栏已经看不到的, 所以这里我把大部分人所想象或看到的称为假沉浸式菜单栏。 本文基于Android4.4(v19)以上所述,想使用自动沉浸式,首先得在配置文件中配置包(这包导入整个应用会多几百K) compile 'com.android.sup
2017-03-27 19:01:39
497
原创 XRecyclerView 移除的踩坑之路(XRecyclerView 的bug?)
最近因为需要上下拉的刷新的功能,又不想重复造轮子,小编特意去找了个第三方的开源lib,现在第三方上下拉刷新的开源lib是非常之多啊,我就不介绍了,反正小编情有独钟的看上了XRecyclerView ,至于为什么,其实是朋友推荐的。。。。。 XRecyclerView 使用起来还是挺方便的,小编使用的过程,一路溜溜溜的,各种上下拉加载,数据和布
2017-02-28 10:00:54
5476
转载 Android开发 换锁屏壁纸(只适应于某些系统)
public class MainActivity extends Activity { private Button button; private String sdPath = Environment.getExternalStorageDirectory() .getAbsolutePath(); private String filePath = sdPath + File.
2016-06-22 17:31:55
1405
转载 static 和 final 回顾
一、static 1.被static修饰的属性: 该属性可以被另一个类直接调用(当然也受访问权限的影响),而不用初始化该类,static属性只能是class 的成员, 不能在方法中用static修饰所定义的属性 。 2.被static修饰的方法:
2016-04-28 22:57:02
282
原创 Java IO流的使用
一、IO流的四大抽象类(其他流都分别继承这四大类):InputStream OutputStram Reader Writer; 1. 流的方向: 输入流:InputStream Reader. 输出流:OutputStram Writer 2.流的数据单位:
2016-04-27 20:12:23
279
ViewPager+TabLayout快速集成底部Tab栏+Fragment
2018-03-12
Android 基于RecyclerView上下拉刷新(让你轻松自定义头部和底部刷新控件)
2018-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人