自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (19)
  • 收藏
  • 关注

原创 Android APK未签名提醒

最近新建了一个项目,在build.gradle中配置好了签名,在执行打包的时候打出的包显示已签名,但是在上传市场的时候提示未签名。于是排查了好久,发现在build.gradle中配置的minsdk =24,会导致不使用V1签名,于是我使用apksigner验证了一下,确实是没有使用V1签名。按道理apk设置了minsdk>=24应用市场就不需要校验V1签名,只需要校验V2即可,因为该APK根本不可能安装到仅支持V1签名的设备上。因此怀疑是应用市场在检测APK是否签名时仍然使用的是V1签名校验的方式。

2023-12-29 00:35:48 747

原创 解决Chrome 浏览器ERR_INSUFFICIENT_RESOURCES过程

Chrome 浏览器ERR_INSUFFICIENT_RESOURCES分析解决过程

2023-01-03 18:17:12 32841 12

原创 Android隐私合规检测方法

背景:公司的APP被工信部通报:1.在用户确认隐私权限以前会获取用户的mac地址。2.在app内频繁的获取定位,超过了场景也必须的频次。排查过程收到通报我们一脸懵逼,我们排查业务代码中没有获取mac地址,并且我们的定位sdk只定位一次,于是想到了可能是三方sdk在获取mac地址。于是我们电话工信部下的全国APP技术检测平台咨询到他们是通过getHardwareAddress方法的调用来检测MAC地址的获取。至于第2条没有给出确切的回复,他们说可能是接口里频繁的带有用户位置信息,超出了..

2021-02-02 19:04:27 14706 28

原创 java.lang.SecurityException: Failed to find provider null for user 0

当我们在 8.0以上 系统调用 ContentResolver 的 notifyChange 方法通知数据更新,或者调用 ContentResolver 的 registerContentObserver 方法监听数据变化时,会出现异常:java.lang.SecurityException: Failed to find provider null for user 0; expected to...

2020-02-10 18:25:44 2186

原创 Glide原理之Engine#load

Engine类是Glide框架加载图片的入口。接下来我们分析load的过程。1. Engine#loadpublic <R> LoadStatus load( GlideContext glideContext, Object model, Key signature, int width, int height,...

2019-09-03 19:01:40 1079

原创 Glide原理之into过程

由于into过程篇幅过长,不利于阅读,因此把Engine#load过程单独拆出来分析。1.RequestBuilder#into /** * Sets the {@link ImageView} the resource will be loaded into, cancels any existing loads into * the view, and frees an...

2019-08-27 19:37:52 1545

原创 Glide原理之load过程

上文我们了解到Glide#with方法返回的是RequstManager对象,因此,load方法调用的是RequstManager.load方法。1. RequstManager#load /** * 先调用asDrawable然后调用RequestBuilder#load(String) * @return A new request builder for loadin...

2019-08-27 14:58:54 830

原创 Glide原理之with过程

