煎饼

煎饼为你分享Android有关的技术文章
不断分享,点滴积累,共同提高

关注微信公众号[developers]
更快的了解新的技术动态

Dagger on Android-从Dagger1到Dagger2

Android上的依赖注入框架(Dependency injections framewords)你可能已经有所了解,在之前的文章中已经详细介绍过Dagger1和Dagger2的使用。自从接触Dagger之后就喜欢上了它,而且Dagger在国外的使用也越来越多,但是我也遇到一些人向我抱怨说:

1、dependency injections frameworks 太慢 而且打乱了之前的逻辑,而且学习使用成本有点高。

2、Android的原生到底有什么问题,需要引入这么一个库并且改变逻辑层的代码实现来解决?

3、有的时候为了简化代码,有可能要去凭空的构建类之间的依赖关系,反而让实现变得繁琐了。......

609

Dagger on Android-Dagger1介绍

接着上篇文章Dagger on Android-基础篇继续讲解,这篇来继续说说Dagger1.如果你没有看过我之前的博文Android 依赖注入:Dagger 实例讲解(Demo下载),还是建议去看看,里面通过一个Java的例子来讲解了如何使用以及一些关键点,相信对你理解Dagger也会有一定帮助。本文会通过一个Android的Demo来介绍Dagger1.

引入Dagger1

dependencies {

compile 'com.squareup.dagger:dagger:1.2.2'

provided 'com.squareup.dagger:......

882

Dagger on Android-基础篇

之前有写过两篇文章

Android 依赖注入:Dagger 实例讲解(Demo下载)

Android 依赖注入:Dagger 2 实例讲解(一)

来讲解如何使用 Dagger1 和 Dagger2,没有更多来解释一下理论的东西。然后有些朋友就来问我,为什么要花费一定的时间来学习Dagger,而且还那么复杂,不易明白。其实,刚开始我也这么觉得,不过随着学习的深入及在项目中使用过程中发现的一些问题,越来越觉得应该去学习了解Dagger。接下来的数篇文章我会解释什么是依赖注入(Dependency injection),它的作用是什么,以及再次详细的介绍Dagger1及Dagger2的使用。

在开......

1196

ProGuard With Gradle

在官方Android开发者文档中有一篇很nice的文章why you should use Proguard when you building your application.但是文档还没有涉及到新的Gradle构建系统。

Android的Gradle构建系统有一个内置的任务来运行ProGuard。Android Tools site有关ProGuard的内容只有一小部分,重要的细节都没有讲出来。

对于一个特别的 BuildType 要打开ProGuard任务,只要设置minifyEnabled的值为true就可以了。默认情况下,debug build type的ProGuard是关闭......

273

Android Dev Tools

1、ApkTools:

Windows:

1、右键点击wrapper script保存为apktools

2、下载apktool-2

3、把下载的jar包改名为apktool.jar

4、把apktools.jar和apktool.bat放到C:/Windows 目录下

5、如果没有权限放在C:/Windows目录下,就要把这两个文件加入到环境变量中

6、在dos下执行apktool

Linux:

1、右键点击wrapper script保存为apktools

2、下载apktool-2

3、在64位系统上,确保你有安装32位的ia-libs库,

4、把下载的jar包重命名为apkto......

50

使用硬件层(hardware layers)提高Android动画性能

能不能使用硬件层来提高动画的性能呢?

在动画进行时,视图(Views)的每一帧都会被重绘。如果使用view layers代替每帧都重绘,渲染到屏外缓冲区(off-screen buffer)的视图就可以被重用。

另外,hardware layers被缓存在GPU上,这让在动画过程中的一些操作变得更快。使用Layers会让简单的变化(translation,rotation,scaling and alpha)迅速的渲染。由于很多动画是以上四种的结合,所以layers能supercharge动画性能。

使用

layer API非常简单,调用View.setLayerType()方法即可.但你......

178

如何正确获得Android内外SD卡路径

外置sd卡路径,也许很多同学在平时的工作中并不会用到,因为现在很多机型都不支持外置sd卡(这也是Google目标),所以并不用考虑外置sd卡的路径问题。除了开发文件管理类的应用之外,其他应用使用 Enviroment 这个类中的一些静态方法就能满足需要。但也有一些特殊需求需要用到外置sd卡路径,那怎么才能准确获得外置sd卡的路径呢?

方法一

//内置sd卡路径

String sdcardPath = System.getenv("EXTERNAL_STORAGE");

//内置sd卡路径

String sdcardPath = Environment.getExtern......

11922

自定义App Crash后的界面(Activity)

最近这两周比较累,眼睛也比较疲劳还稍微有点疼痛,本来打算早点睡觉好好休息一下,可是在例行浏览网页时发现一个刚刚发布的并且一定会提高用户体验的开源程序,这引起了我的兴趣,顿时睡意全无,开始测试起来,即使眼角还是会隐约的有点疼痛,也把内容写出来分享给大家。

先来看一下平时我们使用App遇到崩溃时的界面:

这种崩溃的情况我们经常见到的,每次看到这样的情况就会觉得这App写的真烂,又死了,用户体验非常不好,但这基本上又是不可避免的。但我们作为开发者来说,也许我们要做的就是尽量避免bug的产生,而bug你是知道的,又不是完全......

394