- 博客(30)
- 资源 (9)
- 收藏
- 关注
原创 retrofit+okhttp实现单点登录自动刷新token并处理并发问题
retrofit+okhttp实现单点登录自动刷新token说明技术实现直接撸代码说明在app使用过程中,登录中因为token过期的原因,可以需要重新登录,这样使用体验上会不好,所以会有产品要求token过期后自动刷新token,获取到新的token在继续请求接口,用户在使用上无感知,大大提升了用户体验。技术实现token一般我们会放到网络请求的header中这样我们可以使用okhttp中拦截器,对网络请求进行拦截,获取到token过期的code码后,去请求刷新token,替换header请求中对
2021-12-24 17:37:11 1306 1
原创 VLayout详解
概述最近看了下VLayout,它主要用在超复杂界面布局,感觉确实比较好用,VirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。阿里开源出来的,先放官网地址:https://github.com/alibaba/vlayoutVLayout简介vlayout全称VirtualLayout,它是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。它通过
2021-09-17 14:26:11 660
原创 仿微信九宫格群聊view
效果如下:自定义view的源码public class NineGridImageView<T> extends ViewGroup { private int mRowCount;//行数 private int mColumnCount;//列数 private int mMaxSize = 9; private int mGap;//宫格间距 private int mWidth;//当前组件宽度 private int mHei
2021-07-03 14:53:49 258
原创 自定义imageview (聊天气泡imageview 和圆形imageview)
一、聊天框中发送图片时,需要展示出气泡类型的图片,public class BubbleImageView extends ImageView { private static final int LOCATION_LEFT = 0; private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888; private static final int COLORDRAWABLE_DIMENSION
2021-07-03 14:17:58 445
原创 PopupWindow封装管理类
记录下popupwindow的使用,可以实现在点击view的指定位置中弹出popupwindow 方便好用public class PopupWindowFactory { /** * 得到在屏幕中间的popupwindow并显示(宽高都是包裹视图) * * @param contentView popupwindow要显示的视图 * @param parentView 参考视图 * @return */ public s
2021-07-03 13:46:20 147
原创 自定义表格控件view
效果图如下view源码:public class TableView extends View { /** * 单元格基准宽度,设权重的情况下,为最小单元格宽度 */ private float unitColumnWidth; private float rowHeight; private float dividerWidth; private int dividerColor; private float textSiz
2021-07-03 11:55:32 211
原创 Android获取应用包签名(适配Android P)
日常开发中,使用代码检测工具会提示过时方法,以前PackageManager.GET_SIGNATURES,packageInfo.signatures提示过时,现适配Android p,话不多说直接撸代码
2020-11-04 11:48:14 4657
原创 android开发,状态栏及虚拟键设置总结
亲测,提供修改状态栏和虚拟键的4个方法1.设置状态栏背景色2.设置状态栏文字颜色是否为亮色3.设置状态栏是否隐藏4.设置虚拟按键栏背景是否透明4个方法可以随意组合实现代码如下: /** * 设置状态栏样式 * * @param window */ public static void initSystemBarTint(...
2019-12-16 19:09:42 570
原创 创蓝闪验接入文档
Android v2.3.0集成文档-简版一.准备工作概述本文是闪验SDK_Android版本的接入文档,用于指导SDK的使用方法,默认读者已经熟悉 IDE(Eclipse 或者 Android Studio)的基本使用方法,以及具有一定的 Android 编程知识基础。闪验SDK支持minSdkVersion 16及...
2019-10-11 20:37:09 4386 3
原创 movie实现加载gif背景图可支持view不局限于imageview
项目需要,activity背景展示gif动态效果,且能实现沉浸式效果,使用movie实现该功能一:沉浸式效果activity添加下面代码private void initSystemBarTint() { Window window = getWindow(); // 设置状态栏全透明 if (Build.VERSION.SDK_INT...
2019-09-16 21:03:37 295
原创 android性能优化之内存泄漏
什么是内存泄漏?内存泄漏也称作"存储渗漏",用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。再形象点比喻就像家里的水龙头没有拧紧,漏水了。内存泄漏的分类及影响?分类:常发性内存泄漏,偶发性内存泄漏,一次性内存泄漏,隐式内存泄漏。危害:内存泄漏造成的影响其实是内存泄漏的堆积,这...
2019-09-16 20:24:50 294
原创 身份证号校验
校验身份证号是否是真实存在的,ture 身份证有效false 身份证无效1.没有对15位进行校验工具类如下:package com.baidu.utils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.uti...
2019-02-26 19:37:08 760
转载 使用WheelView实现时间和地址联动选择对话框
类似WheelView的时间和地址联动选择对话框在现在App经常看到,今天小结下。主布局界面: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="match_parent" 3 android:layout_he...
2019-01-22 15:39:06 395
原创 aar生成并引用到项目中使用
aar包生成 执行对应module的assembleRelease命令 1.2在对应module的build\outputs\aar\目录下即是 2.demo中引用aar2.1.将SDK中libs目录下的aar包拷贝到自己工程的libs目录下,如没有该目录需新建,如下图所示: 2.1.在app文件夹下的build.gradle的dependenci...
2019-01-21 10:14:46 676
原创 Retrofit2的https请求
使用retrofit2.0时,当url是https开头的时候,会报证书认证的异常。项目中使用下信任所有证书,解决了这个问题具体是:public class SCApplication extends Application { private static final String TAG = "SCApplication"; private static SCApp...
2018-07-27 17:13:45 2864 2
原创 Retrofit2+Rxjava2+okHttp 网络框架封装
说明RxJava的概念其实很模糊,我对它的理解就是一个给你方便处理异步问题的框架,到底有多方便,体会过才知道。。。Retrofit就是对okhttp做了一层封装。把网络请求都交给给了Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了,Retrofit 除了提供了传统的 Callback 形式的 API,还有 RxJava 版本的 Observable 形式 AP...
2018-07-25 18:19:47 1955 1
原创 okgo框架,实现多用户下载列表显示
运行效果图如下可实现暂停,继续,断点续传,侧滑删除,点击弹出可打开的应用提示框。1.主要运用okgo 2.0框架,根据下载的tag 拼接上用户id,根据用户id筛选下载集合数据,达到展示不同用户的下载列表。关键代码如下:package com.example.download.utils;import android.content.Context;import android.os.Env...
2018-04-12 17:28:24 1001
原创 okGo框架的使用,下载列表显示
我们公司有点击下载按钮,下载视频或者pdf文件,并能在下载列表中显示出来。网上查阅很多,发现OKgo刚好适合。下面是框架的简单使用。(另外新增下载完成,可用手机自带软件观看pdf或视频)界面如下:代码实现:可参考GitHub网站OKgo的使用:1.配置文件 compile 'com.android.support:recyclerview-v7:26+' compile 'com.andr...
2018-03-28 16:30:53 2624 1
原创 android RSA加密解密
本文主要是实现Android RSA加密解密功能,在网上参考了很多人提供的方法,自己改写成一个关于Android RSA加密解密文件的功能模块,方便项目上使用。首先先确定公钥和私钥,在写死的情况下进行加密解密。密钥可以用字符串写死,也可以保存到文件中放到assets文件夹中具体代码如下:MainActivity.javapackage com.example.rsademo;import an...
2018-02-26 17:25:18 2492 2
原创 TabLayout进阶学习
我们从上个文章看出,原生的tablayout控件,选用滚动模式时,即mMode为MODE_SCROLLABLE,默认的是屏幕上刚好显示为5个TabView。 查看源码会发现,决定tabview的宽度是mScrollableTabMinWidth控制的final Resources res = getResources(); mTabTextMultiLineSize = res.g
2018-01-29 15:48:29 303
原创 tablayout滑动效果使用
项目中会经常用到滑动的导航栏,例如今日头条中,对于的条目可以先隐藏,滑动后会显示出来。TabLayout的控件以实现类似效果。刚好最近做项目中使用到过,便趁着空闲时间整理下,方便自己以后用到就可以直接拿来使用了。添加引用:注意必须和v7包版本一致implementation 'com.android.support:appcompat-v7:26.1.0'implementati
2018-01-24 16:57:52 3839
原创 仿微信/支付宝的自定义提现密码输入(二)
根据项目要求对上个输入框进行了处理:改动如下:1.弹框的标题栏移到curtomdialog里处理,避免在自定义控件中进行点击事件。2.实现弹框的取消,和忘记密码的点击事件dialog_normal.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:
2018-01-19 17:25:47 373
原创 仿微信/支付宝的自定义提现密码输入(一)
项目上要实现提现到银行卡的功能,自己查找资料,顺便写了个demo。自定义的输入框感觉效果不错,分享出来。一,整体分为多个布局用addview加载,键盘和上边的密码输出框,布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rl_bottom"
2018-01-19 10:37:45 1435
原创 自定义RadioGroup动态添加RadioButton,并获取选中radioButton的位置
一,自定义的radioGroup,根据项目需求,需要实现考试试卷中单选题形式,其中,在选项前面要有正确答案的提示,例如:(答案)A 选项内容 ,且前面(答案)隐藏,在返回上一题时,正确答案前的这个标志会显示出来,所以需要我们自定义控件继承radiogroup,其中每行包含textview ,radiobutton代码如下: import android.content.Cont...
2017-12-21 13:44:56 2610
原创 recyclerview简单使用
(1)将recyclerview导入到项目中android studio:在dependencies{中添加compile 'com.android.support:appcompat-v7:26.+'(2)SwipeRefreshLayout下拉刷新SwipeRefrshLayout是Google官方更新的一个Widget,可以实现下拉刷新的效果。该控件集
2017-11-22 14:26:52 271
原创 手机必不可少的功能-FOTA(无线升级)
FOTA总结 适用范围:展讯平台,mtk平台 ,高通平台 一、 T卡升级 1、 编译差分包: 编译代码: source build/envsetup.sh; lunch zsl829_condor -user; make -j8; make -j8 otapackage; pac; 执行完命令后会有如下包生成: out/target/product/zsl829/obj/P
2017-07-28 11:20:23 4244
原创 史上最全语言列表
语言码_国家码 -> 语言选择里的显示语言 -> 英文下的语言(国家) -> 简体中文下的语言(国家) af -> Afrikaans -> Afrikaans -> 南非荷兰文 af_NA -> Afrikaans -> Afrikaans (Namibia) -> 南非荷兰文 (纳米比亚) af_ZA -> Afri
2017-07-05 15:24:53 6257 1
原创 Android 语言列表
English NameChinese NameCodeArabic(Israel)阿拉伯语arChinese Simplified中文简体zh_CNChinese Tradition中文繁体zh_TWChinese中文(香港)zh_HKDutch(Netherlands)荷兰语nl
2017-07-05 15:17:28 1899
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人