4 四级五次郎

尚未进行身份认证

我要认证

不负韶华,砥砺前行

等级
TA的排名 5w+

In FontFamilyFont, unable to find attribute android:font的报错处理

Information:Gradle tasks [:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources]Error:In <declare-styleable> FontFamily...

2018-07-20 13:53:18

Android Studio 项目导入的正确姿势

导入其他人的项目对于咱们开发人员来说是一个基础,可有些时候导入了10分钟20分钟甚至更久死活一直导不进来。这里就教大家一个轻松便捷的导入方法,顺便跟大家探讨一下导入程序的正确姿势。第一步,首先查看根目录的build.gradle文件拿到项目之后先不着急打开导入,咱们先查看一下根目录的build.gradle文件查看。 1. classpath ‘com.android.too...

2018-07-20 11:46:57

Android自定义View之钟表绘制

Android自定义View之钟表绘制 自定义view一直是Android进阶路上的一块石头,跨过去就是垫脚石,跨不过去就是绊脚石。作为一个攻城狮,怎么能被他绊倒,一定要跟它死磕到底,这段时间看到自定义View新手实战-一步步实现精美的钟表界面特别漂亮,咱们也来手撸一个。先看下效果图 咱们先写一个类WatchBoard继承View,并重写他的构造方法public class...

2018-07-13 15:36:06

[问题解决]Android中getDrawable和getColor过时的替代方法

Android SDK 升级到 23 之后,用getDrawable()和getColor()方法就过时了,只不过当时没在意,而且也能正常运行,没报错就用。不过每天看着一条横线很不舒服,特此寻提替代方法。症状网上给的方案:谷歌推荐:

2017-09-22 11:32:50

Glide与CircleImageView加载圆形图片的问题

