神奇的约束布局ConstraintLayout

我们都知道android studio创建布局默认根布局都是ConstraintLayout布局,那么这个布局到底是什么?具体有哪些不同之处? 写在前面:我在博客上面看到有位大佬写了一篇关于利用Constraintlayout实现圆形菜单的文章,觉得很有意思于是乎我就结合kt自己操作了一番,发...

2018-08-30 11:26:44

阅读数 210

评论数 0

BaseRecyclerViewAdapterHelper使用——RecyclerView万能适配器

前言 主要声明三点 第一: 关于本文的BaseRecyclerViewAdapterHelper用法,自然是转载的官方原文。或许有的人会很疑惑原文写的那么清除那么完善,为什么我还要写一篇几乎一模一样的?是为了蹭热度让更多的人关注?有更多的点击量?当然不是,我对这么虚伪的东西是非常...

2018-08-28 17:10:49

阅读数 249

评论数 0

android 中提示非法字符错误:'\ufeff\',错误需要class,interface,或enum。

今天在项目中遇到这个一个问题,当我运行程序的时候,突然编译错误,提示我"非法字符错误:'\ufeff\',错误需要class,interface,或enum"。于是乎我看了下我的类,没用爆红,也没有什么错误,然后我rebuild,clean,重启,转UTF-8编...

2018-07-20 17:58:38

阅读数 58

评论数 0

android_mvp设计模式详解

Mvp定义 它是一种由MVC演变而来的设计模式,其中M-Model,V-View,P-Presenter.M层主要负责网络请求,数据处理,V层就是我们的视图层了(activity,fragment等),P层负责逻辑,控制着M层.使M与V层完全解耦. Mvp的作用是什么呐? 当Mvp才出来的时...

2018-03-15 15:29:17

阅读数 112

评论数 0

android开发常用知识点详解

1.单列模式:我想很多开发者都知道单列模式是一种设计模式,而单列模式的作用是什么呐?很显然对于项目中我们经常使用的对象利用单列模式创建出来保证实例化一次,这样可以减少内存消耗,常见的使用场景有,数据库创建.网络请求.文件流等.那么什么是单列模式呐?单列模式有哪几种呐?(1)首先我们常用的单列模式有...

2018-03-03 11:44:06

阅读数 221

评论数 0

android_自定义PickerView实现滚动选择器的效果

今天在做项目时遇到一个对话框弹出滚动选择器的效果,对于还是一个菜鸟的我,想了很久,于是决定用自定义PickerView来完成,话不多说直接上代码。 package com.feitong.orderMyView; import java.util.ArrayList; import java.u...

2016-09-13 16:17:36

阅读数 980

评论数 4

Tinker热更新谁用谁知道

最近突然想集成Tinker的SDK,写个Demo,然后这么一写就是一天。感触很深,踩过很多坑,目前也有很多不理解的地方。下面我就说说大致流程及注意事项; 1.在项目的gradle中添加tinker插件 2.在app的gradle中添加sdk相关依赖 3.创建tinkerpatch.gradl...

2019-05-10 12:01:50

阅读数 5

评论数 0

android中内存泄露,内存溢出,内存优化的一些理解及心得

最近参加了两轮面试,一个视频面试,一个电话面试,经过这两轮面试后突然像给我打了镇静剂一样。两个字总结:悲惨 下面我说说我在面试中被问到的问题,答案我就不一一列出了。(pass,有的目前都没弄出答案) 1:URM理解 2:android字体为什么要用sp而不用dp 3:两个Activit...

2019-05-08 14:26:05

阅读数 27

评论数 0

ViewPager 要被废弃?官方ViewPager2升级版来临

作者:大头呆 链接: https://www.jianshu.com/p/e754cbd2d329 本文由作者授权发布。   从文档注释来看ViewPager2确实是用来替代ViewPager 的,顺带解决之前ViewPager的一些问题,并且加入了 RTL,竖向滚动支持,下面一起来详细...

2019-02-25 11:03:49

阅读数 50

评论数 0

retrywhen实现重连(kotlin)

相信大多数人都在用rxjava+retrofit网络框架,在用着框架的时候我们不难发现,一些复杂,连续请求不再复杂,那么我今天提到的retrywhen操作符作用是什么呐?   在我们开发过程中肯定有网络请求断开,失败的情况,可是用户的网络立马又回复正常了,这时候我们突然给用户toast一个网络请...

