
转载
文章平均质量分 81
北辰丶
Android构架探索
展开
-
使用DataBinding来设置空状态(二)-重新加载
写在前面这是使用DataBinding来设置空状态的第二篇,在上一篇中介绍了基本的绑定空状态的操作,而这一篇将在上一篇的基础上添加重新加载的功能,内容不多,但是还是蛮必要的。看看效果 首先修改我们的空状态布局,添加一个重试的button注‘Android技术交流群878873098,欢迎大家加入交流,畅谈!本群有免费学习资料视频’并且免费分享源码解析视频<?...转载 2018-12-13 23:35:24 · 582 阅读 · 0 评论 -
android:padding和android:margin的区别
转载请说明博客地址:http://blog.youkuaiyun.com/qq_32059827/article/details/51487997看了网上的类似博客,并没有给出确定的区别。现在具体分析一下padding和android:margin的区别首先看一张图:顾名思义。padding为内边距;margin为外边距。安卓的view是一块矩形区域,padding是内边距,就是view(...转载 2019-01-17 16:52:19 · 356 阅读 · 0 评论 -
Android Fragment在ViewPager中到底经历了什么?
1. 一直以来的疑问<p>Fragment在ViewPager到底经历了哪些生命周期方法?到底发生了什么?常会TabLayout和ViewPager配合起来使用,针对这套组合,就想也做一些学习了解。在一个ViewPager中经常会存在多个Fragment,Fragemnt在ViewPager中的生命周期一直没有闹明白。这周正好在做一个测试的时候又用到了TabLayout和Vie...转载 2019-01-28 22:11:31 · 189 阅读 · 0 评论 -
Android 计时的两种思路
1.Android中计时趁最近两周不忙,自己支配的时间比较多,正好查漏补缺,这两天看了些Thread的基础知识,正好工作有个需求就是要记时。就把想到的记录一下。在Android中实现计时,有好几种方式,我用过的是单独开启一个Thread和利用Handler。单独开一个线程的话,没有办法直接进行UI更新,想到的依然是借助Handler。感觉还是直接利用Handler比较方便容易一下。效果图丑...转载 2019-01-28 22:15:42 · 291 阅读 · 0 评论 -
Android 内存泄漏案例和解析
Android 编程所使用的 Java 是一门使用垃圾收集器(GC, garbage collection)来自动管理内存的语言,它使得我们不再需要手动调用代码来进行内存回收。那么它是如何判断的呢?简单说,如果一个对象,从它的根节点开始不可达的话,那么这个对象就是没有引用的了,是会被垃圾收集器回收的,其中,所谓的 “根节点” 往往是一个线程,比如主线程。因此, 如果一个对象从它的根节点开始是可达的...转载 2019-01-28 22:39:22 · 197 阅读 · 0 评论 -
ItemTouchHleper实现RecyclerView侧滑删除
这篇博客用来简单复习一下SQLite以及实现RecyclerView的侧滑Item删除。这个Demo整体思路就是将一个人的姓名和金钱存进数据库,并将所有存进数据库的数据用RecyclerView显示出来,然后加上侧滑删除的实现。1.SQLiite1.1数据的准备这里首先一开始是前段时间找工作遇到的上机复试题。点击按钮,显示出一个Dialog,然后输入15232.20,得到一万五千二...转载 2019-01-28 22:52:47 · 268 阅读 · 0 评论 -
Butterknife 8.2.1简单使用
配置1.在project的builde.gradel 中dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'//加上这句 }2.在module的builde.gradel 中...转载 2019-01-30 15:41:27 · 294 阅读 · 0 评论 -
Android 动画基础知识学习(上)
1.Android中的三种动画View动画通过场景里的对象不断做图像变换(平移,缩放,旋转,透明度)从而产生动画效果,是一种渐近式动画,并支持自定义。帧动画帧动画其实也属于View动画。通过顺序播放一系列图像从而产生动画效果,可以简单理解为图片切换动画效果,但图片过多过大会导致OOM属性动画属相动画通过动态地改变对象的属性从而达到动画效果。重点在于属性动画的学习...转载 2019-01-30 15:48:02 · 215 阅读 · 0 评论 -
Android 动画基础知识学习(下)
1.属性动画属性动画可以对任意对象的属性进行动画不仅仅是View,动画默认时间间隔是300ms,默认帧率是100ms/帧。作用:在一个时间间隔内完成对一个对象从属性值到另一个属性值的改变。三个常用类:ValueAnimator,ObjectAnimator,AnimatorSet属性动画Java代码private void initView() { B...转载 2019-01-30 16:20:31 · 236 阅读 · 0 评论 -
RecyclerView的item属性动画简单使用
RecyclerView的item使用属性动画。recyclerview的item添加属性动画1.配置使用Java8在Moudule的build.gradle中注‘Android技术交流群878873098,欢迎大家加入交流,畅谈!本群有免费学习资料视频且免费分享 android { compileSdkVersion 24 buildToolsVers...转载 2019-01-30 16:29:53 · 1366 阅读 · 0 评论 -
Android Bitmap知识梳理学习
1.关于 Bitmap在Android中Bitamp指的就是一张图片,一般是png和jpeg格式。Bitmap类中有一个enum类型的Config,其中有4个值 ALPHA_8 8位位图;1 个字节,只有透明度,没有颜色值 RGB_565 16位位图;2 个字节,r = 5,g = 6,b = 5,一个像素点 5+6+5 = 16 ARGB_4444 16位...转载 2019-01-30 16:42:24 · 327 阅读 · 0 评论 -
Android 缓存策略LruCache和DiskLruCache学习
LruCache和DiskLruCache是采用了LRU(Least Recently Used)近期最少使用算法的两种缓存。LruCache内存缓存,DiskLruCache存储设备缓存1.LruCache 内存缓存LruCache是一个泛型类,内部是一个LinkedHashMap以强引用的方式存储缓存对象,提供了get和put方法进行对缓存对象的操作。当缓存满时,移除近期最少使用的缓存...转载 2019-01-30 17:06:54 · 305 阅读 · 0 评论 -
Android 一个另类的显示圆形图片方式
刚在看自定义View的知识点时,突然想起来,如果CardView宽高相等,CardView设置圆角的半径为宽高的一半时,不就是一个圆形嘛?!Cardview配合ImageView显示圆形图1.布局文件<android.support.v7.widget.CardView android:id="@+id/cv_img_activity" android:la...转载 2019-01-30 17:27:21 · 208 阅读 · 0 评论 -
Android Drawable知识学习
1. DrawableDrawable表示一种可以在Canvas上进行绘制抽象的概念,种类很多,最常见的颜色和图片都可以是一个Drawable。Drawable的优点:使用简单,比自定义View要简单一些 非图片类型的Drawable占用空间小,对apk的体积也会有点改善Drawable虽有很多种,但都表示一种图像的概念,但又不仅仅都是图片,也可以通过颜色构造出各式各样的图像的效果...转载 2019-01-30 17:30:51 · 200 阅读 · 0 评论 -
我的 Android 开发实战经验总结
链接:https://www.jianshu.com/p/4f152bc8f4f3以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。近日,思路较为明朗,于是重新操起键盘开始码字一番。先声明一下哈,本人不是大厂的程序猿。去年毕业前,就一直在当前创业小团队从事自己热爱的打码事业至今。下面总结是建立在我当前的技术水平和认知上写的,如有...转载 2019-02-20 22:47:02 · 222 阅读 · 0 评论 -
别再抱怨了,国内这么多优秀的Android资源你都知道吗?
因为一些大家都知道的原因,Android很多官方出品的优秀开发资源在国内无法访问。国内的同行们对此也做出了很多努力,有很多朋友通过各种手段把很多优秀的资源搬运到了国内,为国内android开发者提供了巨大方便。那么现在有哪些优秀的android官方资源在国内是可以获取的呢,本文仅列出本人知道的一些,跟大家分享,如果还有这样的资源我不知道的,欢迎朋友们评论中给出,我更新到文章中。一、开发...转载 2019-01-17 16:29:41 · 203 阅读 · 0 评论 -
给android开发人员的十个建议
知道面向对象的六大原则 了解设计模式 了解databinding,尝试MVVM架构 了解单元测试 了解AOP 关注团队协作及提高开发效率的事 学会一两门脚本语言shell或者Python等,能减轻工作上的难度 尽可能的关注新技术,走在技术的最前沿,保持进步的心 多在github上查看项目源码,fork项目,了解它们的设计思想 知道自己是多无知成为更好的Android开发者前,我...转载 2018-12-11 23:32:20 · 220 阅读 · 0 评论 -
给android开发人员的实用性网站
写在前面写代码是一件麻烦且耗时间的事情,一些好用的工具和脚本能大大的提高我们的效率并提高我们的产品质量。本文分享了一些笔者使用过并感觉很赞的工具类网站。正片 https://materialdesignicons.com/ google的材料化图标 可以查看材料化图标的名称,配合android studio的插件 Android Material Design Icon Ge...转载 2018-12-11 23:30:03 · 157 阅读 · 0 评论 -
DataBinding结合AspectJ防止多次点击
写在前面最近一直在找时间重构代码,每一次重构都能带来许多好处,比如精简代码,提高代码质量,减轻团队之间的问题,当然最重要的就是以后可以偷懒啦。而这次改进也是为了节省时间,提高团队的效率。注‘Android技术交流群878873098,欢迎大家加入交流,畅谈!本群有免费学习资料视频’并且免费分享源码解析视频先体验一下效果1.gif2.gifDataBinding不...转载 2018-12-13 23:39:31 · 545 阅读 · 0 评论 -
App开发架构指南—摘要
完整文章地址:App开发架构指南(谷歌官方文档译文)架构通用的架构准则最重要的一个原则就是尽量在app中做到separation of concerns(关注点分离)。常见的错误就是把所有代码都写在Activity或者Fragment中。任何跟UI和系统交互无关的事情都不应该放在这些类当中。尽可能让它们保持简单轻量可以避免很多生命周期方面的问题。别忘了能并不拥有这些类,它们只是连接...转载 2018-12-13 23:41:11 · 508 阅读 · 0 评论 -
【译】Animate Objects, not Views
原文地址:https://android.jlelse.eu/animate-objects-not-views-250fe7880196无可否认,我们都喜欢炫酷的动画效果。没有用户会喜欢生硬、没有过渡和动画的app。但同时没有开发者愿意花费大量的时间和ValueAnimator打交道,特别是当你需要创建很多ValueAnimators才能达到自己相要的效果。因此为什么不使用DataB...转载 2018-12-13 23:46:19 · 161 阅读 · 0 评论 -
【译】使用Kotlin和RxJava测试MVP架构的完整示例 - 第1部分
原文链接:https://android.jlelse.eu/complete-example-of-testing-mvp-architecture-with-kotlin-and-rxjava-part-1-816e22e71ff4最近我创建了一个playground项目来了解更多关于Kotlin和RxJava的信息。 这是一个非常简单的项目,但有一部分,我进行了一些尝试:测试。在...转载 2018-12-13 23:52:27 · 185 阅读 · 0 评论 -
【译】使用Kotlin和RxJava测试MVP架构的完整示例 - 第2部分
原文链接:https://android.jlelse.eu/complete-example-of-testing-mvp-architecture-with-kotlin-and-rxjava-part-2-ca150c688ab1这是关于测试Kotlin中MVP应用程序每一层的文章的第二部分。 在第一部分,我们讨论了模型层(Model)和交互层(Interactor)的测试。 如果你...转载 2018-12-13 23:54:37 · 345 阅读 · 0 评论 -
【译】使用Kotlin和RxJava测试MVP架构的完整示例 - 第3部分
原文链接:https://android.jlelse.eu/complete-example-of-testing-mvp-architecture-with-kotlin-and-rxjava-part-3-df4cf3838581使用假数据和Espresso来创建UI测试这是Android测试系列的最后一部分。 如果你错过了前2个部分,不用担心,即使你没有阅读过,也可以理解这一点...转载 2018-12-13 23:56:29 · 165 阅读 · 0 评论 -
实现单选及多选的选择对话框
先看效果图: pick.png思路:使用DialogFragment、RecyclerView、CheckBox准备:圆角Drawable,checkbox Drawable,checkButtonDrawable,字体颜色 Drawable开发的时候应先把所需要的所有UI准备好之后 再进行开发,而不是边开发边找ui图或者编写xml文件注‘Android技术交...转载 2018-12-10 23:53:15 · 673 阅读 · 0 评论 -
关于延迟搜索的几种实现方式
场景在进行搜索功能开发(特别是需要从网络或者本地加载)的时候,为了给用户以更好体验:比如用户想要搜索“abc”,如果每次输入的文字变化都执行一次请求(确实很垃圾),那么就会陆续搜索“a”,“ab”,“abc”。这还是在搜索比较少的情况下,如果搜索字数较多,又或者网络状况不好,那么用户的体验一定会很差,所以节流就很有必要性。通常的做法便是:设置一个延迟时间,过滤掉变化过快的字符而实现...转载 2018-12-10 23:55:20 · 1585 阅读 · 0 评论 -
关于Android混淆的一些经验
一些关于混淆的好文章Android混淆从入门到精通写给Android开发者的混淆使用手册读懂 Android 中的代码混淆一些经验1. 哪些不应该混淆反射中使用的元素如果一些被混淆使用的元素(属性,方法,类,包名等)进行了混淆,可能会出现问题,如NoSuchFiledException或者NoSuchMethodException等Jni接口和java的native...转载 2018-12-10 23:59:41 · 360 阅读 · 0 评论 -
使用DataBinding来进行字体的自定义
写在前面在Android应用开发中,由于客户或者个人的需要(谁叫Android默认的字体那么丑),所以需要配置不同的字体,而 Android 只能在 xml 中配置系统默认提供的四种字体,需要自定义的字体都需要在 Java 代码中配置。总结一下以前自定义字体的方法1 .通过findViewById找到view,然后一个个的去设置字体Typeface customFont = ...转载 2018-12-11 00:02:32 · 597 阅读 · 0 评论 -
Android 单元测试 :搭配JsonUnit检查返回数据模型的正确性
写在前面近段时间在做项目的api测试,主要是验证返回的数据模型是否正确,最开始的时候直接使用的AssertJ的isInstanceOf检验一下是否是这个模型,感觉也不是自己想要的效果。后来看了Android单元测试 - 验证函数参数、返回值的正确姿势知道了JsonUnit,一个在单元测试中比较json的库。JsonUnit里面有许多有用的比较json的方法和可选的配置本文主要测试的...转载 2018-12-11 00:05:38 · 395 阅读 · 0 评论 -
使用DataBinding来设置空状态
写在前面在平时的开发之中,我们需要对于数据加载的情况进行展示:空数据 网络异常 加载中等等情况现在设置页面状态的方式有多种,由于笔者近期一直在使用databinding,而数据绑定通过改变模型来展示view的方式和状态页的设置也满契合的。注‘Android技术交流群878873098,欢迎大家加入交流,畅谈!本群有免费学习资料视频’并且免费分享源码解析视频所以这里就讲讲使用d...转载 2018-12-11 00:08:33 · 1287 阅读 · 0 评论 -
告别findView和ButterKnife
写在前面在以往的android开发中,我们需要使用到findviewById方法来进行初始化view,所以对于页面复杂的情况,经常会看到十几二十行的findviewById方法,而如果需要设置点击事件,则又需要十几二十行的代码,写着很枯燥也很耽搁时间。作为一个程序员而不是搬运工,千万不要做没有效率的事,好在jake大神给我们带来了ButterKnife,在一段时间内为我们自动绑定了view,代...转载 2018-12-11 23:21:13 · 165 阅读 · 0 评论 -
使用DataBinding来验证表单
写在前面在平时的开发中,处理表单也是需要注意的槛。开发者一般都会有自己的一套处理表单的方法,以前都会自己手动添加textChangeListener,到后来会通过Rxjava亦或者更直接的Rxbinding来处理,可以参考链接RxJava处理复杂表单验证问题。当然还有一些表单验证的库。这些都是大家熟知的事情,不多谈,本文主要探讨另外一种处理表单的方法。使用DataDinding来...转载 2018-12-11 23:25:18 · 317 阅读 · 0 评论 -
Android主题换肤 无缝切换 你值得拥有
链接:https://www.jianshu.com/p/af7c0585dd5b天再给大家带来一篇干货。 Android的主题换肤 ,可插件化提供皮肤包,无需Activity的重启直接实现无缝切换,可高仿网易云音乐的主题换肤。这个链接是本次的Demo打包出来的样本SkinChangeDemo,可以去下载下来先试试效果,皮肤文件需放到存储卡的根目录下。关于Android的主题换肤都是...转载 2019-02-20 22:56:20 · 374 阅读 · 0 评论