随笔分类 - android
摘要:在这篇文章里,我会介绍下Glide中的一些关键概念,并走一遍图片加载流程,如果你要阅读Glide源码的话,应该多少会有点帮助。
阅读全文
摘要:最近在使用UniversalImageLoader时遇到了一个小问题,多个地方同时通过`ImageLoader.getInstance().loadImage(url, new ImageSize(dp72, dp72)...`加载图像时,有一定机率只有部分地方能正确地加载到图片,其他地方是什么结果...
阅读全文
摘要:我们很多人应该都做过这样的操作,打开拨号键盘输入**\*#\*#4636#\*#\***等字符就会弹出一个界面显示手机相关的一些信息,这个功能在Android中被称为**android secret code**,除了这些系统预置的secret code,我们也可以实现自己的secret code,...
阅读全文
摘要:调试SQLite的神器,再也不用自己去打Log了,只需简单的几个命令。``` bashadb shell setprop log.tag.SQLiteLog Vadb shell setprop log.tag.SQLiteStatements Vadb shell stopadb shell st...
阅读全文
摘要:通过RelativeLayout用代码动态改变布局
阅读全文
摘要:自定义标题文字样式标题样式是ActionBar样式的一部分,所以要先定义ActionBar的样式然后在ActionBar的样式中通过android:titleTextStyle定义标题的样式自定义副标题文字样式副标题样式同样是ActionBar样式的一部分,在ActionBar模式中通过androi...
阅读全文
摘要:当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时间,在这个动作完成之前系统要做什么呢?如果没有任何反应的话,如果程序初始化的时间很长,用户可能还以为没有点到相应的位置。但此时所启动的程序还没...
阅读全文
摘要:Retrofit是一个不错的网络请求库,用官方自己的介绍就是:A type-safe REST client for Android and Java看官网的介绍用起来很省事,不过如果不了解它是怎么实现的也不太敢用,不然出问题了就不知道怎么办了。这几天比较闲就下下来看了一下,了解一下大概实现方法,细...
阅读全文
摘要:Volley是Google推出的一个网络请求库,已经被放到了Android源码中,地址在这里,先看使用方法RequestQueue mRequestQueue = Volley.newRequestQueue(context);JsonObjectRequest req = new JsonObje...
阅读全文
摘要:先来看一下最基本的用法AsyncHttpClient client = new AsyncHttpClient();client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public ...
阅读全文
摘要:项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情。# 清...
阅读全文
摘要:先吐槽一下博客园的MarkDown编辑器,推出的时候还很高兴博客园支持MarkDown了,试用了下发现支持不完善就没用了,这次这篇是在其他编辑器下写的,复制过来后发现。。太烂了。怎么着作为一个技术博客社区,对代码的支持应该完善一下吧,`行内代码块`不支持就算了,代码段内还不能有空行,一有空行就识别不...
阅读全文
摘要:使用微信的朋友圈会发现,点击某一条评论后输入框会弹出来,然后所点击的那一项会自动地滚动到输入框上方的位置,这样如果开始所点击的评论在屏幕很下方的话,就不会被输入框遮住,虽然微信这一点在我的MX2频繁点几次后滚动的位置就完全错误了,但据说在有些机型上效果还不错,还有其他地方可能会有类似的需求,比如登录...
阅读全文
摘要:设置autoLink=email但系统上没有邮件客户端时点击邮件链接程序会挂掉的解决方法。
跳往应用市场评分,但系统上没有应用市场时程序会挂掉的解决方法。
阅读全文
摘要:零、序一、自定义Style二、在XML中为属性声明属性值 1. 在layout中定义属性 2. 设置Style 3. 通过Theme指定三、在运行时获取属性值 1.View的第三个构造函数的第三个参数defStyle 2. obtailStyledAttributes 3. Example四、结论与代码下载零、序 系统自带的View可以在xml中配置属性,对于写的好的Custom View同样可以在xml中配置属性,为了使自定义的View的属性可以在xml中配置,需要以下4个步骤:通过为自定义View添加属性在xml中为相应的属性声明属性值在运行时(一般为构造函数)获取属性值将获...
阅读全文
摘要:Android是消息驱动的,实现消息驱动有几个要素:消息的表示:Message消息队列:MessageQueue消息循环,用于循环取出消息进行处理:Looper消息处理,消息循环从消息队列中取出消息后要对消息进行处理:Handler平时我们最常使用的就是Message与Handler了,如果使用过H...
阅读全文
摘要:Android在Native层实现了进程间的Binder通信,但是上层应用程序的开发及Framework的实现都是Java,用Java层再实现一次肯定是不合理的,Java可以通过JNI调用Native Code,所以通过JNI复用Binder在Native层的实现就是一个顺理成章的事情。注册Serv...
阅读全文
摘要:关于Binder的设计思想与Driver层实现细节可以看这个:Android Binder设计与实现 - 设计篇,这里首先简要概括一下。Service的每个Binder实体位于Service所属的进程种中,Binder实体在驱动中被表示为binder_node,并通过成员refs指向了驱动中所有对这...
阅读全文
摘要:摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性...
阅读全文
摘要:1、ContextWrapper.startService startService是Context的方法,Activity、Service都继承自ContextWrapper,而ContextWrapper又继承自Context,BroadcastReceiver的onReceive方法中有个参...
阅读全文