- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 Android Studio 3.0+ 版本的自定义lint检查
Android Studio 3.0+ 版本的自定义lint检查定义LintModule开发lint规则lint库依赖新建log检查规则LogDetactorIssueRegistry注册RegistryAndroid Module中做lint check的依赖lint reportAndroid Studio上自定义lint在Android Studio3.0上有了非常简单的实现机制,在此记录一下定义LintModule首先需要新建一个module,选择Module类型为java lib。下一步li
2020-06-01 14:48:39
763
原创 Android组件化实践
最近做组件化的一点心得什么是组件化不同于插件化直接让项目的功能模块成为插件(apk)直接运行,组件化依然只有一个主工程(app),但是项目中的功能模块可以被单独编译并运行,开发过程中就可以将每个功能模块独立出来,分配给不同的人去开发。优点代码解耦模块单独编译,减少编译等待时间功能整体在单个模块中,方便功能移植组件化带来的便利体现在这3个方面,需要拆分不同的模块,代码势必要进行解耦。模块拆分
2017-06-28 13:39:31
928
原创 Kotlin的空指针处理
Kotlin的空指针处理Kotlin的空指针处理相比于java有着极大的提高,可以说是不用担心出现NullPointerException的错误,kotlin对于对象为null的情况有严格的界定,编码的阶段就需要用代码表明引用是否可以为null,为null的情况需要强制性的判断处理。咋看一下这些在java里面其实也有,问题是一般开发中不写也是可以的(大部分开发不会花很多时间考虑这些),等出了空指针错
2017-06-28 13:35:24
7034
1
原创 如何更高效的使用MVP以及官方MVP架构解析
转载请标明出处: http://blog.csdn.net/dantestones/article/details/51445208Android mvp 架构的自述中我简单的介绍了mvp,以及怎么写mvp。我自己也将mvp运用到了项目中,其实mvp并没有固定的写法,正确的去理解架构的思想,都可以有自己独特的mvp写法。git上也有很多例子,比如google的android-archite
2016-05-18 16:38:27
31406
25
原创 eclipse迁移到Android Studio 问题记录
最近从eclipse迁移了一个老项目到Android Studio,迁移的原因嘛,当然是65535的问题。迁移的过程中从编译到打包,踩了一堆坑,在此记录一下,希望能帮到,同样被坑的同行如何导入推荐使用直接导入ADT的方式来进行导入工作,这样会自动为你添加依赖,构建好代码的架构 选择好eclipse的工程和要导入的目标工程后,直接next -> finish 选项用默认选项 静静的祈祷,并等待导入
2016-05-10 18:05:30
2995
原创 如何避免应用冷启动
最近在Android-weekly 上看到一篇关于如何避免冷启动的文章,觉得还是挺有用的特地来搬运给大家看看什么是冷启动简单通俗一点就是应用第一次启动或者应用被杀掉之后再次启动,启动的效果就是会产生一个短时间的空白比如这样 : android:windowBackground由于我们的app在第一次启动时,从初始化到Launcher Activity的启动是需要一点时间的,这样点击应用图标后就会产
2016-04-15 00:06:21
3587
2
原创 Android mvp 架构的自述
最近发现再也无法忍受越来越臃肿的Activity代码,越来越来混乱的Activity层的代码,投入到了MVP的怀抱。目前来看MVP的架构还是很适合Android的,在这里记录一下一点心得,希望都给想用MVP的人一点帮助。老的MVC架构刚开始接触Android的时候会觉得Android的整个代码架构就是一个MVC。M : 业务层和模型层,相当与javabean和我们的业务请求代码V : 视图层,
2016-03-17 17:51:07
8776
20
原创 Rxjava 学习之路
Rxjava从去年开始就已经宣传的满天飞了,但是Rxjava并不是很好理解,网上的例子并不是很多,而且很多都是国外的资源,导致学习的过程比较崎岖。不过Rxjava一旦开始可以明白他的理念,你会发现它实在是太好用了。从这里开始是我自己的一点学习心得,顺带做点笔记了。希望能给大家点帮助。如何开始学习我最开始接触到Rxjava是从Android Weekly的周刊上,当时只有官方的资料,以及
2016-01-05 18:06:11
4308
原创 打造双向滑动的ScrollView
Android View的用法中事件拦截和Scroller的滑动一直是值得注意的地方,这次的双向滑动ScrollView就是利用这2个知识点来实现。关于ScrollerScroller是用来帮助实现滑动的辅助类,它的内部封装了关于滚动的参数比如getCurrX(),getCurrY()获取目前应该滚动的位置,通过调用scrollTo(),scrollBy()方法来进行滚动(scrollBy()方法其
2015-08-14 13:44:45
3215
2
原创 Butter Knife 实用的注解框架
最近注解这个服务器端运用的技术,越来越多的在app的开发中提起,原因很简单,现在app变得越来越庞大了,注解这种方式还是有使用的价值,代码编写可以很方便,整个代码会变的很简洁。现在给大家介绍的注解框架Butter Knife,关于他的介绍http://jakewharton.github.io/butterknife/功能Butter Knife主要拿来注解替代findViewById 的操作,实现
2015-07-24 09:08:21
4445
原创 如何高效的展示Bitmap
任何应用都逃脱不了图片展示,所以任何应用都逃脱不了Bitmap。既然逃脱不了,我决定一次性解决。本文内容源自 http://developer.android.com/intl/zh-cn/training/displaying-bitmaps/index.html ,官方的training课程,还带有一个S级别的范例,强烈推荐。为什么需要高效的展示开发面对大量图片处理的时候,bitmap如果处理不
2015-07-24 08:27:31
2183
3
原创 Android Fragment的标准写法
关于Fragment大家的态度可谓众说纷纭,有人说好,有人说坑。这里就不讨论了,只是着重介绍一下Fragment的一种标准的写法,从使用工厂方法来生成Fragment,到如何写回调接口,在哪里实现回调接口,在哪里注销掉回调接口。标准写法** * 一个简单的Fragment子类 * 含有这个Master_Fragment的Activity必须要去 实现 Master_Fragment
2015-07-12 11:13:09
5620
原创 Ubuntu下 JDK环境变量的配置
最近开始向Linux进军了,所以安装了ubantu系统来进行开发,不过在第一步JDK的安装就卡 了我一下,不过在各种百度之后终于完成 以上就是成功界面了。下载JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 这里选择的是JDK7 因为最新的JDK8 解压会报错
2015-07-11 12:58:30
990
原创 Android 创建模块化接口
开发过程中通常会碰到这些问题:Activity越来越臃肿,界面中会有越来越多的业务代码,请求代码,上层的耦合越来越严重,维护起来会相当麻烦。项目开发时如果能有一个好的结构是至关重要的,比如最近的MVP架构主要就可以把Activity中的业务代码抽取出来,使Activity层的代码充分解耦,但是实现起来也需要耗费大量精力。这里介绍一种简单的方法来抽取Activity层的业务代码,就是利用Fragmen
2015-07-10 23:19:54
1499
原创 Android Studio 必须配置的代理
Android Studio 作为谷歌的亲儿子,Android开发的新宠儿,有着酷炫的外形,各式各样的控件,种类繁多的功能。好了不吹B,作为一个Android程序员每当我看着IOS程序员用Xcode开发的时候,真是羡慕嫉妒恨啊,高运作效率,界面整洁,功能实用。再回头看看Eclipse 真想把他丢进垃圾桶。直到Android Studio 这个新工具出现,我终于可以不用嫉妒IOS程序员了,虽然当目前为
2015-07-08 15:11:27
10930
原创 Android 如何创建组合控件
开发中常常会碰到这种需求,图文混排的显示方式,实现方式很简单,比如在布局文件中添加 android:drawableXXX="" 属性(这里的XX代表上下左右4个方向), 也可以在代码中添加,txt.setCompoundDrawablesWithIntrinsicBounds 这样都可以为文本添加图片,但这种方法缺陷在于,不能控制图片大小,写出来的效果往往达不到要求。直接自定义view显得复
2015-07-03 08:37:17
2381
原创 Android Studio 如何上传项目到Github
Android Studio 经过1.0问世以来已经使用过一段时间了,新的ide拥有许多新特性,这里要给大家介绍的Android Studio内部集成的git功能也是很有实用性的功能。准备工作首先需要在电脑上安装git : 下载地址 安装步骤很简单 选择默认的选项就可以了。 打开Android Studio的设置界面,最简单的方法就是点击工具栏中的扳手按钮,也就是下图中间的扳手按钮 搜索git
2015-04-23 15:10:07
3144
1
原创 Android的px,dpi,dip三者的关系详解
px,dpi,dip 这三个东西大家都有了解,这3个都是单位,其中前2个单位在很多别的地方都有使用,但是dip这个单位是Android用来解决不同分辨率屏幕适配的一种方案,也就是大家熟知的dp。px全拼pixel,我们常说的像素,构成我们屏幕上图像的最小单位dpi作为屏幕分辨率单位如果只有px,明显太单薄了,于是有了dpi这个新单位。 dpi一种像素密度,英文全称是 Dots Per Inch
2015-04-22 11:34:39
2598
原创 AsyncTask 使用解析
AsyncTaskAsyncTask 能够适当的,简单的用于UI线程,我们可以很方便的去使用,不用自己去开启线程。 AsyncTask运行机制是这样的:所有的任务都会在后台线程上运行,最后直接在UI线程上发布。继承AsnycTask需要至少覆盖 doInBackgroud(Params…)方法,一般也会去覆盖 onPostExecute(Object result)方法。这里的2个泛型参数
2015-04-21 14:56:02
1229
原创 Android 线程完全解析
关于安卓的进程和线程相信大家都有一定的的概念,这篇文章会详细的解释Android的进程和线程的基本概念和重要只是。也权当是自己的一点记录Android线程Thread线程这个类在java就经常使用,Android中自然也少不了。那么线程到底是什么,来看看维基百科的解释 : 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一
2015-04-21 11:40:23
1498
原创 Fresco 如何在Android Studio中编译
最新facebook在github上托管了一个开源的图片处理项目 fresco,从它的描述上看对图片的处理已经非常完美了。 美中不足的的是这个项目是一个典型的Android Studio的项目,现在Android Studio 还不是那么普及,所以在编译的过程中难免会遇到问题。笔者也是刚开始用Android Studio由于fresco项目需要用到NDK,需要在编译之前需要先配置好NDK的
2015-04-14 14:04:06
3666
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人