大熊的Android开发之旅

像小白一样思考,像专家一样行动!

从ContentProvider报SecurityException分析出Android5.0+的一个隐藏大坑

前言 最近在开发A应用的时候对接了合作方的一个B应用,对方很快就把接口文档发了过来,约定好我们之间通过B应用提供的XXXContentProvider来获取相关的数据。一切看起来是如此的普通与简单,但是从刚开始调试的那一刻起,诡异的事情就发送了。九十岁老太为何起死回生?数百头母猪为何半夜惨叫?女...

2018-04-03 22:28:33

阅读数 479

评论数 1

开源了一款Android的IPC库AndLinker,结合了AIDL和Retrofit的特性,支持RxJava

前言 工作中经常会遇到进程间通信的需求,但每次通过AIDL实现又觉得步骤十分的繁琐。因此用业余时间自己设计并开源了这款IPC库。设计思路来源于Retrofit通过动态代理生成实现类的这种方式,把AIDL与Retrofit的特性完美的结合起来。 这是你们没有体验过的全新方式,只需体验三分钟,你就...

2018-03-16 22:28:47

阅读数 851

评论数 0

关于ANR异常捕获与分析,你所需要知道的一切

背景最近项目组需要实现捕获ANR并上传到公司服务器相关的功能,因此花了点时间来整理相关的知识,并从AMS源码与腾讯Bugly-SDK中逆向找到相关思路,在此分享给大家。

2017-11-27 19:48:05

阅读数 4599

评论数 1

Android Studio 3.0及Gradle Plugin 3.0升级注意事项

最近终于有空升级了一下项目中的Gradle和Gradle Plugin的版本,还是踩了蛮多的坑。特别是依赖以及渠道编译这块变动较大,因此把遇到的一些问题点记录下来,分享给后人查阅~ 其实当AS升级到3.0之后,Gradle Plugin和Gradle不升级也是可以继续使用的,但很多新的特性如:Ja...

2017-11-24 18:53:06

阅读数 5870

评论数 0

使用Hexo+GitHub搭建及配置个人博客

前言现在用GitHub+各种静态博客框架来搭建博客系统已经非常常见了,如:Hexo、Jekyll、Octopress、WordPress…等。由于其博客系统维护方便、配置简单、原生支持MD语法等优点等一直深受码农们的喜爱。经过一番查找与对比,博主最终还是选择了Hexo,理由有以下:主题选择多且美、...

2017-07-31 23:06:56

阅读数 584

评论数 0

友盟统计UMID潜在的一个坑

最近发现友盟的数据统计里面,活跃用户的数量有点不大对劲,跟启动次数相比,严重偏少。sdk的使用方式没啥好说的,就那么简单几步,应该不会是sdk设置的问题。于是就从友盟关于活跃用户的定义开始,着手分析这个问题。关于活跃用户的定义,可以参考官方这篇文章:[你真的了解活跃用户吗?][1],总结起来其实就...

2016-07-04 21:09:22

阅读数 7279

评论数 5

在Android上使用官方Lambda支持 - Android N & Jack工具(兼容旧平台)

Google前段时间发布了Android N Preview,对于开发者来说,特别重要的一点是开始支持Java8里面的一些新特性了。N Preview目前支持的特性也非常有限,主要有下列几项

2016-05-06 00:07:29

阅读数 6769

评论数 5

在Android上使用Lambda表达式 - retrolambda插件

Java8比较大的一个变化是加入了Lambda表达式,一种紧凑的,传递行为的方式。它可以使你的代码更简洁、逻辑更清晰。特别是用Rxjava的时候,将各种数据变换使用Lambda表达式来简化,可以最大化的减少样板代码,使整个数据流的处理逻辑十分清晰(下面会有个例子)。

2016-05-05 23:10:02

阅读数 15492

评论数 0

Android中使用Picasso将图片直接转换为圆形

圆形头像现在很流行了,Github上也有很多开源的库,最经典的是直接使用一个自定义的圆形ImageViwe,比较有代表性的有这个项目:hdodenhof/CircleImageView。但是,如果你的项目中正好使用Picasso作为图片异步加载的话,可以直接使用Picasso原生的Transfor...

2016-05-04 23:10:04

阅读数 7782

评论数 0

