TextView内部类Layout光标相关方法

使用TextView自定义EditView时,需要自己去维护光标位置,用到一些方法,简单的介绍下:1.获取行数getLineCount()2.获取指定行边界getLineBounds(int line, Rect bounds)获取该行的外包矩形bounds, 字符的顶部Y坐标就是rect的top 底部Y坐标就是rect的bottom3.根据坐标找到对应行getLineForVertical(int...
阅读(91) 评论(0)

Why does getView return wrong convertView objects on BaseAdapter?

ListView 加载两种不同类型的layout,自定义adapter,重写了getItemViewType和getViewTypeCount方法,代码如下:class ContentAdapter extends BaseAdapter { private Context mContext; private List mData; /*...
阅读(76) 评论(0)

请不要滥用SharedPreference

由于输入法方面的工作,使用SharedPreference比较的,使用中也不是特别规范。这篇文章在使用SharedPreference上给出了很多好的建议。1.不要存放大的key和value!我就不重复三遍了,会引起界面卡、频繁GC、占用内存等等,好自为之!2.毫不相关的配置项就不要丢在一起了!文件越大读取越慢,不知不觉就被猪队友给坑了;蓝后,放进defalut的那个简直就是愚蠢行为!3.读取频繁的...
阅读(179) 评论(1)

[JNI] 开发实例(2) 编译libwebsocket,封装jni函数,搭建IM通信基础服务

WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。这段介绍来自百科。当然websocket也可以用于android建立长链接,实现IM通信 优势:节省内存空间。当然这个是服务端并发时候节省内存空间,支持的并发量更大 ,这个我没做服务端没有验证...
阅读(1338) 评论(0)

给定一个字符串,求第一个不重复的字符

这个问题有两个关键词 :第一个,不重复第一个 也就是说我们要保证这顺序,使用LinkedHashMap来记录字符个数,因为LinkedHashMap维持的元素顺序与插入顺序一致,而我们正是按照字符串中字符出现的顺序来将字符插入Map中的。 不重复 使用map的value保存计数,每插入一个元素时候给map的value值加1,当我们扫描字符串时,只需要迭代LinkedHashMap并找出值为1的元素...
阅读(450) 评论(0)

标号1-n的n个人首尾相接,1到3报数,报到3的退出,求最后一个人的标号

闲来无聊,拿着这个算法题看了下典型的约瑟夫问题。这里使用最直白的方式来解答这道题:思路: 1.把所有人先放入数组中,size为n+1 2.当报到m的人,且dead不等于n-1时,此人退出游戏,这时候把数组中这个值置为0,报数从新开始 3.如果这个人报数等于m,并且已经死了n-1个人,说明当前这个人就是最后的一个public class demo{ public static void...
阅读(584) 评论(0)

Fresco 5.0以上内存持续增长问题优化

fresco是android一款比较好的图片处理框架,特别是在5.0以下,效果很佳。在5.0以下系统,Fresco将图片放到一个特别的内存区域ashmem中。这块内存我们通过android studio查看时不会显示,回收机制与java回收机制差不多。当然,在图片不显示的时候,占用的内存会自动被释放。这会使得APP更加流畅,减少因图片内存占用而引发的OOM。5.0以上系统,我们使用了Fresco,但...
阅读(2126) 评论(12)

教你手写Java层handler机制

handler消息框架1.Looper是消息循环类,负责从消息队列取消息,然后通过handler转发给UI线程,它包含mQueue成员变量,mQueue是一个消息队列MessageQueue。2.MessageQueue是消息队列类,它包含了mMessages成员;mMessages是消息Message的实例。MessageQueue提供了next()方法来获取消息队列的下一则消息。3.Messag...
阅读(2170) 评论(4)

【转载】Android面试题集

感谢Machivellia收集 ,原文链接http://www.jianshu.com/p/59e03fc7e6d4Java 方面133个Java面试问题列表 [http://www.importnew.com/17232.html](http://www.importnew.com/17232.html)40个Java集合面试问题和答案 [http://www.jcodecraeer.com/a/...
阅读(478) 评论(0)

[JNI]开发实例(1)封装libjpeg库 保证图片质量压缩图片

为什么libjpeg这么好用,这里不做介绍了,自行去搜索很多blog有介绍,也可以反编译微信,淘宝等大厂app,你都会发现libjpeg.so的身影。直接上代码撸环境: android studio 2.2.3下载编译好的libjpeg.so当然你也可以下载libjpeg.a静态文件,然后把你的jni与这个.a打成一个so库; 这里为了方便就直接下载github上编译好的so文件了,你也可以尝试...
阅读(921) 评论(0)

高度可定制化 IM聊天界面设计

背景: 做IM聊天,对接其他部门业务需求,老是接到需要定制个性化的消息UI,接手这块业务时候,以前的代码写的比较死,怎么样的呢: 一个BaseAdapter,包含2个view (RecvView,SendView)每次来消息不断的根据消息类型去隐藏和显示已经在xml中配置好的view样式。比较坑吧,不仅绑定的死死的,没法扩展,就是看也很难看懂,不断的在view中if-else判断消息类型,处理消...
阅读(668) 评论(1)

android使用Charles抓包https请求

以前使用抓包神器fiddler抓包还是很厉害的,听说过Charles一直没用过,只从换了mac,fiddler就没发用了,只能研究下Charles,这都不是重点,主要是现在的请求都使用了https抓包就不太好了,各种证书验证,无意中发现有人研究出来抓包https的方法,按照其步骤操作了一遍,神奇的效果发生了,https也可以咦步骤:1.下载Charles 4.0.2http://xclient.in...
阅读(3247) 评论(1)

c/c++混编到的问题 extern "C" 介绍【转】

c与c++连接发现出现了找不到具体函数的错误:以下是假设旧的C程序库C的头文件/———–c.h————–/#ifndef _C_H_ #define _C_H_ extern int add(int x, int y); #endifC的源文件/———–c.c————–/int add(int x, int y){ return x+y; } C++的调用/———–cpp.cpp————–/...
阅读(178) 评论(0)

cmake使用介绍【转】

一、 基本使用安装:下载二进制包后可直接解压使用从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败使用:cmake dir_path,生成工程文件或makefile文件 二、 概念out-of-source build,与in-source build相对,即将编译输出文件与源文件放到不同目录中; 三、...
阅读(170) 评论(0)

微信小程序开发-新闻简讯demo

闲来无聊体验了一把微信小程序开发,从开发的角度来说,还是蛮好的事,减少开发成本,不需要复杂的环境配置,api使用简单,开发出来的产品体验也还不错,确实很多不常用的app可以使用小程序来开发。不过现在还很多限制,API不够完善,我只是尝试使用几个常见的控件就遇到很多不支持,后期完善API后,是个不错的方向。 效果图: 1.环境配置官方下载开发工具包,安装完成就可以进入开发了。2.项目结构开发之...
阅读(374) 评论(0)
193条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:229430次
    • 积分:4045
    • 等级:
    • 排名:第8044名
    • 原创:174篇
    • 转载:17篇
    • 译文:2篇
    • 评论:100条
    博客专栏
    文章分类
    最新评论