自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风离紫竹zhangqiang的博客

生活不止眼前的苟且,还有bug没解

  • 博客(102)
  • 资源 (5)
  • 收藏
  • 关注

原创 chatgpt-AI工具

chatgpt-AI工具推荐

2023-03-06 20:10:16 6314

原创 Android系统启动流程详细图解

Android系统启动流程详细图解

2022-09-20 20:32:38 749

原创 总结系列-Android 属性动画

Android一开始提供了视图动画,即补间动画跟逐帧动画。但视图动画存在三个问题 (如下), 为了弥补视图动画的缺陷,Android在3.0(API 11)开始提供了一种全新的动画模式:属性动画(Property Animation)。对于属性动画的使用,主要是:1. 两个使用方法类:ValueAnimator 类 & ObjectAnimator 类2. 两个辅助使用类:插值器(Interpolator)(插值器范例) & 估值器(TypeEvaluator)1

2021-07-12 20:10:35 2322 3

原创 Jetpack 总结系列- Google-Room数据库使用

官方文档 : Room 谷歌实验室:官方教程 SQL语法:SQLite教程与greendao的区别:同样基于ORM模式封装的数据库。而Room和其他ORM对比,具有编译时验证查询语句正常性,支持LiveData数据返回等优势。第一步 添加依赖apply plugin: 'kotlin-kapt'dependencies { // Room implementation "androidx.room:room-runtime:2.2.5" kapt "androidx.

2021-04-26 11:21:05 1718 1

原创 总结系列-Android10适配(2)-分区存储

上篇介绍了Android10的部分适配总结,其中存储适配采用的为兼容模式,本篇单独介绍正常分区存储适配.Google于2019年9月3日发布了Android10 release版本,为了更好的保护用户数据并限制设备冗余文件增加,Android 10版本变更了设备外部存储访问方式,外部存储新特性称为分区存储(ScopedStorage),分区存储遵循以下三个原则对外部存储文件访问方式重新设计,便于用户更好的管理外部存储文件.(本篇主要总结,具体样例代码较多,参见末尾链接) 文件...

2020-10-13 12:06:00 1764

原创 总结系列-Android10适配

Android10,即TargetSDK29于2019 年 9 月上线正式版, google play store要求TargetSDK29的适配,要求新产品在8月1号前完成,已有产品在11月1号前完成适配,记录.在Android 10 版本中,某些改动较大,有一定的开发适配成本,本文主要记录一些相关适配点及部分调研情况 关于Androidx 版本 28.0.0 是Android Support 库的最后一个版本。官方将不再发布 android.support 库版本。所有新功...

2020-09-30 17:51:21 2684

原创 Android 10 更新内容与适配

Android 10 更新内容与适配功能更新与API手机温度监控 webview渲染程序检测 设置面板 快捷方式改进 深色主题6. 其他拓展功能与API跟随系统版本的变更内容非SDK接口调用限制 手势导航 WLAN直连广播不生效 旧版 Android 系统为目标平台的应用的警告Target 29 变更内容全屏 Intent 的权限变更:USE_FULL_SCREEN_INTENT 后台位置权限 后台启动 Activity 的限制 /proc/net ...

2020-09-25 15:26:28 1648

原创 总结系列-一文搞懂沉浸式状态栏

近期做到与状态栏相关一些需求,网上关于沉浸式状态栏的文章有很多,基本上都先讲一堆概念,然后接着推出一个自己写的轮子,这类轮子面对很多不同场景的情况不能百分之百满足使用需求,过度地使用轮子也往往会让开发者不了解代码到底是怎么实现沉浸式的,基于之上,参考一些文章及自身经验总结此篇文章.需要注意的是,并没有沉浸式状态栏这一概念,只有沉浸式模式和透明状态栏的概念。(注: 此篇非原理,非解决方案封装类,偏于实用与查阅对比,底部参考链接有GitHub上的轮子供参考)实现沉浸式状态栏主要跟以下...

2020-08-12 15:52:44 1549

原创 总结系列-Android文件存储相关

Android开发中有五种数据持久化API:内部存储 目录:/data/data/ 特点: 每个应用独占一个以包名命名的私有文件夹 在应用卸载时被删除 对MediaScanner不可见 内部存储位于系统中很特殊的一个位置,对于设备中每一个安装的 App,系统都会在data/data/packagenam...

2020-08-12 15:48:22 4502

原创 总结系列-Android画中画模式-看这篇就够啦

最近做做播放器,有个浮窗播放的需求,两种实现方式,一种是申请浮窗权限,创建浮窗参考flowWindow,一种是采用画中画模式(8.0以上)关于画中画Android 8.0 Oreo(API Level 26)允许活动启动画中画 Picture-in-picture(PIP)模式。PIP 是一种特殊类型的多窗口模式,主要用于视频播放。PIP 模式已经可用于 Android TV,而 A...

2020-03-06 18:12:19 16192 10

原创 kotlin的了解与使用

1. Kotlin 基础知识1.1 Kotlin 函数和变量的定义函数和变量这两个概念是 Kotlin 中最基本的两个元素,在介绍其他概念之前,先介绍下这两个基本概念下面我们来定义一个函数:fun max(a: Int, b: Int): Int {return if (a > b) a else b}对上面的函数做个解释: fun 关键字用来定义一个...

2019-08-30 18:12:33 4799

原创 java核心技术36总结笔记(10-18)

10 如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全HashTable 低效的加锁方式Collections 提供的同步包装器ConcurrentHashMap 的设计原理:早期(Java 7)实现原理分离锁 Segment 对数组进行分段锁定,基于 ReetrantLockHashEntry内部使用 volatile 保证可见性一...

2019-06-21 18:15:47 332

原创 java核心技术36总结笔记(1-9)

前段时间在极客时间上购买了杨晓峰老师的《Java核心技术36讲》,趁着这段时间有空,对相关知识点做了一个整体的大纲,若想深入学习,可以购买这个专栏,也可以对着该知识点查阅相关资料,源码等自学。1 Java平台的理解JVM:英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件...

2019-03-08 16:52:45 1763

原创 重识 Handler

注:本文系统源码展示基于 API-27(部分删减) .做Android 开发肯定离不开跟 Handler 打交道,Handler 作为 Android 中消息机制的重要一员 ,它通常被我们用来做主线程与子线程之间的通信工具可以说只要有异步线程与主线程通信的地方就一定会有 Handler。所以搞懂 Handler 对理解Android以及开发非常有必要那么,一起过一下Handler 用...

2019-03-07 12:14:31 503

原创 ! Android最强屏幕适配方案对比解析

注: 本文已整理成博客,见: https://blog.csdn.net/u011200604/article/details/84990040注: 本文最终方案推荐源于JessYanCoding/AndroidAutoSize 的开源库(详见GitHub)在Android开发中,由于Android碎片化严重,屏幕分辨率千奇百怪,而想要在各种分辨率的设备上显示基本一致的效果,适配成本越来越...

2018-12-13 15:57:20 2212

原创 开源播放器,音视频播放相关调研

最新项目需要做视频播放功能,进行了一些播放器调研,仅供参考 目前主要开源播放库基于ijkplayer 及ExoPlayer进行开发(以ijkplayer居多),此次选取了github相关功能排行较高的几个功能库,包括但不限于GSYVideoPlayer  , JiaoZiVideoPlayer, yjPlay , NiceVieoPlayer , dkplayer, VideoPlay...

2018-12-07 17:48:24 3879

原创 WebView网页视频统一全屏播放及横竖屏切换

WebView 支持 Html5 video 进行全屏播放及横竖屏自动切换 1.检查AndroidManifest.xml清单文件,WebView控件所在的Activity配置信息;检查Activity的主题是否NoActionBar了。## 犯错的错误写成了如下: android:configChanges="orientation|keyboardHidden" --> ...

2018-11-14 20:52:53 10186 1

原创 Android常用知识点-[常用备忘,持续更新]

目前包含:大纲:[自定义view参数][shape/layer-list/selector][view与activity生命][view事件分发与滑动冲突][ScrollBy与ScrollTo][scaleType][Android版本号] [drawable -hdpi]Android自定义View——自定义样式整理-步骤例: 可以设置宽高比例的Ima...

2018-11-02 16:37:15 405

原创 Webview的奇技淫巧-总结篇

如果我不说奇技淫巧,你们估计就不点进来了WebView在现在的项目中使用的频率应该还是非常高的。HTML5因为其便捷性以及低成本性 是现在乃至未来的一种趋势。我们来看看 Google 官网关于 WebView 的介绍:A View that displays web pages. This class is the basis upon which you can roll yo...

2018-08-29 15:50:10 11801 2

原创 Android P版本(9.0) 新功能介绍和兼容性处理

P 新特性Android P 在Google IO2018正式发版,全新的手势操作选项。底部虚拟键将由小白点和一颗返回键取代。通过轻触回到主页、长按呼出语音助手。新的特性主要有: 利用 Wi-Fi RTT 进行室内定位 刘海平API支持 通知栏功能增强 多摄像头支持和摄像头更新 HDR VP9 视频、HEIF 图像压缩和 Media API 详...

2018-08-27 17:28:22 10389

原创 全面屏/刘海屏及虚拟键适配--总结版

什么是刘海屏?随着iPhone X发布,刘海屏手机大行其道 ,Google Android P版本的发布,也引入了刘海屏的概念 即将发布的Android p也提供了对刘海屏的支持。像 华为P20 pro, vivo X21,OPPO R15 华为nova 3e,红米note6等手机厂商也纷纷推出自己的刘海屏手机app也要提前做好适配。屏幕的正上方居中位置(下图黑色区域)会被挖掉一个孔,...

2018-08-15 09:54:24 8024

原创 单例模式的深入理解

单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 单例的特点 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。...

2018-08-01 14:52:38 1563

原创 DataBinding使用详解-Google官方的视图绑定

几年前,数据绑定在便已在前端界风生水起,Angular.js、React.js、vue.js等热门前端框架都具备这种能力。Android端的开源库butterknife/Anotation/dragger2等等也非常好用且广受支持; 数据绑定简单来说,就是通过某种机制,把代码中的数据和xml(UI)绑定起来,双方都能对数据进行操作,并且在数据发生变化的时候,自动刷新数据。在2015...

2018-07-25 10:38:10 772

原创 自动化压力测试:Mokey测试参数:

Mokey测试参数:简单案例:adb shell monkey -v 500adb shell monkey -v  -p com.easyto.travel 100adb shell monkey -v --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --...

2018-06-19 18:06:31 512

原创 Android6.0以上权限机制及解决方案

Android6.0以上权限机制及解决方案权限分类Android权限有100多种不可能每种都去运行时授权,因此google把权限分为两类:1.普通权限:例如网络请求等,按照老的权限机制2.危险权限:9种共24个(电话,短信,sd卡,位置,摄像头,传感器,日历,录音,联系人),就是我们要动态申请的。用adb命令查看危险权限列表:(tip:记住9种24类)adb shell pm list permi...

2018-05-22 16:01:07 1231

原创 Fidder抓包使用引导

本文旨在引导使用fidder进行网络抓包操作,以链景APP的HTTPS的加密请求进行抓包。 本文内容已上传博客:http://blog.csdn.net/u011200604/article/details/79456402可点击链接方便查看 所使用工具推荐:前期准备硬件环境:window电脑; Android、iOS手机软件环境:fidder破解版 ; 手机安装链...

2018-03-06 12:12:18 1491 1

转载 安卓开发规范-必读版

安卓开发规范工欲善其事必先利其器,工欲利其器必先建其模,细节决定成败,请完善你的小细节本文转自Blankj: https://github.com/Blankj/AndroidStandardDevelop摘要1 前言2 AS规范3 命名规范4 资源文件规范5 版本统一规范6 第三方库规范7 注释规范8 测试规范9 RN规范10 其他的一些规范1 前言为

2017-11-06 10:22:22 811

原创 干货! RxJava 常见使用场景及小技巧!

总结Rxjava最常用的使用场景和小技巧本文基于RxJava1.x.x ,若用 2.x版本请自行替换部分代码基础部分:给 Android 开发者的 RxJava 详解 ——扔物线 对RxJava的概念以及基本特性做了详细介绍本系列相关进阶:  带你入门学习Rxjava ;  RxJava2.x使用以及操作符详解正文部分:RxJava+RxBi

2017-10-20 18:19:08 3332

原创 okhttp/Retrofit-rxJava加入数字证书支持HTTPS 实现单向及双向验证

什么是HTTPS?简单来说,HTTPS就是“安全版”的HTTP, HTTPS = HTTP + SSL。HTTPS相当于在应用层和TCP层之间加入了一个SSL(或TLS),SSL层对从应用层收到的数据进行加密。TLS/SSL中使用了RSA非对称加密,对称加密以及HASH算法。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难

2017-10-16 17:31:28 5882

原创 Android Studio开发Build.gradle小技巧

引用版本统一规范链接:http://www.jianshu.com/p/db6ef4cfa5d1Android开发存在着众多版本的不同,比如compileSdkVersion、minSdkVersion、targetSdkVersion以及项目中依赖第三方库的版本,不同的module及不同的开发人员都有不同的版本,所以需要一个统一版本规范的文件,现在我就来介绍一种方

2017-10-11 16:48:14 5289

原创 常用正则表达式集合及工具类

常用的正则规则(手机/邮箱/汉字/身份证等校验)以及封装工具类

2017-10-11 15:56:03 4990

转载 2017年Android百大第三方框架排行榜

最新百大框架排行榜 :适合Android初级开发工程师~~~中级开发工程师 知其然知其所以然 ; 中级、高级、资深工程师 知其然知其不可然

2017-06-28 10:38:04 5558

原创 RxJava2.x使用以及操作符详解

RxJava2.x是一个非常棒的流式编程,采用的观察者模式思想,事件的产生者产生事间之后发送给绑定的接受者,接受顺序与发送顺序一致.但是 是独立于RxJava1.x存在,本文讲解RxJava2.x的简单使用RxJava2 封装主要变化Transformer的变化:RxJava1.X为rx.Observable.Transformer接口, 继承自Func1, Observa

2017-06-08 20:34:57 21758

原创 带你入门学习Rxjava--上手教程

相信各位看官对RxJava早有耳闻,那么关于什么是RxJava我就不再赘述了,不知道的可自行百度。网上的RxJava的入门门槛稍高,但入门不难,可以跟本文一起来学习注: 本文针对rxjava 1.x.x ,用例为下,建议初学先从1.x看起    compile 'io.reactivex:rxjava:1.1.6'    compile 'io.reactivex:rxandroid:

2017-06-08 18:28:08 4139

原创 关于Retrofit用法

Retrofit用法详解一、 简介随着Google对HttpClient 摒弃,和Volley的逐渐没落,OkHttp开始异军突起,而Retrofit则对okHttp进行了强制依赖。Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,OkHttp现在已经得到Google官方认可,大量的app都采用OkH

2017-06-07 16:47:40 4335

原创 用RxJava实现Rxbus替换EventBus事件总线

首先,Rxjava不必多说,可以说和Retrofit是年度最火框架,在GitHub上都已经超过两万star,Eventbus也不必多说,目前大多数开发者大多数项目一定会用到EventBus或者Otto作为事件总线通信库,对于RxJava使用者来说,RxJava也可以轻松实现事件总线,因为它们都依据于观察者模式。本文介绍Rxbus如何完美替换Eventbus,减少APP体积.不多说,

2017-04-17 10:59:16 5259 1

原创 Android热修复应用篇--关于腾讯Bugly的使用

上篇介绍了 Android 热修复原理篇及几大方案比较 介绍了热修复功能和几个比较火的库,本篇介绍Bugly(目前采用微信Tinker的开源方案)的集成及使用方法.bugly兼有异常采集上报,全量更新及热更新功能,本文主要关注其热更新模块;话不多说两横一竖直接开干.首先注册登录bugly平台账号,然后就可以注册新的app,填写相应的信息,就可以得到相应的APP_ID。这点相信大家很

2017-03-06 19:06:06 6254 1

原创 Android 热修复原理篇及几大方案比较

热修复说白了就是”即时无感打补丁”,比如你们公司上线一个app,用户反应有重大bug,需要紧急修复。2015年以来 ,15年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案.如果按照通常做法,那就是程序猿加班搞定bug,然后测试,重新打包并发布。这样带来的问题就是成本高,效率低。于是,热修复就应运而生.一般通过事先设定的接口从网上下载无Bug的代码

2017-03-03 17:30:33 14388 4

转载 Android 自定义view完全解析--带你通透了解自定义view

参考转自郭霖博客带你一步步深入了解View系列Android LayoutInflater原理分析相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView(

2017-02-22 15:26:05 11119 1

原创 ScrollView,ListView,GrideView,RecyclerView,ViewPager等多种view嵌套问题

在开发中各种滑动布局的view如ScrollView,ListView等非常常用,但是你也会发现各种奇怪问题产生。网上的解决方法有很多种,但是杂而不全,根据个人经验现在列出常见问题以及代码最少最简单的解决方法,首先你要了解事件的分发机制及事件冲突,这里不再赘述。(其他继承自AbsListView的类也适用,包括ExpandableListView、GridView等等)ScrollVi

2017-02-22 14:43:07 5808

深入理解计算机系统(原书第2版)

深入理解计算机系统(原书第2版)

2017-02-17

深入理解计算机系统 修订版( 带目录高清晰版本)

深入理解计算机系统 修订版( 带目录高清晰版本)

2017-02-17

apk反编译工具包

全套的apk反编译工具 简单好用 版本齐全

2016-09-28

空空如也

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

TA关注的人

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