自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AboBack

无他,唯手熟尔!

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

原创 简洁唯美的 WanAndroid 客户端

1.什么是 WanAndroid 客户端WanAndroid 是鸿洋开发并维护的一个专门学习 Android 的站点,这里面你可以学习到各种关于 Android 知识。精彩的每日一问、你需要的面试资料、面试题、当然你也可以在这个上面分享知识博客,以及其他好的关于学习 Android 的内容。非常建议学习浏览!同时鸿洋大佬还提供了 WanAndroid 的 API 真造福了广大 Android 开发者啊!比心!????我就是根据 WanAndroid 提供的 API,写了一个客户端,这样可以在手机上可以

2020-11-26 13:04:42 929 2

原创 简洁易懂的 OkHttp 请求的流程源码分析

本文为 OkHttp 的第一篇文章,主要是对整个请求的流程的梳理,对 OkHttp 整体有一个感性的认识。本文基于 OkHttp 最新的 4.8.1版本进行源分析的,源码是 Kotlin 写的,做好准备。依赖implementation 'com.squareup.okhttp3:okhttp:4.8.1'整体流程先写一个 Demo 作为源码分析的入口,首先分析异步请求的整体流程,然后再看同步请求的整体流程,从整体上把握 OkHttp 的请求流程1.OkHttp 的基本使用class O

2020-09-08 16:00:53 525 2

原创 一定能看懂的 Retrofit 最详细的源码解析!

你在使用 Retrofit 的时候,是否会有如下几点疑惑?什么是动态代理?整个请求的流程是怎样的?底层是如何用 OkHttp 请求的?方法上的注解是什么时候解析的,怎么解析的?Converter 的转换过程,怎么通过 Gson 转成对应的数据模型的?CallAdapter 的替换过程,怎么转成 RxJava 进行操作的?如何支持 Kotlin 协程的 suspend 挂起函数的?关于 Kotlin 协程请求网络,首先写一个 Demo 来看一下协程是怎么进行网络请求的,然后会再具体分析代码

2020-09-07 11:49:57 429

原创 Android Jetpack组件ViewModel基本使用和原理分析

本文整体流程:首先要知道什么是 ViewModel,然后演示一个例子,来看看 ViewModel 是怎么使用的,接着提出问题为什么是这样的,最后读源码来解释原因!1.什么是ViewModel1.1.定义ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。在对应的作用域内,保正只生产出对应的唯一实例,保证UI组件间的通信。ViewModel 一般要配合 LiveData、DataBinding一起使用1.2.特点

2020-09-01 17:38:45 676

原创 Android Jetpack组件LiveData基本使用和原理分析

LiveData一般是和 ViewModel 配合使用的,但是本文就以单独使用 LiveData 作为例子单独使用,这样可以只关注 LiveData 而不被其他所干扰。本文整体流程:首先要知道什么是 LiveData,然后演示一个例子,来看看 LiveData 是怎么使用的,接着提出问题为什么是这样的,最后读源码来解释原因!LiveData 的源码比较简单,底层依赖了 Lifecycle,所以懂 Lifecycle 的源码是关键,我之前写过一篇Android Jetpack组件Lifecycle基本使

2020-08-31 14:54:45 840

原创 Android Jetpack组件Lifecycle基本使用和原理分析

本文主要对 Jetpack 的 Android Architecture Components 中的 Lifecycle 进行分析,首先会说明什么是 Lifecycle,然后通过一个实际的例子,来验证 Lifecycle 的特性,然后抛出问题,为啥 Lifecycle 这么厉害,这么强大!最后通过阅读Lifecycle 的源码,来一步一步解答疑问!1.Lifecycle简介什么是LifecycleLifecycle提供了可用于构建生命周期感知型组件的类和接口,可以根据 Activity 或 Frag

2020-08-27 15:57:47 1110 1

原创 Android 自定义View练手Demo(三)实现微信拍一拍的动画效果

Android自定义View实现微信拍一拍的动画效果微信的头像拍一拍效果可以说是很吸引人了,就是下面这个gif图,图片展示和实际效果还是有差距的,实际体验效果更佳!那么我们如何通过自定义View,来实现微信的这种效果呢?首先我们得把图片做的像一个用户的头像,这里我就用热巴的头像吧!1.自定义View实现圆角矩形的头像因为这样才更像微信的头像啊,原生的ImageView是没有圆角的,所以实现一个圆角的ImageViewclass ShakeImageView @JvmOverloads cons

2020-08-26 14:56:49 614

原创 Android 自定义View练手Demo(二)实现圆形头像效果

