-
Andriod-Dagger2使用技巧,代码参考
参考资料: https://www.jianshu.com/p/1d84ba23f4d2 https://mp.weixin.qq.com/s/lh3dgJK95cgbG-bUZfvbFA 听说好多开发者采用Dagger2+RxJava+Retrofit+mvp结构来进行开发,虽然Dagger2已经出来好久了,但一直没有进行总结,今天所以有必要总结一下Dagger2。
-
React Native 与 嵌入Android原生与Activity页面互相跳转
前言 RN作为混合开发,肯定需要与原生直接的页面跳转,这里也属于和原生端通信的知识模块。我们知道Android的页面跳转是通过Intent、Rn是通过路由,而两者直接页面互相跳转就需要原生借助JS暴露接口给Rn来实现了。先上效果图: Demo源码地址:https://github
-
Android 进程优先级详解
前言 让我们面对现实:移动设备上没有无限的内存、无限的电池或者其它无限的资源。这对应用而言意味着 你应该把进程死亡作为应用生命周期的一个自然过程对待 。最重要的是确保杀死进程及内存回收不会对用户造成负面影响。事实上,Android 中的多数进程架构都
-
线程池运行机制作用 Executors介绍
线程运行机制(了解) 开启线程过多,会消耗 cpu资源 单核cpu,同一时刻只能处理一个线程,多核cpu同一时刻可以处理多个线程 操作系统为每个运行线程安排一定的CPU时间---- 时间片 ,系统通过一种循环的方式为线程提供时间片,线程在自己的时间内运行,因为时
-
Android多种方式实现相机圆形预览 看这一篇就够了
效果图如下: 一、为预览控件设置圆角 为控件设置ViewOutlineProvider public RoundTextureView(Context context, AttributeSet attrs) { super(context, attrs); setOutlineProvider(new ViewOutlineProvider() { @Override public void getOutline(View vi
-
Android简易换肤 多套皮肤一键更换,代码分享
这是一个Android换肤的库,代码量极少,支持换肤的情况还比较多,提供了以下功能: 无需重启,一键换肤效率高 支持App内多套皮肤换肤 支持插件式动态换肤 支持Activity,Fragment,以及使用LayoutInflater创建的View换肤 支持手动创建的View换肤 支持Recycle
-
用Python设计一个请假模式
由于你没有用一些设计模式去优化你的代码,所以导致很多小伙伴只能把自己的代码重写。这次我们通过请假条来讲讲设计模式-职责模式 一 什么是职责模式 比如我们要请假,我们一般都是写个请假条,然后提交给系统!系统会自动根据你的请假的情况,找对应的主管
-
Android 事件体系全面总结+实践分
在这之前看了很多相关文章,有一个整体认识以后,就要开始动手体验一下了。动手之前要明确事件分发机制要研究的是什么: 事件序列在ViewGroup/View之间的传递规则。 注意几点: 研究的是事件序列而不是单个事件 至少要考虑到一个ViewGroup和一个View 传递或
-
Android多线程技术选型最全指南
维度的Trade Off 今天我想先说一个英文单词,叫Trade Off。 中文翻译过来可以说叫权衡,妥协,但是这么干巴巴的翻译可能不能体现这个词的牛逼之处,我来举个例子。比如迪丽热巴和谢娜同时追求我,虽然迪丽热巴颜值更高,但是考虑到谢娜在湖南台的地位以及和
-
Android 原生 PDF功能实现:PDF阅读、PDF页面跳转、PDF手势伸缩、PDF目录树、PDF预览
Android 原生 PDF功能实现:PDF阅读、PDF页面跳转、PDF手势伸缩、PDF目录树、PDF预览 PDF Demo 效果 1、背景 近期,公司希望实现安卓原生端的PDF功能,要求:高效、实用。 经过两天的调研、编码,实现了一个简单Demo,如上图所示。 关于安卓原生端的PDF功能
-
ButterKnife执行效率为什么比其他注入框架高?它的原理是什么
优势 我们平常在使用Java进行开发Android时,经常会需要写很多重复冗余的样板代码,开发中最常见的一种,就是findViewById了,如果一个界面有很多View,写起来那叫一个要死要死。于是我们注解处理器可以帮助解决冗余的代码的, 由于是在编译器进行生成的代码
-
Room使用过程中遇到的问题记录
1.关于查询 模糊查询查询可以用 like 或 glob ,具体用法 LIKE LIKE用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,LIKE 运算符将返回真(true),也就是 1。这里有两个通配符与 LIKE 运算符一起使用,百分号(%)代表零个、一个或多个数字
-
Android手把手敲出弹幕 代码分享
前言,这几天北京大张旗鼓地赶人出去,从所谓的low people开始下斧子,从通州开始蔓延,眼看要到朝阳了。我赶紧看了看我银行卡那6位密码保护的4位余额,妈呀,再不拼命奋进,怕是也要卷铺盖睡大街了。 我是echo回声的忠实粉丝,里面的各种3D音效真是美滴很美
-
LitePal - Android开源数据库框架的CRUD操作笔记
LitePal是GitHub上一款开源的Android数据库框架,简介易用并且已支持kotlin,这里对数据库操作做一个笔记,并记录郭霖大神每次的升级带来了哪些功能。 Github地址 准备 在项目的 build.gradle 文件添加依赖 dependencies { implementation org.litepal.andro
-
Android实现Rxjava2+Retrofit完美封装
去年的时候学习了Rxjava和Retrofit的基本用法,但一直没有在实际项目中运用。今年开做新项目,果断在新项目中引入了RxJava和Retrofit。本篇文章将介绍笔者在项目中对Retrofit的封装。 先来看一下封装过后的Retrofit如何使用。 RetrofitHelper.getApiService(
-
Android:帧动画和补间动画看这篇就足够了!
写在前面: 为了使用户的交互更加流畅自然,动画也就成为了一个应用中必不可少的元素之一。在 Android 中常用的动画分类无外乎三种,最早的 帧动画 、 补间动画 ,以及 3.0 之后加入的 属性动画 ,是它们组成了 Android 中各种炫酷亮眼的动画效果。 关于动画
-
绘制路径:Android 中矢量图渲染
在这篇文章中,我将深入探讨这些技巧:颜色资源、主题颜色、颜色状态列表和渐变的使用。 简单的颜色 绘制路径最简单的方法是指定一种硬编码的 fill/stroke 颜色。 !-- Copyright 2018 Google LLC. SPDX-License-Identifier: Apache-2.0 --vector ... path an
-
Android仿淘宝、京东商品选择器
效果图如下 sku相关数据 SKU相关数据大致如下,其他参数可根据自身项目自由扩展 { pid: 10001,//商品id pictureUrl://商品主图 https://timgsa.baidu.com/timg?imagequality=80size=b9999_10000sec=1564393109966di=95d3036dc6282a14fda223c3b55284beimgtype
-
SuperTextView 万能android布局工具类
1、功能描述 你还在为类似设置页面的样式(图+文字+图)每次写一大堆布局文件而烦恼吗?快来看看SuperTextView吧,这里有你想要实现的任何样式,而你要做的仅仅是引入几行代码。SuperTextView是一个功能强大的布局View,可以满足日常大部分布局样式,开发者可
-
Masonry的写法总结 约束属性设置方法
前言 对于Masonry的一些基本使用,相信有点基础的iOS开发同学肯定或多或少都知道,本文旨在介绍具体设置约束属性的各种姿势,适合用过Masonry的同学阅读。 温馨提示:Masonry老手可以忽略本文。 常用宏定义 Masonry使用链式方式编程,有定义一些宏来方便开发