本文基于Glide4.9.0版本讲解。Glide目前是Android开发中主流的图片加载框架。有必要花时间研究一下它的实现原理。因此,从本文开始将对Glide主要流程进行分析,由于Glide的加载链条比较长,便于理解我们分开分析,先分析Glide.with过程。1.Glide.with(FragmentActivity)/** * 根据FragmentActivity获...

2019-08-26 19:31:01 2031 1

原创 Activity.onWindowFocusChanged首次执行过程源码分析

触发onWindowFocusChanged的情况有多种,比如应用前后台来回切换、软键盘弹出或者隐藏、首次进入一个Activity后会在onResume方法之后调用等,我们以最后一种场景,分析它的执行过程。我们以ActivityThread.handleResumeActivity()方法作为切入点开始分析。public final class ActivityThread extend...

2019-08-13 19:45:33 2952

原创 Okhttp3源码分析

目录一.Interceptors1.RetryAndFollowUpInterceptor2.BridgeInterceptor3.CacheInterceptor4.ConnectInterceptor5.CallServerInterceptor二.StreamAllocation1.newStream()2.findHealthyConnection...

2019-05-15 18:04:17 2315

原创 Linux常用命令

目录1、ls命令2、cd命令3、pwd命令4、mkdir命令5、rm命令6、rmdir命令7、mv命令8、cp命令9、cat命令10、more命令11、less命令12、head命令13、tail命令14、which命令15、whereis命令16、locate命令17、find命令18、chmod命令19、tar命...

2019-04-12 14:52:33 484

原创 TCP报文格式

TCP虽然是面向字节流的,但TCP传送的数据大暖却是报文段。一个TCP报文段分为首部和数据两部分,而TCP的全部功能都体现在它首部中个字段的作用。TCP报文首部的前20个字节是固定的,后面有4n字节是根据需要而增加的选项(n是整数)。因此报文首部的最小长度是20字节。源端口和目的端口,各占2个字节,分别写入源端口号和目的端口号。 序号,占4个字节,本段报文所发送的数据的第一个字节的序...

2019-04-03 19:35:25 863

原创 TCP连接和释放过程

TCP报文格式参考这篇博客一、TCP连接TCP建立连接的过程叫做握手,握手需要在客户端和服务器之间交换三个TCP报文段来完成,这就是TCP三次握手。1.A主机向B发送连接请求报文段,这是首部中的同部位SYN=1,同时选择一个初始序号seq=x,TCP规定,SYN报文段(即SYN=1的报文段)不能携带数据,但是需要消耗掉一个序号。A主机进入SYN-SENT(同步已发送)状态。...

2019-04-03 15:59:06 19682

原创 Bitmap.Compress的变化

android 8.0以上,Bitmap中的方法添加了StrictMode.noteSlowCall方法, public boolean compress(CompressFormat format, int quality, OutputStream stream) { checkRecycled("Can't compress a recycled bitmap")...

2019-02-13 11:53:12 1114

原创 Android P org.apache.http.legacy.jar 找不到

从Android P开始,org.apache.http.legacy 库将从 bootclasspath 中删除。Remove org.apache.http.legacy from bootclasspath也就是进程启动时压根不会去加载这个jar,当你代码中使用到这个库中的类会抛出java.lang.ClassNotFoundException: Didn't find class ...

2019-01-14 21:23:31 5211 1

原创 Android权限

Android 中有上百种权限,现在将所有的权限归为两类:普通权限和危险权限。普通权限是指那些不会威胁到用户安全和隐私的权限,这部分权限系统会自动帮我们进行授权不需要手动操作。危险权限则表示那些可能会触及到用户安全隐私或者对设备安全造成影响的权限,如获取手机联系人信息等权限,权限必须有用户授权才可以,否则程序无法使用相应的功能。下面列出 Android 中所有的危险权限,一共是9组24...

2018-12-13 17:23:36 432 3

原创 解决ViewPager FragmentPagerAdapter不刷新问题

ViewPager+FragmentPagerAdapter使用时发现notifyDataSetChanged()方法不起作用,查看FragmentPagerAdapter源码发现中FragmentPagerAdapter中的Fragment是从FragmentManager中根据tag取的。如果FragmentManager中有相应的Fragment就会复用。也就导致了ViewPager不刷...

2018-11-12 14:10:08 2216

原创 强制清除 gradle 依赖缓存

Windows: gradlew build --refresh-dependencies  Mac: ./gradlew build --refresh-dependencies 

2018-09-22 15:48:04 2260

转载 解决支持库版本兼容问题:all com.android.support libraries must use the exact same version specification

如果引用的第三方库的支持库版本低于(或者不一致)app build.gradle中的支持库版本,可能会出现如下问题:all com.android.support libraries must use the exact same version specification(mixing versions can lead to runtime crashes)如下图所示:去...

2018-04-18 23:01:58 694

原创 Charles高级用法

一、网速模拟点击菜单“Proxy→ Throtte Setting”打开网速模拟配置窗口。配置含义:Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)二、Map功能Charles 的 Map 功能分 Map Remote 和 Map Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Ma...

2018-03-06 11:16:20 2443

原创 DNS域名解析过程

以下是DNS解析的全过程:假定域名为m.xyz.com的主机想知道另一台主机(域名 y.abc.com)的IP地址。例如,主机m.xyz.com打算发送邮件给主机y.abc.com。这时就必须知道主机y.abc.com的IP地址。下面是图a的查询步骤:主机m.xyz.com先向其本地域名服务器dns.xyz.com进行递归查询。 本地域名服务器蔡勇迭代查询。它先向一...

2018-02-27 14:49:55 1473

原创 android RelativeLayout中android:layout_marginBottom的不起作用问题

RelativeLayout布局中:1、当设置为android:layout_height="wrap_content"时,最下面的控件layout_marginBottom属性无效,如果其他控件使用layout_above让自己处于最下面的控件之上,那么layout_marginBottom属性有效。2、当设置为android:layout_height="match

2018-02-07 16:45:03 1395

原创 setBackground()版本兼容问题

在android 4.0系统中没有setBackground() 方法,所以在4.0系统手机上使用会出现异常:java.lang.NoSuchMethodError: x.x.x.setBackground所以低版本需要用setBackgroundDrawable来代替Drawable draeable = new BitmapDrawable(bitmap);

2018-02-05 11:51:58 1140

原创 Arrays.asList 转换数组后add或remove出现java.lang.UnsupportedOperationException异常

String[] array = {"a","b","c"};List<String> list = Arrays.asList(array);list.add("d");list.remove(0);add或remove时抛出java.lang.UnsupportedOperationException异常的原因是因为,Arrays.asList()方法返回的...

2018-01-31 10:44:42 985

原创 CheckedTextView 文字居中

android:textAlignment="center"

2018-01-29 14:47:07 1899

原创 Android Library 上传到JCenter仓库

如何创建android lib就不做描述了,废话不多说直接开始上传步骤:一、注册google邮箱,在申请个人账号的时候只有gmail邮箱才能申请成功。二、注册Bintray账号通过这个账号发布到JCenter上。注册地址官网:https://bintray.com/,但是现在这个地址默认是注册组织的,注册后会有一个月试用期。我们一般需要的是个人类型,正确的注册地址为:https://bintray...

2018-01-25 16:07:19 512

Android平台的相册管家

相册管家系统借助Android平台,采用异步加载图片、软引用缓存,手势识别和图片处理等技术。实现了图片的搜索,排序,应用,删除,浏览和拍照等功能,图片浏览支持滑动切换,双击放大,触摸缩放和幻灯播放等操作。程序界面美观大方,操作简捷,运行高效,交互友好。

2013-03-15

Android天气查询

android 调用地图定位调用webservice查询天气情况。

2013-03-15

水波纹效果

Android仿水波纹效果,欢迎下载评论!

2013-03-15

仿微信客户端

仿微信客户端

2012-11-19

自定义dialog

Android提高篇之自定义dialog实现processDialog“正在加载”效果、使用Animation实现图片旋转源码。 知识点: 1、使用imageview、textview自定义dialog 2、使用Animation实现图片旋转动画效果 3、通过自定义theme去掉dialog的title。 没有使用progressdialog,使用起来更加灵活,请大家参考。

2012-11-12

音乐播放器

第一款开源的、带频谱歌词显示的音乐播放器。

2012-08-28

android播放器 卡拉ok 歌词显示

android音乐播放器 带歌词显示 卡拉ok模式

2012-08-28

淘宝客户端

简单的Android淘宝客户端,适合刚入行的新手学习参考

2012-03-20

android gps定位(基站 wifi )

android gps定位(基站 wifi )有详细的注释,适合开发者研究学习

2011-12-26

android地位系统实现线路跟踪

项目源码,共同学习,本项目是个人为户外探险人员及旅游人员研发的,线路跟踪。可对自己线跟进行跟踪并记录;GPS定位;地址位置查询

2011-12-19

Android开发Google_map资料

Android开发Google_map学习资料 里面有API_GoogleMap中文手册.chm Android定位API使用手册.doc Google_地图_API_专业版开发人员指南.doc Google地图API教程.pdf 还另外发布了 Android SQLite--小巧好用的SQLite GUI管理工具 android permission常用权限大全.doc 希望大家会用得上...........

2011-12-19

android点餐系统

android点餐系统源代码,分为客户端和服务器端两部分,有需要的可以下载参考一下。

2011-12-05

UC浏览器菜单效果

UC浏览器,菜单效果实现代码,希望给大家有所帮助

2011-12-02

android分页手势滑动翻页demo

android实现分页手势滑动翻页效果代码

2011-12-02

植物大战僵尸(android)源码

适合android开发者研究的经典游戏代码.....

2011-11-25

新浪微博Android版源码

Android新浪微博源码,通过它可以学习开放平台的开发等技术,值得研究

2011-11-22

android 10个经典案例

适合初学者学习参考:1、 图片浏览器 2 、文件浏览器 3 、通讯录 4 、任务管理器 5 、音乐播放器 6 、天气预报 7 、多媒体播放器 8、短信语音播报 9、手机远程监控 10、贪吃蛇游戏

2011-11-21

android gallery实现coverFlow效果

寻觅已久的coverFlow效果,android也可以实现很炫的效果

2011-11-21

Python核心编程(中文第二版)带目录.pdf

什么是Python,Python的起源,Python的特点

2010-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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