9 r8HZGEmq

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

Gradle和Maven区别(转自zhihu

Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面,更重要的是,你要把你的软件发布到生产环境中来产生商业价值,所以,你要运行测试,构建分布、分析代码质量、甚至为不同目标环境提供不同版本,然后部署。整个过程进行自动化操作是很有必要的。整个过程可以分成以下几个步骤:编译源代码运行单元测试和集成测试执行静态代码分析、生成分析报告创建发布版本部署到目标环

2016-08-30 18:28:48

通俗的理解Gradle(转自zhihu

软件开发讲究代码复用,通过复用可以使工程更易维护,代码量更少..... 开发者可以通过继承,组合,函数模块等实现不同程度上的代码复用.但不知你有没有想过,软件开发也是一种工程作业,绝不仅仅是写代码,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理.....),你每天都在build,clean,签名,打包,发布,有没有想过这种过程,也可以像代码一样被描述出来, 也可以被复用.举

2016-08-30 17:11:23

Git SSH Key 生成步骤

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一 、设置Git的user name和email:$ git config --global user.name "xuhaiyan"$ git config --global user.email "haiyan.xu.vip@gmail

2016-08-30 14:06:44

android studio2.1关联源码bug记录

我自己是直接可以F3或者按Ctrl进去的,也能看到系统SDK源码,昨天同事说他的不行,一看,source code在SDK Manager里也下载好了,然后在本地磁盘直接打开比如Activity的源码,也都有。但是通过IDE打开就是不行,看不到方法注解之类的。后来同事说找到原因了,是androidstudio2.1的一个bug。解决方案如下(Mac上)cd /users/emo/L

2016-08-22 14:16:53

bolts-android

对Android客户端编程来说,有个明确的规则是不能在ui线程里面做耗时的操作。这样就要求网络请求、文件读写等等操作都要异步操作。而异步操作完成后,往往需要再更新ui界面。最直接的想法是回调,只要保证在ui线程里面,更新ui组件不会困难。但有些情况下,往往需要多层异步操作,这时候代码就很丑了,不管是维护,还是编写都是挑战。以发布内容举例:先上传所有图片,图片依次上传。 图片上传完成后,调用

2016-07-11 11:59:25

Git命及Git数据通信原理详解

Git是一款开源的分布式版本控制系统(VCS),常用的VCS工具还包括SVN、Mercurial等,他们的使命是对资源变化的进行版本管理控制,对资源容灾备份,支持多域协同开发。这里的资源不仅仅是系统代码,还包括图片、文件、网页等。本篇文章结合流程图、详细的注解、实例操作针对Git的使用、Git数据通信原理进行细致的讲解,利用半场足球赛的时间通读全文后相信你面对Git会自信满满、知其所以然,使用起来

2016-05-11 12:17:16

AndroidStudio十佳常见编译或运行错误集锦

Error:Execution failed for task ':app:processDebugResources'.> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\sdk\build-tools\19.1.0\

2016-04-25 08:05:27

CompileSdkVersion和buildeToolVersion版本号关系

1、CompileSdkVersion是你SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。2、buildeToolVersion是你构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX这个版本号一般是API-LEVEL.0.0。 例如I

2016-04-24 23:14:11

Android Studio 导入各种形式的三方库

1,导入 jar 包导入 jar 包的方式非常简单,就是在项目中的 libs 中放入你需要导入的 jar 包,然后右键你的 jar 文件,选择“add as a library”即可在你的项目中使用这个 jar 包了。如果 gradle 中已经有如下代码,只需要sync一下即可compile fileTree(include: ['*.jar'], dir: 'libs')

2016-04-24 16:21:20

View的事件体系

onInterceptTouchEvent()用于处理事件并改变事件的传递方向。处理事件这个不用说了,你在函数内部编写代码处理就可以了。而决定传递方向的是返回值,返回为false时事件会传递给子控件的onInterceptTouchEvent();返回值为true时事件会传递给当前控件的onTouchEvent(),而不在传递给子控件,这就是所谓的Intercept(截断)。onTouchEv

2016-04-07 12:04:32

Mac上SSH的生成

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一 、设置Git的user name和email:$ git config --global user.name "username"$ git config --global user.email "usernamexxx@gmail.c

2016-01-28 13:42:00

FrescoImageUtil的使用

引入Fresco的原因:性能方面:目前项目中使用的Universal-Image-Loader(简称UIL)是一个比较强大的图片加载框架.在java层有非常丰富的加载,缩放,缓存逻辑,可以满足目前项目所有需要.但是其bitmap在内存缓存这一级依然使用javaheap,在控件大小未能获取到时(页面oncreat时加载图片),创建的bitmap是以原始图片的宽高为标准生成的(不超过confi

2016-01-22 14:09:00

层级调用

这个没什么好说的。方便抓包的时候快速定位问题。

2015-11-30 09:42:33

Git的三级缓存

木有visio,手画。不要在意这些细节多个开发者一起干一个项目的某一个迭代版本。如上图,dever A和dever B一起干2.3版本。用git作为工程的版本控制工具。1级缓存就是在androidStudio里的修改快照,任何改动都会存在项目的工作空间,并没有存到git仓库里去。2级缓存就是本地的git仓管,此事也并没有推送到服务器origin上去,只是提交到了git仓库而已。

2015-11-30 09:38:10

android开发表情输入

偌,首先声明,我并不是用图片在edittext之类的控件中显示,来充当表情。而是用手机系统自带的字符集,通过unicode编解码来做的。所以不需要在工程里放入几百张表情的小图片。因为Emoji表情本来就是字符集里的一个字符,和普通的中文英文是一个意思。只是在unicode扩展字符集里而已。1,down一份Emoji表情的Unicode编码的json或者xml数据(见附件下载)。当然了,

2015-11-19 11:51:19

gitlab和sourcetree配置ssh绕坑

这家伙很懒,什么也没留下

2015-11-18 01:51:27

如何理解Looper.prepare()

Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建一个消息循环,调用Looper.loop()来使消息循环起作用,从消息队列里取消息,处理消息。注:写在Looper.loop()之后的代码不会被立即执行,当调用后mHandler.getLooper().quit()

2015-06-10 22:18:57

Fragment生命周期及其与activity的关系

Fragment的生命周期及其与activity的关系如上图所示,下面分别对每个回调进行中文注释,如下所示:    [html] view plaincopyonAttach:当fragment第一次添加到activity时调用,onCreate(bundle)将在这后面执行。    onCreate:fragment初次创建时调

2015-06-10 16:01:32

两个Fragment之间的跳转,和数据的传递

需求:从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样。 1、首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下。@Overridepublic void onCreate(Bundle savedInstanceState) { super.on

2015-05-24 10:51:15

Android高效加载大图、多图解决方案,有效避免程序OOM

高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可

2015-05-22 08:25:28

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!