Realm的model终于可以不继承RealmObject了

旧的实现方式只能是继承RealmObject这个抽象类,对于一些第三方的类库,如果同样需要继承某些基类,很可能会有冲突:public class User extends RealmObject { ... }因此从0.89.0版本开始,可以直接实现一个RealmModel接口,并在类声明...

2016-05-03 19:23:27

阅读数 4264

评论数 0

使用RxJava优化Retrofit请求

在进行任何一个Google APIs接口调用的时候,很有可能由于access token过期了),会导致我们的请求失败。在这个时候,我们必须重新请求token,然后在请求成功的callback中再次请求我们相关的API。看到这里,像这种异步的嵌套请求,我们很容易就联想到RxJava,异步世界必不可...

2016-04-23 22:28:11

阅读数 5074

评论数 3

使用Stetho调试Retrofit的网络请求

Stetho是Facebook出品的一个非常强大的Android调试工具。在基于你已经正常使用Retrofit或者okhttp的情况下,只需要简单3步,你就可以在Chrome上的Developer Tools中调试你Retrofit的请求了。就像Web开发使用调试功能查看页面的访问数据一样那么方便...

2016-04-23 20:55:29

阅读数 4362

评论数 0

使用Retrofit2.0实现Google Drive文件上传进度显示

使用Retrofit2.0实现Google Drive文件上传进度显示在上一篇文章中,我们完成了Retrofit2.0接口的定义及基本的调用。 不知大家是否关注到DriveApi.uploadFileMutil()这个接口方法需要传入两个MultipartBody.Part对象,分别对应Meta...

2016-04-23 19:19:05

阅读数 2610

评论数 1

使用Retrofit2.0实现GoogleDrive相关API

使用Retrofit2.0实现GoogleDrive相关API做移动开发的相信对Retrofit一点也不陌生,它是一套RESTful架构的Android(Java)客户端实现,可以利用接口,方法和注解参数(parameter annotations)来声明式定义一个请求应该如何被创建。它的出现使我...

2016-04-23 18:32:37

阅读数 1954

评论数 2

Google Drive Oauth2.0认证流程

Oauth2.0认证流程:Google提供的APIs访问是基于Oauth2.0认证的,其流程可以大致分为以下几个步骤: 客户端App发起认证(若用户木有登录,则需要先登录) 弹出授权页面,用户点击允许后,Google认证服务器给我们返回一个授权码(Authorization code) 客户端获取...

2016-03-31 19:35:12

阅读数 2343

评论数 0

Google Drive WebView授权方式实现

由于国内大多数机器都木有安装Google Service框架,也就是说木有办法直接使用方便快捷的Drive SDK。因此,这一篇文章将介绍如何通过WebView的方式进行Oauth2.0授权码的获取(话说《ES文件浏览器》就是通过这种方式来实现Oauth2.0授权的)。具体的效果是这样的:如果没有...

2016-03-31 13:36:09

阅读数 2799

评论数 5

Google Drive开启API和创建Credential

首先按照官网流程在Google Developers Console创建好Project,并开启Drive API。 然后进入Credentials界面新建一个OAuth 2.0 client凭证。 Application type里面会有以下几种类型:Web application

2016-03-31 13:05:32

阅读数 4687

评论数 2

用Fiddler在Android上抓HTTPS包

用Fiddler在Android上抓HTTPS的包Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点、修改请求与相应的数据等等。。。

2016-02-01 20:17:10

阅读数 13771

评论数 5

Google Analytics自定义异常格式

自动配置 可以在xml配置文件中直接配置以下字段,即可开启异常捕获与上传: <bool name="ga_reportUncaughtExceptions">true</bool> 问题来了用系统的默认ExceptionParser会有下面2个问题:格...

2016-01-08 21:39:25

阅读数 1077

评论数 0

Google Analytics多渠道实现

Google Analytics多渠道实现翻遍官方Android版Guide文档,你会发现一点多渠道相关的描述都木有。原因是GA(Google Analytics)里面没有多渠道这个概念,GA最初是从网页统计延伸到移动端的,在网页版的统计里面,有个叫做广告系列来源的东西,可以用来统计流量的来源。乍...

2015-12-26 15:46:32

阅读数 2182

评论数 0

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