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

Android Note

专栏作者
85
文章
107910
阅读量
29
订阅数
Android - 接口、MVP 的使用心得
想象一下,有这么一个场景(需求),两个不同的页面,但是页面的展示 UI 是完全相同的。这时候你会想到,这很简单啊,复用吗。但但但但是,它们的数据格式是完全不相同的(暂且不说和后台协商改格式)。这样就导致了具体的适配器无法复用。为什么不能复用呢?因为 Adapter 需要的 model 是不相同的。所以,这时候就无法用同一个 Adapter 对数据进行绑定,无可避免的要去写很多重复的代码。
code_horse
2018-08-13
3560
Android-水平和垂直方向都可滑动的RecycleView
最近有点忙,项目进度跟的比较紧。最近需求那边让我们写一个左右和上下都可滑动的列表,用来展示多个Title的值。这里我把需求简化了一下。老规矩,先看图。 在看到需求的时候,有在网上看看有没有别人造好的轮
code_horse
2018-07-02
1.7K0
RecycleView的拖动排序
列表拖动排序功能也算是比较常见的了。在RecycleView还没有出现的那个年代,依稀记得是重写GridView实现拖拽,WindowManager实现拖拽的镜像。 不过,现在好了,有了Recycle
code_horse
2018-07-02
1.4K0
Android-可旋转、平移的饼状图(PieChartView)
前言 这次的饼图和之前写过的都不太一样。主要是饼图的旋转是通过Button去触发,被选中的某块需要平移出来。 好了,先看一下效果图 旋转的卡顿是模拟机的原因,真机是没问题的♪(∇*) 自定义View
code_horse
2018-07-02
1.5K0
Android-实用的MVP
前言 在MVP模式刚出来的时候,也看了很多关于这方面的介绍。说实话,看完之后只是有了大概的了解,让我自己去写一个还真弄不出来。因为项目是灵活多变且复杂的,要想熟练使用MVP模式还得自己去尝试多练,渐渐改进和优化。 开始 接下来的内容是我对自己项目的一种总结。因为水平有限,如果有理解有误的地方,还请指正,以免误导他人。 ① View 我为什么会先说View,因为View是可见的,可以与用户交互的,会给我们一种最直观的感受。 MvpView: 这是我对View的一种简单封装,里面包含了进入页面时的loadi
code_horse
2018-07-02
8271
Android—Room数据库(介绍)
前言 Google终于发布了一个和SQLite相关的库了???。之前一直都是在SQLite、XUtils、greenDao、Realm这些数据库之间来回折腾。现在终于有一个更“正统”数据库了。 Roo
code_horse
2018-07-02
1K0
Android RecyclerView添加搜索过滤器
搜索过滤功能,相信大家都能用到,一般都是针对列表进行过滤的。下面给大家提供一种过滤列表的方法。 老规矩,先上图 RecycleView搜索过滤器-getFilter() Android 提供了File
code_horse
2018-07-02
1.1K0
Android – 登录、注册动画
登录、注册功能相信大家都很常见了,今天我们来给它添加点动画。 老规矩,先上图 这里我使用了背景渐变,平移,旋转动画。把它们组合起来就能实现上图的效果了。 这里我使用了3个页面,一个Activity和2
code_horse
2018-07-02
1.7K0
介绍Kotlin第二部分(翻译篇)
前言 在Kotlin介绍:第一部分,我们介绍了基本语法,现在我们可以去看看实际上如何使用Kotlin。在这篇文章中,我们将介绍collections和lambdas表达式,一些方便的扩展函数(apply,let,run和with),null safety(空安全),那下面咱就开始吧。 1、Collections and Lambdas 那么Kotlin collections是什么呢?如果您熟悉Java8,您将会对这些collection方法(java流)和语法十分了解。然而,Kotlin提供了大部分你可能
code_horse
2018-07-02
9370
Java 8之lambda表达式(一)
1.1 为什么要使用lambda表达式 "lambda 表达式"是一段可以传递的代码,因此它可以被执行一次或多次。下面让我们来下面的代码示例: class Worker implements Runnable{ public void run(){ for(int i=0;i<1000;i++){ doWork(); } } ... } 然后直接启动一个线程 Worker worker=new Worker(); new Thread(worker).st
code_horse
2018-07-02
3300
Java 8之lambda表达式(二)
前言 上一章咱们了解了以下内容: ① 为什么使用lambda表达式 ② lambda表达式的语法 ③ 函数式接口 这一章咱们继续了解lambda表达式。 1.4 方法引用 咱们先看一下方法引用和非方法引用的区别: //非方法引用 button.setOnAction(event->Sysout.out.println(event)); //方法引用 button.setOnAction(Sysout.out:println); 正如上面所示: “ :: ”操作符将方法名和对象或类分隔开来。以下是三种
code_horse
2018-07-02
5020
Kotlin 与RecycleView简介
简介 开始时我是用了下面的方式声明接口来做回调的,这么写是没问题的,用法也和Java里面一样,但是写完之后一想,这是Java的写法,难道Kotlin就没有自己的一套写法了?后来我又看了官方文档和一些资料,终于又被我找到它的一套写法。 **普通接口方式 ** interface IOnClickListener { operator fun invoke(position: Int) } 好了,话不多说,下面的语法就是Kotlin型的Adapter,这也是我自己多次尝试和摸索出来的,应该也有其他的写法,
code_horse
2018-07-02
6540
Java 8之lambda表达式(三)
前言 上一篇咱们了解了一下内容: ① 方法引用 ② 构造器引用 咱们继续了解lambda表达式的剩下内容。 1.6 变量作用域 通常,我们希望能够在lambda表达式的闭合方法或类中访问其他的变量,例如: public static void repeatMessage(String text,int count){ Runnable r=()->{ for(int i=0;i<count;i++){ Sysout.out.println(text); Thread
code_horse
2018-07-02
2410
RecyclerView 刷新闪烁
前言 最近做项目,使用 RecycleView + SwipeRefreshLayout 刷新时,列表总是闪烁。 1、为什么会闪烁? 闪烁是 notifyDataSetChange 造成的。由于适配器不知道整个数据集中的哪些内容已经存在,在重新匹配 ViewHolder 时发生的。 当然,遇到这个问题时有去搜索一些答案,看到的很多都是去禁止 RecycleView 的默认动画,可惜这对我没什么用。下面的方法是对我有用的。 2、设置 setHasStableIds 下面给大家介绍一个方法 setHasSta
code_horse
2018-06-12
7.7K1
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档