Android自定义View实现圆形头像效果在我们的APP中通常会遇到,展示圆形头像的需求,一般通过Glide就能实现,但是让我们做一个圆形头像,如果让我们自定义实现这种效果,该怎样做呢?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ld61YHD3-1598412114418)(https://github.com/jhbxyz/ArticleRecord/blob/master/articles/%E8%87%AA%E5%AE%9A%E4%B9%89View/imag

2020-08-26 11:23:20 466

原创 Android 自定义View练手Demo(一)实现圆角遮罩效果

圆角遮罩效果一图胜千言这种效果用于在裁剪图片,确定裁剪范围;或者APP引导用户,突显某个区域,还是挺实用。1.引言这是一个自定义View练习的Demo,通过两种方式实现此效果,通过本文可以学习到Xfermode的使用View级别的离屏缓冲Canvas的离屏缓冲自定义属性的使用Canvas 的常用且实用的 API2.源码2.1.RoundRectCoverView.ktclass RoundRectCoverView(context: Context, attrs: Attrib

2020-08-11 17:34:41 849

原创 Activity的启动流程梳理

Activity的启动流程梳理本文目标本文章对 startActivity 的启动流程,进行总体把握本文章基于Android-28整体流程图1.startActivity方法分析的入口,我们启动一个页面时调用startActivity方法startActivity(Intent(this, DemoActivity::class.java))点进去看一下Activity#startActivity@Overridepublic void startActivity(Intent

2020-06-02 17:35:21 312

原创 Flutter 基础(五)Route 路由以及页面间传值

Route 路由以及页面间传值一种页面跳转机制路由 Route 对应到 Android 就是 IntentFlutter 路由分两种:新建路由、注册路由需要Route表示 Navigator进行管理跳转页面 Navigator.push()返回页面 Navigator.pop()传值1.新建路由import 'package:flutter/material.dart';...

2019-09-14 15:52:35 3301

原创 Flutter 基础(三)布局

Flutter 布局(有很多基础实用知识点)0.继承体系图Container :设置Widget的背景、尺寸、定位、margin等( Android 的 ViewGrope)可以看成是 Padding、Center 的封装。Padding:加 paddingCenter:让 child 居中Expand :撑开 Flex 子 Widget(Row、Column)空间的布...

2019-09-12 18:02:30 293

原创 Flutter 基础(二)基础 widget Text Image TextField Button

Flutter 基础 widget主要下面基本 widget 常用到的StatelessWidget 和 StatefulWidget 的区别文本 Text 相当于 Android 的 TextView图片 Image 相当于 Android 的 ImageView图片的来源可以是网络、文件、资源和内存Image.asset(name);Image.file(file)...

2019-09-11 20:26:06 433

原创 Flutter 基础(零)Flutter环境安装 Dart基础语法

Flutter环境安装 Dart基础语法1.Flutter 环境flutter doctor 用起来Flutter中文版 https://flutterchina.club/get-started/install/有能力的英语好的官方文档 https://flutter.dev/docs/get-started/install2.Dart 语法熟悉 Java 和 Kot...

2019-09-11 15:06:51 189

原创 Flutter 基础(一) 一文学习 Flutter 基础组件

一文学习 Flutter 基础组件详细内容都在注释上一切皆 WidgetStatelessWidget StateFulWidget 的区分一些基础组件的使用一个基础学习内容import 'package:flutter/material.dart';//程序的入口函数和 Java 类似void main() {// 启动哪个 widget runApp(MyApp...

2019-09-10 20:29:47 309

原创 Flutter 基础(四) ListView 的四种构建方式

Flutter ListView 的四种构建方式1.Default constructor 默认构造形式你可以构建一个个具体的子 View默认构造class ListViewPageState extends State<ListViewPage> { @override Widget build(BuildContext context) { return...

2019-09-09 16:52:02 585

原创 Android Studio 代码格式化自动换行问题(强迫症)

1.不想换行 使用IDE 默认模式

2019-02-21 10:30:40 8087 6

原创 RecyclerView实现自动平滑滚动(AutoScrollLoopView)

项目中需要一个Item可以自动循环滚动,之前写了一个左右滚动的,后来需求改了,要求上下循环滚动.整体思路:给RecyclerView设置一个最大数,填充数据时对位置取余,然后用Handler发送,调用rv.smoothScrollToPosition(mAnimPosi); 方法,并设置自定义的管理器来控制速度Adapter的编写public class IndexLoopAdapter exte...

2018-05-22 15:40:02 3526

空空如也

空空如也

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

TA关注的人

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