2019-02-14 09:35:02

阅读数 62

评论数 0

kotlin中引用run函数的坑

如果我们用kt开发的肯定都是直接引用控件id对控件进行赋值及操作,最近我在做项目的时候发现运行报null 我很奇怪的看了下,居然是说控件不能为null,由于经常在kt中直接引用控件id,导致我从未想过去从控件方面找原因,加上我其他控件都是用得好好的,于是我就debug,log,查看各种地方都...

2019-01-09 16:37:23

阅读数 90

评论数 0

MeiWidgetView一款自定义控件集合库

今天在github上看到了一款自定义控件的集合库,感觉不错推荐给大家,源码地址:https://github.com/HpWens/MeiWidgetView 一款汇总了郭霖,鸿洋,以及自己平时收集的自定义控件的集合库。主旨帮助大家学习自定义控件中的一些技巧,分析问题解决问题的一种思路。 引入...

2018-12-21 09:44:06

阅读数 67

评论数 0

android BLE4.0开发实现与蓝牙设备对接

前言:       不知不觉一年又要到头了,每天上班,吃饭,睡觉三点一线的匆匆而过。最近一个同事买房了,年龄跟我差不多,想想现在的房价,现在的消费,再看下自己的月薪,完全不敢想象自己能在这个城市奋斗到什么样子。有时候在想自己是不是应该换行了,但是换行自己能做什么?适合做什么?这些感觉在脑海里面都...

2018-11-02 09:57:05

阅读数 74

评论数 0

rxjava+mvp模式实现app版本更新

相信大多数人都知道,要实现版本更新,首先要获取本地版本号,以及服务器apk的版本号,然后比较两者大小,如果服务器apk版本号大于本地版本,此时我们就需要app版本更新了,版本更新有很多种方法,有的直接开启一个dialog下载apk,有的开启service下载并跟踪进度,我个人比较喜欢开启servi...

2018-10-19 11:12:25

阅读数 144

评论数 0

最简单的kt式封装Retrofit

class RetrofitUtils private constructor() { val C_TIME: Long = 15 val W_TIME: Long = 15 val R_TIME: Long = 15 var retrofit: Retrofit...

2018-09-19 15:45:09

阅读数 67

评论数 0

无需自定义View,彻底解放shape,selector吧

作者的思路很赞,希望对大家有启发。   1 前言   作为一个android程序员,对于shape、selector这两个标签一定不陌生。每当UI设计师给我们设计出一个个button背景的时候,我们就需要去drawable文件夹下去新建一个bg_xxx.xml,然后很多时候区别仅仅是一个...

2018-09-19 08:58:28

阅读数 85

评论数 0

一款低成本的Android屏幕适配解决方案(今日头条屏幕适配方案终极版,一个极低成本的Android屏幕适配方案)。

欢迎各位android爱好者加群交流:290611780 下载 implementation' me.jessyan:autosize:0.9.5 ' 用法 第1步(只需一步) 在AndroidManifest中初始化,把设计图尺寸按照宽高的px写入,然后布局中控件大小直接按照ui...

2018-09-17 09:12:44

阅读数 753

评论数 0

浅谈同步与异步,以及多线程

1.同步与异步     我们在开发过程中肯定对异步,同步这两个词很熟悉,那么同步与异步到底是什么意思?他们的区别在哪里呐?      1.1:简单来说同步就是线性相关的,异步线性无关,      1.2:同步:假如有两个方法依次A(),B(),同步意思就是A()执行完成后再执行B();等程序...

2018-08-30 15:59:42

阅读数 60

评论数 0

[Android]今日头条的屏幕适配方案,简单又粗暴!

骚年你的屏幕适配方式该升级了!-今日头条适配方案 JessYan鸿洋前天 本文作者 作者:JessYan 链接: https://juejin.im/post/5b7a29736fb9a019d53e7ee2 本文由作者授权发布。 1 前言 这个月在 Android ...

2018-08-24 08:56:14

阅读数 2043

评论数 0

Android 常见工具类封装

1,MD5工具类: public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '...

2018-08-17 09:27:23

阅读数 117

评论数 0

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