最近在项目中遇到了一个奇怪的问题,Glide和CircleImageView一起使用加载圆形头像,发现第一次死活都加载出来,出来的是一张占位图,当你刷新的时候或者第二次进入的时候才能加载出来。究其原因,CircleImageView 把位置占了。这时候我们有如下4种解决方案,不管是哪一种都是可以解决的(亲测可行)。1. 不使用占位符注释掉这两句代码即可。 .placeholder(R.

2017-09-05 18:48:01

Android性能优化之电量优化

很多朋友都抱怨Android机电量不行,没有iPhone的耐用,问我怎么解决。我首先恭喜你们拥有一颗发现的眼睛,电量不耐用是Android的通病。明明电量是iPhone的几倍,但是可能还没有它耐用,为什么?究其原因,就是Android手机本身系统和ios的系统是不一样的(因为没有开发手机驱动的经验,所以粗略提一下带过)。作为一个Android开发人员,如果都能到更好的电量优化,相信你的手机电量会更加

2017-09-05 15:12:21

基于开源项目搭建属于自己的技术堆栈

在技术面试的时候肯定都会问到使用了哪些第三方框架,为什么使用它而不用其他的。身边朋友就有这样的亲身经历: 面试官:你们项目中加载图片都是用的什么框架? 面试者:Glide啊(内心窃喜) 面试官:为什么使用Glide而不用其他的? 面试者:(沉默10s),Glide好啊,我比较喜欢。(内心不安) 面试官:……(能不能好好聊天了)这篇博文主要就是针对平常使用到的框架做

2017-08-31 15:56:01

Android性能优化之图片优化

图片的加载和显示是每个APP都避免不了的问题,再了解Android中如何图片优化之前,先看一下Android系统支持的图片格式。1. 图片的格式目前移动端Android平台原生支持的图片格式主要有:JPEG、PNG、GIF、BMP、和WebP(自从Android 4.0开始支持),但是在Android应用开发中能够使用的编解码格式只有三种:JPEG、PNG、WebP,图片格式可以通过查看Bitma

2017-08-28 12:04:32

Android性能优化之代码优化

作为一个Android程序员,代码优化是最基本的能力。根据Android官方的建议,编写高效的代码的两个基本准则是: 不要做冗余的工作 尽量避免次数过多的内存分配操作 这里还有还有第三个准则:深入的理解所用语言特性和系统平台的API,具体到Android开发,就是要熟练掌握Java语言,并对Android SDK所提供的API了如指掌。1. 数据结构的选择正确的

2017-08-25 15:57:29

商城购物车加减控件的简单封装(续),解决ListView中数据错乱的问题

在上一篇文章中,我们学习了商城购物车加减控件的简单封装,知道了封装的思路过程和使用方法。还没有看过上一篇文章的朋友,建议先去阅读 商城购物车加减控件的简单封装 。这段时间收到一些小伙伴的反馈,在ListView或者是RecyclerView中存在item复用导致数据错乱的问题,这篇文章就重点解决item复用导致数据错乱的问题和在ListView或者RecyclerView中的用法。下面为了方便我们

2017-08-17 17:39:01

Android6.0运行时权限

Android6.0系统中引用了运行时权限功能,从而更好的保护了用户的安全和隐私。哪些是Android列出的危险权限 权限组名 权限名 CALENDAR READ_CALENDAR / WRITE_CALENDAR CAMERA CAMERA CONTACTS READ_CONTACTS / WRITE_CONTACTS / GET_LOCATION LOCATI

2017-08-16 00:24:21

商城购物车加减控件的简单封装

我们都知道,购物车是做商城项目必不可少的一个环节,购物车中的加减控件就是商城中的重中之重,最近项目中也用到了加减控件,但是使用起来样式不能随便更改,决定简单封装一下,以后用到的时候就不那么麻烦了,几行代码就搞定。本文主要是对封装的过程进行一下整理。1. 先看下效果图效果图:Github地址:AddSubUtils同步掘金和简书:掘金地址:商城购物车加减控件的简单封装 简书地址:商城购物车加减控件

2017-08-14 16:15:50

Kotlin应用于项目踩过的坑

在谷歌宣布Kotlin成为一级开发语言的时候就开始学习kotlin,现在已经在项目中开发使用了。我目前负责的项目老代码全是java,我不可能全转成kotlin,所以即便使用了kotlin,也只是在新建文件的代码里使用,老代码继续用java。kotlin的好处就是完全兼容java,java调用kotlin,kotlin基本上无阻碍。官网的话就是java和kotlin 100%兼容。为什么使用Kotl

2017-08-09 17:45:13

Kotlin中val和var的区别

变量可以很简单地定义成可变(var)和不可变(val)的变量。这个与Java中使用的final很相似。但是不可变在Kotlin(和其它很多现代语言)中是一个很重要的概念。一个不可变对象意味着它在实例化之后就不能再去改变它的状态了。如果你需要一个这个对象修改之后的版本,那就会再创建一个新的对象。这个让编程更加具有健壮性和预估性。在Java中,大部分的对象是可变的,那就意味着任何可以访问它这个对象的代码

2017-08-09 13:51:20

Kotlin编码规范

最近项目中开始慢慢使用Kotlin编写代码,对于一些规范还是必要地。 资料原文:http://www.kotlinlang.org/docs/reference/coding-conventions.html命名风格如果拿不准的时候,默认使用Java的编码规范,比如:使用驼峰法命名(并避免命名含有下划线)类型名以大写字母开头方法和属性以小写字母开头使用 4 个空格缩进公有函数应撰写

2017-08-09 11:48:39

简析TCP的三次握手与四次挥手

TCP是什么?具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型: 我们捡重点看几个:链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他

2017-08-02 18:18:58

64K方法数限制解决办法

随着业务逻辑越来越多,业务模块也越来越大,不可避免会遇到64K方法数的限制。最直观的表现就是编译报错:较早版本的编译系统中,错误内容如下:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536较新版本的编译系统中,错误内容如下:trouble writing outp

2017-07-27 16:26:49

书写简洁规范的代码

写出简洁规范的代码对于开发者而言非常重要,它体现了开发者自己的专业性和技术水平,而且能够赢得别人的赞赏。对团队来说,团队成员遵循统一的代码规范,能够更好地维护代码库的稳定和谐。Android是基于Java语言进行开发的,因此说到编码规范,首先需要遵循Java的编码规范。 - 1 Java编码规范1.1 源代码文件的定义源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .

2017-07-21 18:18:07

Android数据序列化方案研究

数据的序列化在Android开发中占据着重要的地位,无论是在进程间通信、本地数据存储又或者是网络数据传输都离不开序列化的支持。而针对不同场景选择合适的序列化方案对于应用的性能有着极大的影响。 广义上讲,序列化是将数据结构或者对象转换成可用于存储或者传输的数据格式的过程,在序列化期间,数据结构或者对象将其状态信息写入到临时或者持久性存储区中;反序列化是将序列化过程中生成的数据还原成数据结构或者对

2017-07-12 14:48:06

Android异步处理技术

《Android 高级进阶》读书笔记 Android中,异步处理技术有很多种,常见的有Thread、AsyncTask、Handler&Looper、Executors等,在实际项目中,我们需要根据具体业务需求进行选择、一个完整的异步处理技术继承树如下:1. Thread线程是Java语言的一个概念,它是实际执行任务的基本单元,创建线程有两种方法。继承Thread类并重写run方法,语句如

2017-07-11 18:14:39

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!