上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 一、简介项目地址:https://github.com/stuxuhai/jpinyinJPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。【JPinyin主要特性】1、准确、完善的字库;Unicode编码从4E00-9FA5范围及3007(〇)的20903... 阅读全文
posted @ 2015-02-21 11:33 developer_Kale 阅读(2764) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/runssnail/p/4250549.html说明:本文在原文地址上有所改动一、小故事在讲正题之前我们讲一段有关任务传递的小故事,抛砖迎玉下:话说一家软件公司,来一个任务,分派给了开发经理去完成开发经理拿到,看了一下,感觉好简单,于是开发经理... 阅读全文
posted @ 2015-02-20 19:35 developer_Kale 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 我们可以用selector来配置button可用或者不可用时的背景,也可以用它来配置button不同状态下的文字颜色。下面左图是可用状态,右图是不可用状态。一、配置按钮不同状态的背景首先我们准备下按钮的背景,这里是shape来做的。分为可用和不可用的背景,有蓝色(可用状态)和红色(不可用状态)两个背... 阅读全文
posted @ 2015-02-20 19:19 developer_Kale 阅读(7067) 评论(0) 推荐(0) 编辑
摘要: 在drawable/xxx.xml中配置,通过配置selector,可以使系统运行时根据控件对象的状态使用相应的图片、文字等。android:state_selected 控件选中状态,可以为true或falseandroid:state_focused 控件获得焦点状态,可以为true或false... 阅读全文
posted @ 2015-02-20 19:06 developer_Kale 阅读(1788) 评论(0) 推荐(0) 编辑
摘要: Android提供了上面的多个测试类,可以允许我们对于单个方法、Activity、Service、Application等多个对象进行测试,单元测试可以很方便的让我们对代码进行测试,并且方便对重构后的代码进行检查。本篇将简要的讲解如何对Android中的对象进行测试。一、准备工作首先在manifes... 阅读全文
posted @ 2015-02-19 21:12 developer_Kale 阅读(7813) 评论(1) 推荐(0) 编辑
摘要: Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题。Android Lint提供了命令行方式执行,还可与IDE(如Eclipse)集成,并提供了html形式的输出报告。... 阅读全文
posted @ 2015-02-18 10:51 developer_Kale 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 一、适配器1.1 分页显示数据因为聊天信息数目很多,所以adpter需要做分页处理,这里的分页处理是我自己实现的,如果有更好的办法欢迎在评论中告知。我们从友盟的反馈SDK中能得到聊天的list,我设定的是一次性显示10条数据,所以在适配器中传入和传出的position并不是listview的inde... 阅读全文
posted @ 2015-02-18 10:26 developer_Kale 阅读(3271) 评论(1) 推荐(1) 编辑
摘要: 我们一般是监听EditText的状态,看EditText中是不是有文字,根据有无进行不同的操作。 // 给editText添加监听器 editText.addTextChangedListener(new TextWatcher() { @Override... 阅读全文
posted @ 2015-02-17 19:57 developer_Kale 阅读(3336) 评论(0) 推荐(0) 编辑
摘要: /** * @author:Jack Tony * @description : 监听listview的滑动状态,如果到了顶部就刷新数据 * @date :2015年2月9日 */ private class ListViewListener imple... 阅读全文
posted @ 2015-02-17 18:58 developer_Kale 阅读(1113) 评论(2) 推荐(0) 编辑
摘要: 由于没有自己的服务器,我就找了个能实现双方通信的SDK,这个SDK是友盟的用户反馈SDK。本系列的博文关注的不是网络通信,而是如何在网络通信机制已经做好的情况下,做出一个可用的聊天系统。其实,刚开始做的时候觉得适配器挺难的,但后来发现实现和QQ相同的布局文件也需要技术,所以本篇就来详细的说下布局... 阅读全文
posted @ 2015-02-17 13:42 developer_Kale 阅读(4097) 评论(6) 推荐(5) 编辑
摘要: 在做聊天界面的时候想要发送新的数据后,listview自动滚动到底部,显示出最新的数据。网上找了两个方法,觉得不错,记录一下。方法一:给listview添加下面两个属性android:stackFromBottom="true"android:transcriptMode="alwaysScroll... 阅读全文
posted @ 2015-02-09 09:56 developer_Kale 阅读(6767) 评论(0) 推荐(0) 编辑
摘要: 我们一般会调用notifydatasetchange通知listView刷新界面。但会造成getView方法被多次调用(画面上能显示多少就会被调用多少次),如果是很明确的知道只更新了list中的某一个项的数据,应该尽量避免getView被无辜的多次调用。我们希望的是对屏幕上已经显示的item进行针对... 阅读全文
posted @ 2015-02-07 11:19 developer_Kale 阅读(2341) 评论(0) 推荐(0) 编辑
摘要: 一、布局文件总共两个布局文件,一个是GridView,还有一个是GridView的item,是NetworkImageView和TextViewactivity_main.xml photo_layout.xml 二、MainActivity & Application1... 阅读全文
posted @ 2015-02-06 19:10 developer_Kale 阅读(3055) 评论(1) 推荐(0) 编辑
摘要: 原文:http://yanmingming.sinaapp.com/?p=1251原文其实不叫这个名字,本文对于原文有一定的修改,觉得这个名字比较适合本篇。一、ListView 的工作原理Adapter的作用就是ListView界面与数据交互的桥梁,当列表里面每一项显示到页面上时,都会调用Adapt... 阅读全文
posted @ 2015-02-06 18:32 developer_Kale 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 如果一个布局十分复杂,那么就需要来排查是否出现了过度绘制,如果出现了,那么很可能会造成刷新率下降,造成卡顿的现象。那么什么是过度绘制呢?过度绘制就是在同一个区域中叠加了多个控件。这就像小时候我们画画,白纸就是没有绘制的画板,如果我们画了一个房子,涂上了红色,又在上面画了窗户,图上了棕色,窗户上又画了... 阅读全文
posted @ 2015-02-06 17:58 developer_Kale 阅读(2543) 评论(0) 推荐(0) 编辑
摘要: 之前的几篇文章中介绍了android中常用的一些工具,今天介绍的工具也是比较实用和方便的,它可以用量化的指标告诉我们哪个方法执行的时间最长,被调用的次数最多,有没有重复调用。下面我们就来看看它是怎么为我们所用的。一、标注测试的代码区域如果我们想要测试gridView设置适配器这段代码,该怎么做呢?很... 阅读全文
posted @ 2015-02-06 17:23 developer_Kale 阅读(1591) 评论(0) 推荐(0) 编辑
摘要: Byte[]转BitmapBitmapFactory.decodeByteArray(data, 0, data.length);Bitmap转Byte[]ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress... 阅读全文
posted @ 2015-02-05 09:47 developer_Kale 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 一、是否是线程安全的Vector是同步的, 而ArrayList不是.因为Vector是同步的, 所以它是线程安全的.同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以它要比ArrayList要慢.但仅仅是理论上说,具体测试结果二者差别十分不明显二、动态增加元素的过程Vec... 阅读全文
posted @ 2015-02-03 09:37 developer_Kale 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:http://blog.csdn.net/aaa2832/article/details/194196791内存泄漏的排查方法Dalvik Debug Monitor Server (DDMS)是ADT插件的一部分,其中有两项功能可用于内存检查:·heap查看堆的分配情况·allocat... 阅读全文
posted @ 2015-02-02 16:44 developer_Kale 阅读(8200) 评论(0) 推荐(0) 编辑
摘要: 最近在做一个照片墙的应用,涉及到很多知识,其中难点在于如何应对数量庞大的图片,这就涉及到内存管理的知识了。今天介绍的工具是DDMS中自带的Heap,它可以显示出当前引用占用的内存,剩余的内存等信息。下面我们就来使用它吧~首先是进入DDMS,然后运行应用,这时候就能在左边的区域看到应用的包名了。选中要... 阅读全文
posted @ 2015-02-02 15:33 developer_Kale 阅读(2609) 评论(0) 推荐(0) 编辑
摘要: 本文大部分内容来自:http://www.androidperformance.com/android-performance-tools-systrace-1.html?utm_source=tuicool Systrace是Android4.1中新增的性能数据采样和分析工具。它可帮助开发者... 阅读全文
posted @ 2015-01-31 21:57 developer_Kale 阅读(14710) 评论(0) 推荐(0) 编辑
摘要: 一、初始化请求队列并运行我们用Volley时,最先开始的就是初始化请求队列,一种常见的写法如下:public class MyApplication extends Application { public static RequestQueue requestQueue; @Overr... 阅读全文
posted @ 2015-01-31 20:58 developer_Kale 阅读(1172) 评论(0) 推荐(0) 编辑
摘要: 前几天我写了一篇通过压缩Bitmap,减少OOM的文章,那篇文章的目的是按照imageview的大小来压缩bitmap,让bitmap的大小正好是imageview。但是那种算法的通用性比较差,仅仅能适合fit_xy的情况。对此我进一步分析了下这个问题,并且参考了Volley的源码,最终得出了结... 阅读全文
posted @ 2015-01-31 13:29 developer_Kale 阅读(6533) 评论(0) 推荐(0) 编辑
摘要: 很多情况下,我们的视图可能会随着用户的操作的不同而变化,比如一个新的页面包含多个控件,但仅仅在用户点击这个按钮后,所有的控件才能完全显示。也就是说一上来可能就显示一个控件,点击按钮后把其他隐藏的控件再显示出来。一般情况下我们通过改变View的visible属性来设置view的可见性,但它不算是延... 阅读全文
posted @ 2015-01-30 21:36 developer_Kale 阅读(1168) 评论(0) 推荐(0) 编辑
摘要: Volley中提供了几个Request,如果我们有特殊的需求,完全可以自定义Request的,自定义Request自然要继承Request,那么本篇就教大家来一步一步地定义一个自己的Request类。一、继承Request如果我们的request的对象不是string,也不是JsonObject,而... 阅读全文
posted @ 2015-01-30 20:41 developer_Kale 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: ImageLoader是一个加载网络图片的封装类,其内部还是由ImageRequest来实现的。但因为源码中没有提供磁盘缓存的设置,所以咱们还需要去源码中进行修改,让我们可以更加自如的设定是否进行磁盘缓存。一、添加对磁盘缓存的控制我们默默的打开源码,添加如下代码: private boolea... 阅读全文
posted @ 2015-01-30 19:08 developer_Kale 阅读(3097) 评论(0) 推荐(0) 编辑
摘要: 上篇文章我们讲到了如何用volley进行简单的网络请求,我们可以很容易的接受到string、JsonObjec类型的返回结果,之前的例子仅仅是一次请求,这里需要说明volley本身就是适合高并发的,所以它可以运行你用volley在短时间内进行多次请求,并且不用去手动管理线程数。仅仅是请求文字过于基础... 阅读全文
posted @ 2015-01-30 11:22 developer_Kale 阅读(4530) 评论(0) 推荐(0) 编辑
摘要: Volley它非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。所以不建议用它去进行下载文件、加载大图的操作。有人可能会问,如果我服务器中的图片都挺大的,activity中listview要加载这些图片,是不是不能用这个框... 阅读全文
posted @ 2015-01-29 15:49 developer_Kale 阅读(8463) 评论(0) 推荐(0) 编辑
摘要: 假设activity的背景是白色,第一层也(就是最底层)是绿色;第二次是白色,但是距离底部有一段小偏移,目的是为了做出文本框两边的小勾;第三层也是白色,但是它距离底部和左右两边都有一定距离。通过三层配合,即可实现这种效果。Layer-list ... 阅读全文
posted @ 2015-01-28 10:32 developer_Kale 阅读(968) 评论(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 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: 我们一般写findViewById都要加个强制转换,感觉很麻烦,现在你可以在你的BaseActivity中写入如下方法:@SuppressWarnings(“unchecked”)public final E getView (int id) { try { return (E... 阅读全文
posted @ 2015-01-27 23:07 developer_Kale 阅读(1439) 评论(1) 推荐(0) 编辑
摘要: Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度。除此之外,我们还可以在本地显示图片前将图片进行压缩,使其完全符合imageview的大小,这样就不会浪费内存了。一、思路思路:计算出要显示b... 阅读全文
posted @ 2015-01-27 21:51 developer_Kale 阅读(11419) 评论(19) 推荐(2) 编辑
摘要: DiskLruCache这个类我记忆中是来自Google的一个开源项目,叫做BitmapFun,目的是更方便的加载bitmap。项目的源码:https://developer.android.com/training/displaying-bitmaps/index.html,这个项目中就有一个Di... 阅读全文
posted @ 2015-01-27 13:20 developer_Kale 阅读(5553) 评论(0) 推荐(0) 编辑
摘要: 我们在清单文件中都会写上版本名和版本号,版本名是给用户和商店看的,一般是几点几,比如1.2版本,版本号是给程序看的,可以来设置数据库更新或者是更改缓存。现在我们要通过代码来获得版本代码和版本名称,可以方便我们更新应用程序。 /** 取得当前应用的版本号 * @param context... 阅读全文
posted @ 2015-01-26 23:31 developer_Kale 阅读(532) 评论(0) 推荐(0) 编辑
摘要: /** * 操作数据流量 * GPRS网络开关 反射ConnectivityManager中hide的方法setMobileDataEnabled 可以开启和关闭GPRS网络 * @param isEnable * @throws Exception ... 阅读全文
posted @ 2015-01-26 23:26 developer_Kale 阅读(1166) 评论(0) 推荐(0) 编辑
摘要: 我们一般调试程序都是用的adb,这个adb其实是可以连接到某个端口的,只要我们的手机和电脑处于同一wifi环境下(你可以用电脑分出来的wifi),手机也接入同一端口就可以实现程序的无线调试了,终于可以抛弃数据线了,有没有很酷。一、准备工作1.1 配置环境变量你首先应该配置好adb的环境变量,检查方式... 阅读全文
posted @ 2015-01-26 10:36 developer_Kale 阅读(573) 评论(1) 推荐(0) 编辑
摘要: LruCache是android提供的一个缓存工具类,其算法是最近最少使用算法。它把最近使用的对象用“强引用”存储在LinkedHashMap中,并且把最近最少使用的对象在缓存值达到预设定值之前就从内存中移除。其在API12被引进,低版本可以用support包中的类。一、分析源码这个源码是从网上找的... 阅读全文
posted @ 2015-01-25 19:17 developer_Kale 阅读(37236) 评论(1) 推荐(1) 编辑
摘要: 通常我们插入代码后,博客园的网页模板就会提供默认的样式进行显示,那么如果我们想要代码变大些该怎么办呢?幸好博客园在博客设置中提供了自定义的css设置,让我们可以最大限度的设定博客风格。一、寻找样式名称如果你仅仅希望知道如何修改,那么可以调过本节,直接进入修改一节。要修改代码样式就必须找到原本的样式,... 阅读全文
posted @ 2015-01-25 18:05 developer_Kale 阅读(4001) 评论(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 阅读(49971) 评论(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 阅读(4929) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页
网站流量统计工具