01 2015 档案

摘要:本文大部分内容来自:http://www.androidperformance.com/android-performance-tools-systrace-1.html?utm_source=tuicool Systrace是Android4.1中新增的性能数据采样和分析工具。它可帮助开发者... 阅读全文
posted @ 2015-01-31 21:57 developer_Kale 阅读(14734) 评论(0) 推荐(0) 编辑
摘要:一、初始化请求队列并运行我们用Volley时,最先开始的就是初始化请求队列,一种常见的写法如下:public class MyApplication extends Application { public static RequestQueue requestQueue; @Overr... 阅读全文
posted @ 2015-01-31 20:58 developer_Kale 阅读(1183) 评论(0) 推荐(0) 编辑
摘要:前几天我写了一篇通过压缩Bitmap,减少OOM的文章,那篇文章的目的是按照imageview的大小来压缩bitmap,让bitmap的大小正好是imageview。但是那种算法的通用性比较差,仅仅能适合fit_xy的情况。对此我进一步分析了下这个问题,并且参考了Volley的源码,最终得出了结... 阅读全文
posted @ 2015-01-31 13:29 developer_Kale 阅读(6602) 评论(0) 推荐(0) 编辑
摘要:很多情况下,我们的视图可能会随着用户的操作的不同而变化,比如一个新的页面包含多个控件,但仅仅在用户点击这个按钮后,所有的控件才能完全显示。也就是说一上来可能就显示一个控件,点击按钮后把其他隐藏的控件再显示出来。一般情况下我们通过改变View的visible属性来设置view的可见性,但它不算是延... 阅读全文
posted @ 2015-01-30 21:36 developer_Kale 阅读(1183) 评论(0) 推荐(0) 编辑
摘要:Volley中提供了几个Request,如果我们有特殊的需求,完全可以自定义Request的,自定义Request自然要继承Request,那么本篇就教大家来一步一步地定义一个自己的Request类。一、继承Request如果我们的request的对象不是string,也不是JsonObject,而... 阅读全文
posted @ 2015-01-30 20:41 developer_Kale 阅读(1734) 评论(0) 推荐(0) 编辑
摘要:ImageLoader是一个加载网络图片的封装类,其内部还是由ImageRequest来实现的。但因为源码中没有提供磁盘缓存的设置,所以咱们还需要去源码中进行修改,让我们可以更加自如的设定是否进行磁盘缓存。一、添加对磁盘缓存的控制我们默默的打开源码,添加如下代码: private boolea... 阅读全文
posted @ 2015-01-30 19:08 developer_Kale 阅读(3107) 评论(0) 推荐(0) 编辑
摘要:上篇文章我们讲到了如何用volley进行简单的网络请求,我们可以很容易的接受到string、JsonObjec类型的返回结果,之前的例子仅仅是一次请求,这里需要说明volley本身就是适合高并发的,所以它可以运行你用volley在短时间内进行多次请求,并且不用去手动管理线程数。仅仅是请求文字过于基础... 阅读全文
posted @ 2015-01-30 11:22 developer_Kale 阅读(4549) 评论(0) 推荐(0) 编辑
摘要:Volley它非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。所以不建议用它去进行下载文件、加载大图的操作。有人可能会问,如果我服务器中的图片都挺大的,activity中listview要加载这些图片,是不是不能用这个框... 阅读全文
posted @ 2015-01-29 15:49 developer_Kale 阅读(8514) 评论(0) 推荐(0) 编辑
摘要:假设activity的背景是白色,第一层也(就是最底层)是绿色;第二次是白色,但是距离底部有一段小偏移,目的是为了做出文本框两边的小勾;第三层也是白色,但是它距离底部和左右两边都有一定距离。通过三层配合,即可实现这种效果。Layer-list ... 阅读全文
posted @ 2015-01-28 10:32 developer_Kale 阅读(976) 评论(0) 推荐(0) 编辑
摘要:public class Test { public static void main(String[] args) { int num = 10; if (0 == (num & (num - 1))) { //使用与运算判断一个数是否是2的... 阅读全文
posted @ 2015-01-28 09:28 developer_Kale 阅读(1253) 评论(0) 推荐(0) 编辑
摘要:我们一般写findViewById都要加个强制转换,感觉很麻烦,现在你可以在你的BaseActivity中写入如下方法:@SuppressWarnings(“unchecked”)public final E getView (int id) { try { return (E... 阅读全文
posted @ 2015-01-27 23:07 developer_Kale 阅读(1456) 评论(1) 推荐(0) 编辑
摘要:Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度。除此之外,我们还可以在本地显示图片前将图片进行压缩,使其完全符合imageview的大小,这样就不会浪费内存了。一、思路思路:计算出要显示b... 阅读全文
posted @ 2015-01-27 21:51 developer_Kale 阅读(11518) 评论(19) 推荐(2) 编辑
摘要:DiskLruCache这个类我记忆中是来自Google的一个开源项目,叫做BitmapFun,目的是更方便的加载bitmap。项目的源码:https://developer.android.com/training/displaying-bitmaps/index.html,这个项目中就有一个Di... 阅读全文
posted @ 2015-01-27 13:20 developer_Kale 阅读(5627) 评论(0) 推荐(0) 编辑
摘要:我们在清单文件中都会写上版本名和版本号,版本名是给用户和商店看的,一般是几点几,比如1.2版本,版本号是给程序看的,可以来设置数据库更新或者是更改缓存。现在我们要通过代码来获得版本代码和版本名称,可以方便我们更新应用程序。 /** 取得当前应用的版本号 * @param context... 阅读全文
posted @ 2015-01-26 23:31 developer_Kale 阅读(542) 评论(0) 推荐(0) 编辑
摘要:/** * 操作数据流量 * GPRS网络开关 反射ConnectivityManager中hide的方法setMobileDataEnabled 可以开启和关闭GPRS网络 * @param isEnable * @throws Exception ... 阅读全文
posted @ 2015-01-26 23:26 developer_Kale 阅读(1185) 评论(0) 推荐(0) 编辑
摘要:我们一般调试程序都是用的adb,这个adb其实是可以连接到某个端口的,只要我们的手机和电脑处于同一wifi环境下(你可以用电脑分出来的wifi),手机也接入同一端口就可以实现程序的无线调试了,终于可以抛弃数据线了,有没有很酷。一、准备工作1.1 配置环境变量你首先应该配置好adb的环境变量,检查方式... 阅读全文
posted @ 2015-01-26 10:36 developer_Kale 阅读(591) 评论(1) 推荐(0) 编辑
摘要:LruCache是android提供的一个缓存工具类,其算法是最近最少使用算法。它把最近使用的对象用“强引用”存储在LinkedHashMap中,并且把最近最少使用的对象在缓存值达到预设定值之前就从内存中移除。其在API12被引进,低版本可以用support包中的类。一、分析源码这个源码是从网上找的... 阅读全文
posted @ 2015-01-25 19:17 developer_Kale 阅读(37354) 评论(1) 推荐(1) 编辑
摘要:通常我们插入代码后,博客园的网页模板就会提供默认的样式进行显示,那么如果我们想要代码变大些该怎么办呢?幸好博客园在博客设置中提供了自定义的css设置,让我们可以最大限度的设定博客风格。一、寻找样式名称如果你仅仅希望知道如何修改,那么可以调过本节,直接进入修改一节。要修改代码样式就必须找到原本的样式,... 阅读全文
posted @ 2015-01-25 18:05 developer_Kale 阅读(4066) 评论(3) 推荐(5) 编辑
摘要:Json是一种数据格式,便于数据传输、存储、交换;Gson是一种组件库,可以把java对象数据转换成json数据格式。gson.jar的下载地址:http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22gson%22一、Json数据样式为了便于理解我们先来... 阅读全文
posted @ 2015-01-24 19:57 developer_Kale 阅读(50250) 评论(0) 推荐(4) 编辑
摘要:本篇博文参考自:http://droidyue.com/blog/2014/09/20/interaction-between-java-and-javascript-in-android/我们在使用webview时可以让java代码和网页中的js代码进行交互,本文就简单说明下二者是如何交互的。一、... 阅读全文
posted @ 2015-01-23 17:17 developer_Kale 阅读(5124) 评论(0) 推荐(0) 编辑
摘要:SparseArray是android提供的一个工具类,它可以用来替代hashmap进行对象的存储,其内部实现了一个矩阵压缩算法,很适合存储稀疏矩阵的。PS:support包中还提供了兼容的类SparseArrayCompat不知道是干什么的。针对源码的详细分析:http://stormzhang.... 阅读全文
posted @ 2015-01-19 22:49 developer_Kale 阅读(1379) 评论(0) 推荐(0) 编辑
摘要:这三个都是字符串对象,本篇就来分析下它们的使用途径,力求简单明了。一、StringString 长度是不可变的,如果你要改变string对象的字符或者是拼接字符的话,系统就会新建一个string,然后把原来string的对象指向新的string。旧的string就等着被回收,所以你每次操作strin... 阅读全文
posted @ 2015-01-19 14:48 developer_Kale 阅读(319) 评论(0) 推荐(0) 编辑
摘要:如图所示,实现类似与gmail的下拉刷新。项目地址:https://github.com/stormzhang/SwipeRefreshLayoutDemo一、在xml文件中定义这个控件在supportV4就提供了,叫做SwipeRefreshLayout。这个view其实就是一个父控件,我们可以如... 阅读全文
posted @ 2015-01-19 13:37 developer_Kale 阅读(18919) 评论(0) 推荐(0) 编辑
摘要:对于动态删除list中的特定元素,一般用linkedList,删除时有以下两种方法。1. 循环遍历,找到要删除的元素后删除并且减少list长度。如果不减少list长度,那么就仅仅删除了元素,但没改变循环的判定条件(list.size),就会出现数组越界。for(int i = 0, len = li... 阅读全文
posted @ 2015-01-19 10:43 developer_Kale 阅读(3939) 评论(0) 推荐(0) 编辑
摘要:今天介绍的开源项目是否的优秀,又是国人的作品。之前我接触过很多很多的自定义switch,有些动画僵硬,有些不能自定义switch的宽度,有些只能定义宽度不能设置滑块的宽高。但,这个项目提供了各种定制的选项,堪称完美!项目地址:https://github.com/kyleduo/SwitchButt... 阅读全文
posted @ 2015-01-18 10:17 developer_Kale 阅读(13427) 评论(0) 推荐(0) 编辑
摘要:如果要进行来电拦截,首先要定义权限,然后写一个接收来电去电的广播。由于不同机型的问题,动态注册还是静态注册有待商榷,我这里用的是静态注册,模拟器测试通过。一、申请权限 二、注册广播 ... 阅读全文
posted @ 2015-01-17 20:30 developer_Kale 阅读(3541) 评论(0) 推荐(0) 编辑
摘要:我已经将联系人操作的方法进行了封装,暴露了几个重要的方法,方便以后调用。1.public void printContactsList() //获取到的联系人列表(用于测试用)2.public ArrayList getContactsList() //得到手机和SIM卡中的联系人列表(姓名 + 电... 阅读全文
posted @ 2015-01-17 18:50 developer_Kale 阅读(945) 评论(0) 推荐(0) 编辑
摘要:监听屏幕的状态就需要广播,我们还必须要动态注册广播才能实现监听屏幕亮暗(静态注册无效)。我这里是在service做的处理,没啥技术难度,直接上代码。package com.kale.camerademo;import android.app.Service;import android.conten... 阅读全文
posted @ 2015-01-17 11:01 developer_Kale 阅读(8418) 评论(0) 推荐(1) 编辑
摘要:Android中的Camera可以用来进行自定义相机、取景框实时预览、拍照等操作。在5.0中,这个类不推荐使用了,新出了一个Camera2,那个东西没怎么研究过,反正一时半会用不到。本篇讲解的是如果用这个对象进行拍照,最后在提及下如何进行后台的静默拍照。API翻译:http://bbs.51cto.... 阅读全文
posted @ 2015-01-17 10:38 developer_Kale 阅读(13565) 评论(1) 推荐(0) 编辑
摘要:转自:http://www.open-open.com/lib/view/open1421201191375.html 阅读全文
posted @ 2015-01-16 18:11 developer_Kale 阅读(1103) 评论(0) 推荐(0) 编辑
摘要:提起输入法我就想到了Edittext,输入法可以自动根据inputType来改变键盘的布局,在支付钱包中还特别隐藏的系统自带的输入法,直接让用户用软件自己的输入法,提高了安全性。所以,我们应该对输入法这个东西有些了解,让输入法为自己所用。一、获取输入管理对象final InputMethodMana... 阅读全文
posted @ 2015-01-16 17:56 developer_Kale 阅读(3041) 评论(0) 推荐(0) 编辑
摘要:Android开源图表库:https://github.com/xcltapestry/XCL-Chartshttp://blog.csdn.net/xcl168/article/details/29675613helloChat:https://github.com/lecho/hellochar... 阅读全文
posted @ 2015-01-16 16:15 developer_Kale 阅读(463) 评论(0) 推荐(0) 编辑
摘要:一、 通用属性1. label="string resource"【必选】它应该和你的程序的名字一样。只有android:includeInGlobalSearch为"true"时,它才多用户可见。它就是在search settings的searchable列表中所... 阅读全文
posted @ 2015-01-15 16:51 developer_Kale 阅读(2379) 评论(0) 推荐(0) 编辑
摘要:本篇讲的是如何用searchView实现搜索框,其实原理和之前的没啥差别,也算是个复习吧。一、Manifest.xml这里我用一个activity进行信息的输入和展示,配置方式还是老样子,写一个输入框的配置文件,然后写定一个action ... 阅读全文
posted @ 2015-01-15 16:40 developer_Kale 阅读(62534) 评论(0) 推荐(3) 编辑
摘要:Search Dialog是提供搜索的控件之一,还有一个是上次小例子给出的searchView,关于SearchView的东西后面会说到。本次先从Search Dialog说起,让大家慢慢理解android中搜索的控件的机制,逐渐引出搜索信息传递和搜索配置的知识,铺垫到最后再给大家说searchvi... 阅读全文
posted @ 2015-01-15 13:22 developer_Kale 阅读(8576) 评论(1) 推荐(0) 编辑
摘要:mListView.setOnScrollListener(new OnScrollListener() { private int lastIndex = 0; @Override public void onScrollState... 阅读全文
posted @ 2015-01-14 19:45 developer_Kale 阅读(2090) 评论(0) 推荐(0) 编辑
摘要:这次开的是一个讲解SearchView的栏目,第一篇主要是给一个小例子,让大家对这个搜索视图有一个了解,之后再分布细化来说。目标:我们先来定个目标,我们通过搜索框来输入要搜索的联系人名字,输入的时候下面的listview就展现出候选的人。思路:1.要得到联系人数据,就需要有访问联系人的权限2.必须通... 阅读全文
posted @ 2015-01-14 19:34 developer_Kale 阅读(6980) 评论(0) 推荐(0) 编辑
摘要:通过Spannable对象我们可以设置textview的各种样式,其功能十分强大。通过SpannableString和它的setSpan(Object what, int start, int end, int flags)便可以对textview设置想要的效果了,这里的what就是效果名,star... 阅读全文
posted @ 2015-01-13 20:32 developer_Kale 阅读(17276) 评论(1) 推荐(0) 编辑
摘要:circular progress button可以让button实现进度条,效果和动画都做的很赞,只是有点小bug。需要注意的是按钮上的文字不能太大,否则会出现错位。项目的地址:https://github.com/dmytrodanylyk/circular-progress-button下面我... 阅读全文
posted @ 2015-01-12 19:37 developer_Kale 阅读(6952) 评论(0) 推荐(0) 编辑
摘要:这个自定义字体其实和ActionBar有关,但之前写AtionBar的时候没考虑到修改字体样式,今天看到一篇专门写这个的文章就贴上使用方式。╮(╯▽╰)╭,不得不说Actionbar的那个样式真是让人头疼,明明是可以用图形界面来指定的嘛。在res/values/styles.xml文件中加入下列代码... 阅读全文
posted @ 2015-01-11 19:14 developer_Kale 阅读(371) 评论(0) 推荐(0) 编辑
摘要:webview是Android展示网页信息的控件,本文就来简要讲解这个控件的用法。关于webview我找到了一些很不错的文章,我就直接贴上连接,自己就不重复造轮子了。本文仅写出我本人目前使用过的东西,未来将继续补充。详细的方法和高级技巧请参考下列博文:使用 WebView 处理javascript的... 阅读全文
posted @ 2015-01-10 19:59 developer_Kale 阅读(1892) 评论(0) 推荐(0) 编辑
摘要:这次还是用开源项目来实现效果,我个人觉得上面的这个效果还是很赞的。于是就记录下如何实现这个效果,其实相当简单。这就是开源项目写的好的例子,整个开源项目的代码十分清晰,逻辑和代码结构都很棒,接入自己的工程也十分方便,10分钟之内搞定。一、下载开源项目,导入lib项目地址:https://github.... 阅读全文
posted @ 2015-01-10 10:56 developer_Kale 阅读(10719) 评论(1) 推荐(0) 编辑
摘要:本文将教大家一步一步打造属于自己的eclipse,涉及到地方,不完全之处请谅解。一、下载进入eclipse网站:http://www.eclipse.org/downloads/下载:Eclipse IDE for Java Developers二、改主题下载后解压,打开的eclipse是这样的我们... 阅读全文
posted @ 2015-01-01 21:42 developer_Kale 阅读(987) 评论(0) 推荐(0) 编辑

网站流量统计工具
点击右上角即可分享
微信分享提示