自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

QCODER's Coding Fleid

coding 人生

  • 博客(36)
  • 收藏
  • 关注

原创 【Android】OkHttp源码解读逐字稿(2)-OkHttpClient

目录0.前言1.各个属性浅析01.dispatcher02.connectionPool03.interceptors&networkInterceptors04.eventListenerFactory05.retryOnConnectionFailure06.authenticator07.followRedirects & followSslRedirects08.cookieJar09.cache10.dns11.proxy &am

2021-08-15 15:33:19 1236 1

原创 【Android】OkHttp源码解读逐字稿(1)-拦截器

目录0.前言1.Okhttp的简单使用2.浅析开始拦截器链式调用流程示意图第 0 个拦截器第一个 拦截器 RetryAndFollowUpInterceptor第二个拦截器 BridgeInterceptor第三个拦截器 CacheInterceptor第四个拦截器 ConnectInterceptor第五个拦截器第六个拦截器 CallServerInterceptor小结3.结语0.前言作为一个已经工作*年的 Android 开发工程师,感.

2021-08-08 20:46:44 1879 4

原创 【Android】仿淘宝商品详情页

话不多说---先上效果图:图1 商品详情页图2 加入购物车点击事件需求分析:图1中主要需要实现的效果:1.轮播图2.顶部导航栏的渐变3.顶部导航栏随着滑动的位置选择对应的值以及点击滑动到对应位置图2中主要需要实现的效果:1.界面从底部出场的效果2.参数选择的瀑布流式效果技术分析:图1:1.轮播图,可以采用自定义(ViewPager的使用),也可以用直接用第三方库。这里我采用的是https://github.com/youth5201314/bann

2020-05-15 12:06:07 6229 14

原创 被 CSDN,伤透了心

这样的事情,不是起点,也不会是终点。我心真的被 CSDN 伤透了!这样的事情,不是个例,而是整个平台的一个缩影。更加可悲的是,这个平台也只是,创造平台上的一个缩影。我的力量很小,我的心愿却很大。我希望 CSDN 平台,以及其他的平台能在审核上完善一些,不要再伤透了原创们的心!..................

2022-07-26 14:53:08 397 1

原创 【Android】RecyclerView 缓存机制,真的很难理解?到底是几级缓存?

