首页
学习
活动
专区
工具
TVP
发布

Android Note

专栏作者
85
文章
106089
阅读量
29
订阅数
Android—Room 通用封装
平常咱们使用数据库的时候,基本操作都差不太多,增,删,改,查,但如果操作不同的数据时,就需要写较多的重复的代码,仅仅是因为操作的类对象变化了。下面咱们就通过泛型去封装一层BaseDao,减少后期的模板代码。Room的普通用法请看上面的链接。
code_horse
2021-05-06
1.9K1
自定义 View 实战 07 - 字母栏
字母栏 效果分析: 绘制 26 个字母 处理手势事件 自定义属性 <declare-styleable name="LetterView"> //绘制的文字大小 <attr name="letterSize" format="dimension"/> //绘制文字的默认颜色 <attr name="letterColor" format="reference|color" /> </declare-styleable> 初始化属性 pr
code_horse
2020-07-15
3100
自定义 View 实战 06 - 仿写 RatingBar
RatingBar 效果分析: star_normal.png star_select.png 准备两张星星图,一张默认,一张选中。初始的时候绘制默认的 5 颗星星,然后根据手势绘制选中的星星。 自定义属性 <declare-styleable name="KRatingbar"> //要绘制的个数 <attr name="starNum" format="integer"/> //星星之间的间距 <attr name="starPa
code_horse
2020-07-02
3180
自定义 View 实战 05 - 仿 58 加载View
view58.gif 动画分析: 圆形 正方形 三角形 分别使用drawCircle(),drawRect(),drawPath(),画出对应的图形,然后使用属性动画让它移动和旋转。 class View58 @JvmOverloads constructor(context: Context,attributeSet: AttributeSet,defStyle:Int = 0):View(context,attributeSet,defStyle) { private var mPain
code_horse
2020-06-28
4820
自定义 View 实战 04 - 圆形进度条
circle_progress.gif 圆形进度条分析: 圆 圆弧 进度值 所以这里我们先用 drawCircle画出圆,再使用drawArc画出圆弧(这里的圆弧要画整个圆,0°~360°),进度值使用 drawText画出来,x起点值和baseline的值同之前的算法一致。 完整代码 class CircleProgressbar @JvmOverloads constructor( context: Context, attributeSet: AttributeSet,
code_horse
2020-06-28
5110
自定义 View 实战 03 - 仿今日头条字体变色
到这里就结束了,具体实现和使用就这么多,我在关键的地方都写了注释,理解起来应该不太难。
code_horse
2020-06-23
5130
自定义 View 实战 02 - 圆弧形进度条
效果图 分析动图可以知道,动画主要由三部分组成: 内圆弧 外圆弧 中间文字 实现过程及注释 自定义属性 <declare-styleable name="ArcProgressbar"> <attr name="progressWidth" format="integer" /> <attr name="outerColor" format="reference|color" /> <attr name="innerColor" format="referen
code_horse
2020-06-19
5020
自定义 View 实战 01 - TextView
本来主要介绍了系统的textview是如何显示,字体大小、文字颜色如何设置、文字的位置该如何计算
code_horse
2020-06-16
4480
Android 中使用 APT 简化代码
APT(Annotation Processor Tool)是用来处理注解的,即注解处理器。 APT 在编译器会扫描处理源代码中的注解,我们可以使用这些注解,然后利用 APT 自动生成 Java 代码,减少模板代码,提升编码效率,使源码更加简洁,可读性更高。
code_horse
2020-02-19
4970
Kotlin For Android 笔记(三)
使用 @JvmOverloads 可以极大的简化构造函数的模板代码 Java 版本
code_horse
2019-03-04
5170
Kotlin For Android 笔记(二)
使用 Android 项目,Kotlin 被编译成运行在 Dalvik 上的 Java 字节码。虚拟机(安卓 5.0 之前)或安卓运行时(安卓 5.0 及更高版本)。两个虚拟机都只能执行类内定义的代码。为了解决这个问题,Kotlin 编译器为顶级函数生成类。这个类名由 文件名 和 kt 后缀构成。在这样的 class 里函数和属性是静态的。例如,假设我们定义了 printer.kt 文件中的函数:
code_horse
2019-03-04
4100
Kotlin For Android 笔记(一)
一、Null 相关 Strict null safety 1、Safe call override fun onCreate(savedInstanceState : Bundle?){ sup
code_horse
2019-03-04
5030
Android - 接口、MVP 的使用心得
想象一下,有这么一个场景(需求),两个不同的页面,但是页面的展示 UI 是完全相同的。这时候你会想到,这很简单啊,复用吗。但但但但是,它们的数据格式是完全不相同的(暂且不说和后台协商改格式)。这样就导致了具体的适配器无法复用。为什么不能复用呢?因为 Adapter 需要的 model 是不相同的。所以,这时候就无法用同一个 Adapter 对数据进行绑定,无可避免的要去写很多重复的代码。
code_horse
2018-08-13
3540
Android-水平和垂直方向都可滑动的RecycleView
最近有点忙,项目进度跟的比较紧。最近需求那边让我们写一个左右和上下都可滑动的列表,用来展示多个Title的值。这里我把需求简化了一下。老规矩,先看图。 在看到需求的时候,有在网上看看有没有别人造好的轮
code_horse
2018-07-02
1.7K0
Android-Room自定义类型
前言 通常情况下,数据库存储的是基本类型float,int,String等。但是有时需要存储自定义类型,比如Date,或者我们自定义的类。如果想在数据库中存储这样的值,我们就需要通知Room如何将我们自定义的类型转换为原始类型。 Type Converter @Entity public class Company { @PrimaryKey(autoGenerate = true) private int id; private String name; private
code_horse
2018-07-02
1.1K0
RecycleView的拖动排序
列表拖动排序功能也算是比较常见的了。在RecycleView还没有出现的那个年代,依稀记得是重写GridView实现拖拽,WindowManager实现拖拽的镜像。 不过,现在好了,有了Recycle
code_horse
2018-07-02
1.4K0
Android — Room 数据库跳跃式升级(Migration)
前言 在平时的开发时,数据库的升级并不总是按部就班的从 version: 1->2,2->3,3->4。总是会出现 version:1->3,或 2->4 的情况。这时候我们又该怎么办呢? 方法很简单。当用户升级 APP 时,我们替用户升级数据库版本。 具体做法: version:1->2 static final Migration MIGRATION_1_2 = new Migration(1, 2) { @Override public void migrate(SupportSQ
code_horse
2018-07-02
2K0
[译] 带你领略 ConstraintLayout 1.1 的新功能前言带你领略 ConstraintLayout 1.1 的新功能
原文地址:Introducing Constraint Layout 1.1 原文作者:Sean McQuillan 本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO1/introducing-constraint-layout-1-1.md 译者:Moosphon 校对者:androidxiao LeeSniper 前言 这是自己参与校对的文章,以后除了发布一些自己的内容外,也会去翻译一些好的文章给大家。下面咱们进入主题吧。
code_horse
2018-07-02
1.6K0
Android—Room 数据库迁移(Migration)
前言 如果大家看到了这里,那大家就可以正常使用Room数据库了。因为业务的变更,我们时常会添加数据库字段。这时候咱们就需要去升级数据库了。 如果咱们删除了一个字段,运行程序后,就会出现下面这个问题。 java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can
code_horse
2018-07-02
2.3K1
Android-可旋转、平移的饼状图(PieChartView)
前言 这次的饼图和之前写过的都不太一样。主要是饼图的旋转是通过Button去触发,被选中的某块需要平移出来。 好了,先看一下效果图 旋转的卡顿是模拟机的原因,真机是没问题的♪(∇*) 自定义View
code_horse
2018-07-02
1.5K0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档