- 博客(64)
- 资源 (20)
- 问答 (1)
- 收藏
- 关注

原创 Android Gson解析泛型及接口中泛型获取、接口泛型混淆相关问题
Gson解析泛型解析方式:一、应用场景:除接口外其他类,获取泛型类型,进行解析。混淆时需要keep 此类。泛型Type/Class获取Type t = mBaseEntity.getClass().getGenericSuperclass();Type claz = ((ParameterizedType) t).getActualTypeArguments()[0];Class c.........
2020-04-03 13:23:08
2143
4

原创 利用Hashmap/HashSet,数据去重
一、重写存储对象的equals和hasCode, @Override public boolean equals(Object obj) { SMS sms = obj instanceof SMS ? (SMS) obj : null; return !TextUtils.isEmpty(phoneNum) && phoneN...
2019-12-11 17:19:54
1023

原创 一条完美精确匹配各种url网址的正则表达式
Android原生的文本框匹配不够完美,网上的大多不够完美。经过多次修改尝试,完善出了一条能够完美和精确匹配url的正则表达式,可匹配http、https、www、wap等等开头的网址(大小写混搭亦可)携带参数的(转码的、加密的),无限接近微信匹配精确度且速度快性能稳定。
2019-07-04 17:54:26
22036
4

原创 Android退出APP 并杀掉相关的所有进程
代码如下: ActivityManager mActivityManager = (ActivityManager) AppApplication.getInstance().getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> m...
2019-03-19 16:08:34
4882
1

原创 Android 如何开发指纹支付
一、为什么要指纹支付趋势,就这么简单。二、什么是指纹支付指纹支付是一种便捷的生物认证支付方式,它让用户摆脱繁琐的密码、短信认证,便捷性得到大大的提高。提高应用的易用性,使用率和用户留存率。三、怎么开发指纹支付初次接触肯定会很迷茫,Android厂商众多,机型繁杂,系统底层参差不齐。这也给广大Android开发人员带来很多适配问题。指纹支付的开发亦是如此,下面就来说说Androi.........
2018-11-22 14:04:05
3950
6

原创 Android 最有效的管理软键盘开启、关闭
protected void showKeyboard(boolean isShow) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (null == imm) return; if (isShow) {
2018-01-29 16:05:32
5654
1

原创 PopupWindow setOutsideTouchable(false)无效问题完美解决方案
如题, setFocusable(false); 失败 (点击边缘区域的确不会关闭了,但是点击contentView部分 也没有响应了,所以必须让PopupWindow能够获取焦点)setTouchable(false);失败 (PopupWindow 不能接收Touch事件)完美解决方案: setFocusable(true);(可不设置,默认true)......
2017-11-29 11:09:44
6654
1

原创 收到短信自动获取其中包含的验证码---工具类(Update 2017/9/26)
**Code**/** * Synopsis ${SYNOPSIS} * Author Mosr * Version ${VERSION} * Create 2017/8/29 10:29 * Email intimatestranger@sina.cn */public class SmsUtil { private f
2017-09-04 10:10:40
1580

原创 Util for PopupWindow(PopupWindow封装类)(update 2018/10/18)
**Code**/** * Synopsis ${SYNOPSIS} * Author Mosr * version ${VERSION} * Create 2017/8/8 9:56 * Email intimatestranger@sina.cn */public class PopupwindowUtil extends P
2017-09-04 09:50:36
732

原创 使用RecyclerView实现可拖动图文混排发帖
(效果图为最终项目中的)本文源码已经托管在GitHub上,欢迎Fork多多star。地址最近重构一个项目,增加了一个新需求,要类似汽车之家的图文混排发帖,图片文字可自由移动位置(如效果图)功能:图文混排,自由排列文字与图片的位置,图片之间自动加入输入框,两个输入框若相邻且有一个为空,则删除一个保留另外一个,若都有内容则不删除,删除文字时,若输入框内容为空,则删除整个输入框实现:RecyclerVie..................
2017-07-19 15:31:17
1314
3

原创 ListView smoothScrollToPositionFromTop 偶现滚动位置不精确问题解决办法
livModuleChild.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { if (scrol
2017-05-12 18:21:28
2047

原创 QQ、微信、立体感、中间展开样式进度条
QQ、微信、立体感、中间展开样式进度条先看效果图:这特么是废话:<–废话开始–>就是有这么一个小需求,所以写了。写过几种简单样式的,没有深度。所以这次装X写个好看点的。在娘娘身上搜了半天出来的都是写自定义控件啥的,至于嘛?就一个进度条,还自定义…装X了吧。我这个能用源码的决不自定义的人 就不想看,所以调研了一番,结合以前知识写了本文。<–废话结束–>XML 写法(与效果图一一对应):自定义样式(壹)...
2017-03-30 10:21:43
1089

原创 Android View动画显示和隐藏(支持所有View)
先看看效果图直接贴代码给大家看package com.ninglu.biaodian.utils;import android.view.View;import android.view.animation.Animation;import android.view.animation.TranslateAnimation;/** * Synops
2016-12-29 18:53:17
10887
1

原创 汇总——TextView使用Glide极速加载HTML复文本中的图片
一、TextView中HTML文本的显示显示普通HTML文本TextView.setText(Html.fromHtml(reasonstr, null, null));显示带图片的HTML文本TextView.setText(Html.fromHtml(reasonstr, imgGetter , null));二、HTML文本中图片的异步加载Android 4.0以后的最大
2016-11-17 16:22:07
2205

原创 Android 微信分享开发问题汇总
申请应用的时候要填一个签名,这个签名是由应用的签名文件keystore决定的,那么你在填这个签名的时候,一定要把你的应用用正式的keyStore生成apk,安装到手机,然后用微信提供的获取应用签名的apk工具获取你应用的签名,然后这会生成的这个签名才是正确的,千万记得,不要使用dubug的ketStore测试,不然后面虽然可以修改,修改了后要审核,但是审核也是需要时间的,会很麻烦。还有
2016-10-28 17:17:05
1470

原创 Glide 使用问题汇总———2017/06/12更新
GitHub开源地址使用Glide加载Gif和常见图片格式时出现的常见问题:一、离线缓存策略的配置.diskCacheStrategy(DiskCacheStrategy.ALL) /** Caches with both {@link #SOURCE} and {@link #RESULT}. */ ALL(true, true), /** Save
2016-09-30 17:28:55
3012

原创 百度地图、定位、导航SDK开发问题汇总及解决办法
一、地图1、集成基础地图功能,进入页面地图显示灰白网格,不显示地图解:一般因为你的清单文件中配置的百度KEY不正确,亦或各个版本的arm包没有加入在工程lib下面或是加的不全,用户权限也必不可少正确的看下图 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/...
2016-08-04 11:48:17
14099
1

原创 Facebook开源闪光控件(ShimmerForAndroid)使用
Demo地址Shimmer是Facebook提供的一项基于Java的library,它可以使Android中的所有View控件具有闪光的效果。API地址GitHub地址效果图用法:**Android Studio**// Gradle dependency on Shimmer for Androiddependencies { compile 'co...
2016-07-13 16:13:04
4272

原创 Nispok——Snackbar(Ecliplse版)详解与使用
一、什么是SnackBarSnackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈。Snackbar是design support library中另一个组件,使用Snackbar我们可以在屏幕底部(大多时候)快速弹出消息,它和Toast非常相似,但是它更灵活一些。当它显示一段时间后或用户与屏幕交互时它会自动消失。可
2016-07-12 09:36:37
918

原创 最快速读取手机通讯录中联系人信息
作为一名Android开发,读写手机通讯录的操作人人都会,但是有没有遇到通讯录存在好几百条联系人信息时候读取的速度会明显变慢呢?本文就是介绍解决办法,我总结出了以下几种办法 提供参考:一、线程有A、B两个Activity,想在B里面显示手机通讯录中所有联系人信息,可以尝试在A的时候就开起一个单独的异步线程,读取手机通讯录,然后再带到B Activity,这种办法呢标不治本,所以不推荐二、servi...
2016-07-01 16:22:49
12004
2

原创 Facebook 开源数据加密库-Conceal
一.什么是ConcelConceal是 Facebook 推出的一个用来对数据进行快速加密和认证的开发包,应用可以使用它来加密数据和大文件存储。Conceal是一套用于Android上的文件加密和鉴权的Java API,它使用OpenSSL算法的子集以及一些预先定义的选项,以便让库保持在较小的体积——目前仅有85KB大小。对于比较古老的Android设备——从Froyo到JellyBean——
2016-06-29 15:58:24
2768
原创 Android RecyclerView item视图 、动态添加View时视图宽度问题
一、场景:当我们在RecyclerView 或者 动态给View添加视图时会使用 LayoutInflater 将视图布局解析成View,然后添加到根布局中。LayoutInflater inflate方法使用不当就会导致视图宽度有问题,比如inflate的布局中给定了宽高,但是最终展示还是充斥整个布局。或者出现java.lang.IllegalStateException: The specified child already has a parent. You must call removeVi
2022-03-24 10:45:49
5004
原创 Android12 Apk安装适配/安装失败解决
问题:Android12系统Apk出现安装失败-22或者安装失败-127 分析:As of Android 12, android:exported must be set; use true to make theactivity available to other apps, and false otherwise. For launcheractivities, this should be set to true.翻译过来:从 Android 12 开始,必须设置 android
2022-01-25 11:18:15
14291
7
原创 [ERROR_BUNDLE_PATH_OR_FILE] & Error while Deploying HAP错误
[ERROR_BUNDLE_PATH_OR_FILE] & Error while Deploying HAP错误
2021-12-08 11:40:47
482
2
原创 getBackground().setAlpha 背景色问题
mView.getBackground().setAlpha(0)问题:设置View背景透明度为0后,整个项目中使用color资源文件中和mView使用相同颜色(例:@color/_FFFFF)的View背景都会变成透明的。Android 5.0以后,部分机型会出现变成透明了,也就是用此方法会导致其他共用一个资源的布局,透明度也跟着改变。解决:1、mView.getBackground().mutate().setAlpha(0); 2、mView.setAlpha(0); ...
2021-07-29 17:02:14
313
原创 ScrollView 嵌套RecyclerView问题汇总及解决办法
一,移除数据时item被移除,但item所占布局空间依然存在问题原因:ScrollView 嵌套RecyclerView,RecyclerView会在加载时把全部数据显示出来,RecyclerView的复用机制失效,notifyItemRemoved不会重新计算布局。解决: mDatas.remove(mViewHolder.getAdapterPosition()); notifyItemRemoved(mViewHolder.getAdapterPosition()); //通知Recycle
2021-07-06 16:34:59
997
原创 SpannableStringBuilder setSpan方法相关问题记录
Q:一、自定义ReplacementSpan时,设置span长度为整个文本,出现span不显示问题,span中的draw不回掉。问题代码:String mTxt="SpannableStringBuilder setSpan方法相关问题记录";SpannableStringBuilder mSpannableStringBuilder = new SpannableStringBuilder(mTxt);mSpannableStringBuilder.setSpan(new RoundedRecta
2021-04-25 16:04:26
468
原创 Android AsyncTask异步线程默认是串行
一、AsyncTask异步线程默认是串行?AsyncTask是Android特有的异步执行线程,本质就是Thread+Handler结合得产物,AsyncTask在Android更新的过程中修改过很多版本,从串行到并行又从并行改回了串行,所以在使用中希望并行执行任务的需要注意了,AsyncTask默认是串行执行,但系统也提供并行方法。二、并行方法:AsyncTask mAsyncTask = new AsyncTask();mAsyncTask.executeOnExecutor(AsyncTask
2021-04-25 15:06:01
334
原创 Android studio 编译时一直卡在Download maven-metadata.xml问题解决
maven { url 'https://maven.google.com/' name 'Google' }替换为:maven { url 'https://maven.aliyun.com/repository/google' }还不行:对应右边的源地址,全部换成左边的阿里云仓库地址99%能解决。阿里云仓库地址...
2021-03-27 18:27:51
3859
原创 RecyclerView嵌套RecyclerView,滑动卡顿问题解决。
RecyclerView嵌套RecyclerView使用时,数据稍多一点就会出现滑动卡顿的情况,在性能好的机器上并不明显,但是在性能稍微差点的机器上Fling操作就会很明显的看出来卡顿的情况,掉了许久结合源码想了很多办法,布局优化,Adapter代码逻辑优化等等,效果都不明显。最终找到一个暴力点的办法,代码如下: mRecyclerViewMc.setItemViewCacheSize(200...
2020-03-23 22:44:39
5923
原创 Android 监听RecyclerView内部数据变化
RecyclerViewAdapter mRecyclerViewAdapter = new RecyclerViewAdapter(mListingDataList); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setAdapter(mRecyc...
2020-03-16 23:17:36
4542
原创 android.os.TransactionTooLargeException问题总结
android.os.TransactionTooLargeException是java中一个运行时一场,由于Log一般并无详细应用层错误信息,所以当其产生时令众多开发者难以迅速找到问题发生的根源,一下总结了其可能发生的情况:1、onSaveInstanceState方法存储信息过多,导致超出Bundle容量。2、Intent 携带参数跳转时Bundle中存储了大量信息导致。3、ViewP...
2019-10-11 11:08:00
1356
原创 Android 5.0及以下部分机型onNewIntent不回调问题
测试机型:Huawei P8,EMUI 3.1,Android 5.0问题描述:MainActivity已位于前台顶端,通过使用startActivity方法携带Intent传递数据给MainActivity,发现MainActivity重onNewIntent没有回调,测试生命周期,发现onResume也未回调。解决办法:Intent 设置Flags:mIntent.setFlags...
2019-08-21 15:37:43
666
原创 Android XML分隔线及左右边距添加
Android 含左右边距的布局分隔线XML写法效果图:写法:<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--最底层背景--> <item andr
2019-01-09 15:57:01
1429
原创 Android淘宝客链接自动跳转淘宝APP问题
项目中的是腾讯X5浏览器,发现淘宝客不能自动唤起淘宝APP,log后均是http/https请求,后来使用原生WebView,log发现淘宝客跳转会有一个tbopen://开头的地址,这才是真正唤起淘宝App的scheme地址。X5却是拿不到,综合考虑应该跟微信类似的屏蔽了外链的跳转,而淘宝这种大型App自然在过滤清单中,所以X5浏览器中找不到类似的scheme,故而只能换用原生WebView。...
2018-12-21 13:39:45
11864
2
原创 Android 原生WebView访问使用iFrame网页问题(页面找不到了)
问题:项目使用原生WebView访问使用了iFrame的网页出现的问题,列表页使用iFrame跳转到淘宝客的地址,单独访问淘宝客地址是能够打开。但列表页跳转过去总是提示“页面找不到了”,尝试很多方法,最终发现是WebView对第三方Cookie支持的问题。解决: if (android.os.Build.VERSION.SDK_INT &gt;= Build.VERSION_...
2018-12-21 13:20:35
8462
1
原创 Android SwitchCompat OnCheckedChangeListener不同机型/API下的问题
SwitchCompat位于android.support.v7.widget下,比Switch 向下兼容性更好。在使用过程中,需要在转换过程调用接口,成功则保持当前的选中状态,否则切换另一种状态。但是调用setChecked方法后,监听器OnCheckedChangeListener都会收到通知。翻阅源码: /** * &lt;p&gt;Changes the che...
2018-12-10 17:08:27
906
android.support.design.jar-25.0.0(jar、doc、source)
2017-02-15
android.support.design.jar-24.2.1(jar、doc、source)
2017-02-13
Facebook开源闪光控件(ShimmerForAndroid)
2016-07-13
SnackBar(Eclipse版)
2016-07-12
glide-3.7.0.jar
2016-07-08
android-support-design.jar(24.0.0版本,附source)
2016-07-07
获取XML数据(输入流和String两种类型)并解析
2016-07-06
快速读取全部手机通讯录联系人
2016-07-01
分页读取手机通讯录联系人
2016-07-01
自定义Toast,防止层叠显示问题,和自定义Toast样式
2016-06-17
pull解析特殊类型XML文件(Demo中是String-array)
2016-06-16
Android地铁线路图、自定义Marker标记(基于百度地图)
2016-05-17
一个带有点击效果和计时功能可圆角的自定义Button(支持XML和代码修改属性)
2016-04-29
Android关于Onclick事件与OnTouch事件冲突问题
2015-11-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人