我们将以场景化的方式,讲解 RecyclerView 的缓存机制。常见的两个场景是:1.滑动 RecyclerView 下的缓存机制2.RecyclerView 初次加载过程的缓存机制本文将讲解 滑动 RecyclerView 下 的缓存机制背景知识:负责回收和复用 ViewHolder 的类是 Recycler,负责缓存的主要就是这个类的几个成员变量。我们贴点源码看看(下面源码的注释(和我写的注解),很重要,要记得认真看哦)/** * A Recycler is responsib

2021-12-23 15:04:11 2042

原创 【Android】自定义 View 系列-MeasureSpec

自定义 View 中的 MeasureSpec 到底是什么?我们 View 的大小到底是谁说了算?

2021-12-16 15:53:38 1636

原创 【Android】自定义 View 系列- 绘制流程

前言本文旨在让读者对整个绘制流程有个感性的认识-一个图是经过了什么样的流程最后展示到用户面前的。在讲解流程之前,我们需要有一个模型解释:我们画的图,就是通过 Paint(画笔)作用到 Canvas(画板)后,再由画板作用于手机屏幕。所以这也为后面想要对图片做放大或缩小,要先做放大或缩小的操作再做绘制做了解释(这里不理解,没关系。后面内容会重新提到)。[也就是会有些文章说到的-在onDraw() 的时候,要‘顺着逻辑想,倒着逻辑写’]绘制流程有了上面的基本模型后,我们接着来看绘制流程.

2021-12-15 14:40:42 2051

原创 【Android】自定义 View 系列实战篇-View

对自定义 View 的练习-评分控件,可自定义总数,‘星星’样式,展示与操作两用等功能

2021-12-08 11:04:47 1414 1

原创 【Android】自定义 View 系列实战篇-ViewGroup

自定义 ViewGroup 其实也不复杂,但是要对子 View 的margin属性支持,就还需要花点经历。下面自己写了一个自定义的 FlowLayout,支持了本身的 padding 属性的同时,也支持子 View 的 margin 属性。基本注释都已尽可能详尽地写在代码中。先上效果图兄弟们,上代码import android.content.Contextimport android.graphics.Rectimport android.util.Attribu..

2021-12-07 18:22:48 2019 2

原创 【Android-混合开发】奇案-上传照片至 H5 失败

在开发阶段,涉及的手机都没有出现上面的问题-在 H5 调起原生相机相册,选择文件后,H5 页面无法获取到对应文件展示。红米note9(Android10) ,荣耀 30(Android10),OPPO R17(Android10),OPPO Reno5 (Android11),小米10(Android10),均出现了该问题。但均不是必现。而且,通过云测以上机型也均没有出现问题。你说是不是奇案?在没有思路的情况下,我决定写一个 Demo,将因素一个个进行研究。最直接的发现是只与是否经历过压..

2021-06-10 13:59:24 986 4

原创 【Android-混合开发】H5 能直接调起原生的相册和相机吗?

最近混合开发中出现,H5界面调用原生的相册和相机。一开始的我,并不知道H5可以直接调起原生的相机和相册。iOS 的同事告诉我,可以的。我很开心,因为这样才符合混合开发的意义嘛。(只要H5端写好了,两个移动端就可以不写)。但是万万万万万万没想到,android,好像不可以???(我爱 Android)尝试1:抱着希望在 Google 上一顿搜索,有文章说要在 H5 标签中,添加capture属性。<input type="file" accept="image/*" capture="ca..

2021-05-18 15:17:24 2074 3

原创 【Android-混合开发】mPaas-多版本接入篇

对于 mPaas 的常规接入,这里就不赘述了。因为比较简单,根据官方文档就可以完美接入了。(可以在 Android Studio 中,接入 mPaas 插件,这样可以更快,更方便的接入)经历完上面的步骤,我以为看到了胜利的曙光。突然,CTO 跟 iOS 的同事说:“Android 既然接好了,那 iOS 这边也接 mPaas,不过 iOS 这边存在坑,就是公司项目采用了在一个 TARGETS 下可以打出多个应用。但是一个 TARGETS 只能配置一个 mPaas 的 config 文件。”...

2021-05-17 18:38:36 880 8

原创 【Android-混合开发】JSBridge-基础篇

(假装有图)因项目需要,终究是需要进行混合开发。开心的是,我早就想接触这块了。在我还没有接触之前,我想着这有啥难的。不就是用WebView加载一个链接就完事了吗?(无知的人类)废话不多说,直接进入主题。接下来几篇文章都会是关于与 H5 混合开发的坑坑洼洼。学习一个新的事物,总是容易毫无头绪去,就应该以建立”问题树“的方式,开展学习。(该思路源于《跃迁》一书,问题树往往比知识网络结构图更容易让人掌握一个知识)目录WebView怎么加载H5?Android 如何调用 H5 中的方法?调用

2021-05-08 15:50:00 1305 6

原创 【Android】初识系列-Room,我来了~避雷指南

大家好,我是一个热爱技术的Coder。对于android,我是-【不厉害但爱‘玩’ 】。今天记录的是数据存储这块的内容。2018年 Room 就问世了,可是到现在有多少人正式用过它呢?这个问题,我也不知道。我问出来,只是因为我之前一直没用,对于本地数据的存储涉及不到。最近项目中有需要,就记录了一下吧。以后,要多多了解新出的技术,例如最近的Compose Beta版,与时代同步。老规矩,是什么?为什么?怎么用?三步走。对于一个东西是什么?最好的了解方式,就是上官网,看官网的定义。上才。。不对,..

2021-03-08 17:20:49 363 3

原创 【Android-通讯-蓝牙】你还不会 BLE?最全入门指南?

目录前言通过蓝牙,我们能干嘛?前言在项目开发过程中,一般为了“快速开发”,我们一般除了CV,还有就是借轮子。这次蓝牙,我也借了一个轮子,但是这个轮子有问题??情况是这样的:在部分华为手机上使用App的蓝牙模块,会偶尔出现<针对性蓝牙服务缺失>。即:有一次手机A连上蓝牙在发现服务的时候,会缺失两个服务(其中一个是主要使用的服务),那么手机A再不做其他处理的情况下,就再也找不到那两个“丢失”的服务。但是,其他的手机又可以搜到该蓝牙设备对应的所有服务。碍于对轮子存在疑虑,于是...

2021-01-22 11:26:00 1242 2

原创 【Android】你以为的单例模式和真正的单例模式是一样的吗?

目录你以为的单例模式单例模式的思想真正的单例模式Java 实现懒汉模式线程安全的懒汉模式饿汉模式双重检查加锁模式静态内部类模式Koltin实现懒汉模式线程安全的懒汉模式饿汉模式双重检查加锁模式静态内部类模式你以为的单例模式可能你认为的单例模式是这样的public class Singleton(){ private static Singleton instance; private static Singleton

2020-12-10 19:22:02 357

原创 【Android】浅析AsyncTask

本篇文章,主要谈谈线程间通信方式之一AsyncTask。会从源码的角度,进行简单的分析。 依然根据之前的学习结构来学习这个点。 1.是什么? 2.怎么用? 3.为什么?(包括原理和优缺点) 细心的你,会发现上面的结构发生了变化。按照正常的顺序,不是应该为 What, Why , How 吗?Actually,这是根据我们平时学习深度调整了一下,我们一般在技术上,都是先知道了它是什么,然后就用起来了。对于为什么?这个可能很多攻城狮和程序媛会没有精力去学习(毕竟,还要打王者...

2020-10-21 10:06:00 1006

原创 【随手记】开发中遇到的问题与解决方案,持续更新...

1.Gradle dependencies依赖关键词的作用 implementation 所依赖的库仅可在当前module使用,编译速度快 api 整个工程使用,编译速度比implementation慢 apk 仅在生成apk的时候参与打包,编译时不参与 testImplementation 仅在单元测试代码的编译和最终打...

2020-06-22 10:21:32 442

原创 【工具】Git与GitLab /GitHub/Coding/...不得不说的秘密。

git 是什么? Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.---源自官网 https://git-scm.com/意思是:Git 是一个免费的开源分布式版本控制系统,旨在快速高效地解决大小型项目的所有内容。 G...

2020-06-02 10:21:35 1245 3

原创 【Android】手把手带你进入android打包的多版本,多环境,多渠道的踩坑之旅

本文内容是基于英文版:https://laptrinhx.com/multi-version-multi-environment-and-multi-channel-packaging-of-android-3124436623/中文版:可以直接用google浏览器翻译上面的内容,但是google翻译起来会有点奇怪,所以还看【天然鱼】的这篇文章吧https://www.jianshu.com/p/872dc6f89cb4对于有经验的coder可以直接看上面的文章,如果是白白净净的小白,那就来我.

2020-05-21 11:11:49 648

原创 【Android】《第一行代码》(第3版)第九章-通过“问题树”的方式学习【多媒体-通知】

最近,忙着面试、入职、毕业论文初稿等一堆事,所以暂停了这本书的学习。但是,我觉得还是要保证明天的输入,所以后面不保证一章一章的学,不过会尽可能的一小节(形成知识体系的闭环)学习与分享。 有人可能会好奇,标题中的“问题树”是什么东西?其实这是我在【古典】dalao的《跃迁》这本书中学习到的,简单说一下,就是平时,我们经常是总结知识点,形成“知识树”(就是之前博客...

2020-04-24 13:11:32 373

原创 【Android】《第一行代码》(第3版)第八章知识结构图【ContentProvider】,以及撸过程中遇到的问题

菜鸡的我:“郭神,今天撸到第8章【运行时权限】p323,我在6.0以上的系统运行的时候,一切正常,可以启动拨打电话的功能,并且没有错误信息。那么书上说的那种错误信息,是什么情况下发生的呢?”郭神:“别用一些国产手机,它们经常会做一些画蛇添足的事情,用安卓原生手机或者模拟器来测!”(这个方法还没来得及试,准备几个面试中,后期试了来告诉大家,后者大家也遇到这个问题,解决了告诉我。感...

2020-04-16 21:48:56 423

原创 【Android】《第一行代码》(第3版)第七章【数据存储】对比

撸《第一行代码》的第6天,打卡~今天的内容,我觉得用知识网络结构图,没有那么好记忆。所以换了个方式,将这几种存储方式对比的学习~废话不多说,直接上图。哦,不对,上表 存储方式 适用情况 原理 核心步骤/主要内容 文件存储 简单的文本数据和二进制数据 文件I...

2020-04-15 17:20:21 356

原创 【Android】《第一行代码》(第3版)第六章知识结构图【广播】,预告第7章的小bug

今天因为有个面试,所以晚了些写BLOG,不过还是坚持每天打卡。今天学了第7章【数据存储】,但是遇到一个问题,就是DB Browser 看不到创建的数据库,也没有找到解决方法。问了一下,本书的作者【郭霖】大神, 大神也说他在测试的时候也有bug,不过问题不大,找别的查看方式就行了。今天的知识结构图,没有kotlin知识加油站,因为第7章的kotlin知识点,是一块的。到时候,总结到一...

2020-04-14 22:24:54 307

原创 Android---《第一行代码》(第3版)第五章知识结构图【Fragment】。如果你看不懂这章的【最佳实践】,快点进来看看

学习《第一行代码》(第3版)的第4天,打卡~其中的最佳实践,一开始撸完,还是懵的。于是决定捋一捋。 布局 类 启动模式 双页模式 news_content_frag NewsContentFragment 直接加载NewsContentFragment 单页模式 ...

2020-04-13 20:09:31 417

原创 【Android】《第一行代码》(第3版)第四章知识结构图【UI开发】,自定义View看这篇文章你就稳了

今天是撸上面这本书的第3天,今天学完了第4章的内容。用XMind做个【知识闭环】总结。 其中自定义View是一个比较庞大的技术体系。有兴趣的,属于进阶内容(小白,可以先放放)。其中推荐学习【抛物线】大佬的课程(!!!免费的!!!)https://hencoder.com/tag/hui-zhi/...

2020-04-12 21:11:06 539

原创 【Android】《第一行代码》(第3版)第三章知识结构图【探究Activity】

知识结构图有点大,分开两段截了。最近有在撸这本书的码友,有机会多交流~联机学习,1+1>2。“墙裂”推荐大家可以使用各种制图软件,我用的是XMind,写写思维导图,知识体系会被强化很多。...

2020-04-11 20:38:51 442

原创 【Android】单例模式【手撕】【Kotlin极简实现】【应用场景】

设计模式-设计原则设计模式六大原则:单一指责原则:就是一个类而言,应该仅有一个引起它变化的原因(解耦,减少职责耦合)开放封闭原则:类,模块,函数等应该可以拓展的,但不可修改(增加一个抽象的功能)里氏替换原则:所有引用父类的地方必须要透明底使用其子类的对象(里氏替换原则是实现开放封闭原则的重要方式之一)依赖倒置原则:高层模块不应该一来底层模块,两者都应该依赖于抽象。抽象不应该...

2020-04-10 20:46:45 445 1

原创 【面试心得】---流下没有技术的眼泪

面试一个月下来,除了拿到几个offer之外,就是被虐得体无完肤,于此同时也在“非系统性”的进步。 从3月份开始投简历,可谓海投啊。在【BOSS直聘】上,沟通过的150+,鸟我的(就是给我投简历的,因为BOSS直聘上需要对方同意才能投简历)45+,近2/3的公司估计看了一下学校(毕竟自己是个二本生)就忽略了,理解中透入无奈吧。结果上,总是无法达到两情相悦。...

2020-04-02 23:26:46 602

原创 【JAVA】String、StringBuilder、StringBuffer 。对此,小问号,你是不是有很多的朋友?

我们用的最多的是String,那跟它长得很像的这两位仁兄【StringBuilder、StringBuffer】又是啥来的呢? 谈谈区别 明明有了String为什么还要【StringBuilder、StringBuffer】?那是因为String赋值后就不能改变了,而在实际开发中常常有改动的需要,因此有了【StringBuilder、StringBuffer】...

2020-03-29 11:42:26 905

原创 【JAVA】一图一表看清内存分配

为什么要写这篇文章,一来面试常客,二来便于理解开发中遇到一些内存异常的原因。虽然看过,但是总是容易忘记,或者记混淆。所以---》【表格总结,对比学习,便于记忆】手绘示意图,示意示意就行。哈哈表格总结PS:依旧秉持着联机学习 1+1>2的原则,欢迎大家指点批评,互相交流学习~...

2020-03-18 00:46:55 778

原创 【Android】浅析EventBus

为什么要写这篇文章?最近面试总是会遇到“请你谈谈你知道的消息传递机制”。那么其中一个就是EvenBus(事件总线)。而且这个是真的好用~一般我学习一个技术,都会问自己三个问题。1.是什么 2.为什么 3.怎么用1.EvenBus 是什么?EventBus是一款针对Android优化的发布-订阅 事件总线。(它还是一个基于【观察者模式】(设计模式的一种)设计的)2.为什么要使...

2020-03-16 23:52:55 609

原创 【Android】Activity生命周期那些事--活动A到活动B再回来的生命周期

其实关于这个的文章,一搜一堆。但是我觉得实践一下记忆再做笔记理解的更加深刻。原材料:两个Activity【TestOneActivity,TestTwoActivity】并且在【TestOneActivity】设置了一个button点击事件。 烹饪方法:重写所有的生命周期的...

2020-03-15 21:47:45 914

原创 【Android】RecyclerView 出现重复数据

具体“病症”如图所示:这个问题比较简单,跟Activity的生命周期有关ps:图来源于菜鸟android教程当我们回到手机桌面的时候,调用onStop()。当Activity回到前台时,就会调用onRestart()->onStart();所以如果你是再onStart()里面加载数据就有可能出现这种情况。方法一:我们可以在onCreate()里面加载数据,就可以解...

2020-03-15 20:24:34 4942

原创 【Android】 抽象分装Adapter,增加代码复用率(一)

本篇文章主要分析一个具体的adapter类的实现,方便后面抽象的实现。很多东西的学习,都是具体->抽象->具体的过程。第一步分析常规的一个adapter类的实现:public class DailyAdapter extends RecyclerView.Adapter<DailyAdapter.DailyHolder>{}首先看这个这个类,DailyAdap...

2020-03-14 22:34:43 344

原创 如何解决后台传回的数据不是正常的json数据,例如是个List [ ]

最近做毕设碰到一个问题,我访问的接口,传回来的数据是 [{},{},{}]这个类型,还有[[{},{}],[{},{}]] 这个类型。一开始没有注意,直接用Android studio 的插件GsonFormate。直接运行之后报错。com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected...

2020-03-14 20:54:21 4151 1

空空如也

空空如也

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

TA关注的人

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