- 博客(101)
- 资源 (12)
- 收藏
- 关注
原创 android 自写 ViewPager
Pager 作为android中常用的控件,难免遇到不一样的需求,由于android 提供的ViewPager 难于满足项目需求,自定义了一个pager,此文用以记录写该控件的所有过程。一 、明确该控件的作用(为什么要去编写这个控件):1.用户操作可以多样性(单向滑动、双向滑动、水平滑动、垂直滑动 甚至任意方向的滑动)2.可以启动自动轮播3.可以无限循环 (系统提供的 ViewPa
2016-03-07 16:48:34 816
原创 android 动画之从哪来回哪去 —— 支持网络图片
上图动画是你想要的吗?如果是yes , 那么恭喜你,这篇文章你找对了;如果是no ,或许你可以先收藏,在需要的时候再打开看看....言归正传,由于项目需要——在一个简介页面打开详情页时要对简介页面的图片平滑过渡到详情页,问了度娘,google几乎都是通过在xml中定义动画,显然这个不符合我们的需求。曾也尝试了开源框架,可惜向下兼容有问题........该库的使用简单的超乎你
2016-01-29 14:18:16 886
原创 干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等
最近碰到项目需要分享纯图片到 QQ ,朋友圈,微信,微博......由于之前集成了Umeng分享,私心想着,这么强大的分享库,必定支持纯图片分享... 怀着这份坚定的信念,终于找到该如何分享纯图片到微信,微博,朋友圈,QQ的方法,以下是经验总结:首先:纯图片的分享,图片必须是本地图片(网络图片显示不出来)...纯图片的分享,图片必须是本地图片(网络图片显示不出来)...纯
2016-01-19 17:45:19 7343 5
原创 1 分钟上手 Freemarker
freemarker 是一个模板引擎,用于生成网页,代码,配置文件等。 其思想是: 模板 + 数据 = 输出。模板: 使用freemarker 模板语言编写。数据: 任意数据(一般组织成Key-Value形式)Demo,创建一个java工程,添加freemarker.jar 到libs目录。编写模板(放到工程目录)hello_html.ftl (文件名随意):hell
2015-10-26 13:34:07 575
原创 图片边缘增加光晕效果
效果展示:原图 效果图:原理: 使用某种颜色替换图像非透明部分,然后与原图合成最终效果。步骤:1. 底色替换 , 得到如下结果:2.与原图合成,得到最终效果处理代码: /** * * @param map image * @param haloWidthPx halo width, unit in pixel
2015-10-23 11:45:34 6169
原创 ListView 中 TextView 添加跑马灯效果
经常需要在ListView 的 item 中对TextView 添加跑马灯效果,由于ListView 的特殊性,我们需要对TextView 做一些额外的设置,否则没有效果。1. ListView 设置focusable = true2. TextView 设置focusable =true ; ellipsize = marquee; 下面给了一个简单跑马灯效果的样式:
2015-10-21 15:13:50 2369
原创 ubuntu 输入密码后黑屏
最近安装ubuntu,进入密码界面后,输入正确的密码却进不了系统,全是黑乎乎的一片……. 咋解决?解决方案:编辑虚拟机设置,在显示器中关闭 3D加速,搞定。
2015-09-20 23:44:36 6908 4
原创 Java SocketChannel 与 SocketChannel通信模板
抢先体验运行效果Serverpublic class SelectorServer { private static Selector selector ; public static void main(String[] args) { ServerSocketChannel serverChannel = null; try {
2015-09-18 16:07:48 1512
原创 Android ColorMatrix研究介绍
ColorMatrix是一个 4X5 的矩阵。它用于改变图像的 RGBA值。查看官网Color作用原理对于图像中的任何一个像素点(由 R ,G ,B ,A 组成),对该点应用颜色矩阵变换后,得到新的像素值(R,G,B,A),他们之间存在如下关系: (图一) 其中,为颜色矩阵。 (图二) 为原始图像的像
2015-09-14 09:53:52 859
转载 解决ScrollView滑动过程中ScrollTo()方法不起作用的问题
原文本篇文章作为新的类别 “Android经验之谈” 开篇之作,记录实际开发中遇到的比较“奇怪”的问题以及解决方案,不求长篇大论,但求短小精悍,一两句话讲明问题及解决方案,画龙点睛,一语道破天机。有时候,一句提醒,能让人豁然开朗,少走很多弯路。案例:阅读软件中用ScrollView嵌套TextView显示章节内容问题:当滑动Scrol
2015-09-02 13:16:29 4217
转载 Android 官方文档之Activity和Task
原文地址什么知识,看官方的API是最好的了。但是鉴于很多人英语不好,便转载了这篇文章,翻译的非常好了。搞不懂Activity声明周期,和程序框架设计的,最好看一看。Activity 和 task 的设计摘要Activity 是 Android 应用的主要组成部分。除了自己写Activity之外,你还可以利用intent,轻松地重用其它应用的Activity。
2015-05-26 12:08:13 1058
原创 多线程那些糟糕的代码——你这样干过吗?
最近在烦恼用java操作大文件的问题——如果我有一大堆数据在内存中,想要写入文件,如何提速?我们都知道 Java 中的 RandomAccessFile 可以访问文件的任意位置 , 另外 , java 中想要提速的方法有缓存,多线程操作等。而在这一环节中我首先想到的就是多线程写入文件,这样可以提升速度的吧?但是我们知道,无论何时文件的写操作,底层都会加锁(这会影响性能就不解释了),为了验证
2015-05-24 16:54:43 609
原创 android blur 详解 ---- 配效果图
在android 中,边缘模糊的效果是通过BlurMaskFilter实现的 , 它定义了一个边缘模糊半径和模糊效果 (Blur)。 Blur 有四种模糊效果, inner 、normal 、 outer 、 solid ,下面分别介绍这几种效果 : 1. Blur.Inner : 目标边缘向内,模糊半径为 R , 如果 R > 目标宽度,则超出部分不显示。2.
2015-05-24 14:26:11 3312
转载 VMWare安装Ubuntu 12.04无法开启虚拟机的Unity Mode模式
问题:Unity is not supported on this guest operating system这是一个非常难以找到解决方法的问题,因为VMWare和Ubuntu都有Unity统一,前者指的是Unity Mode,后者指的是Unity Shell。我的主机操作系统是Windows 7 ,安装VMWare 9.0.1,虚拟机中运行Ubuntu 12.10 。当我试图把
2015-04-12 21:04:29 932
原创 深入理解android view 生命周期
作为自定义 view 的基础,如果不了解android view 的生命周期 , 那么你将会在后期的维护中发现这样那样的问题 .......做过一段时间android 开发的同学都知道,一般 onXXX 函数都是系统的回调函数。而这篇 blog 也是基于这个思想(或许有点笨)......首先来看三分 创建view 的 日志信息 (自定义View 配置到xml文件中):and
2015-03-25 21:25:38 21861 1
原创 一分钟学会使用gson
Gson是一个超好用的json-对象相互转换的工具。如果您还没有,可以到这里去下载gson2.2.2.jar首先准备两个类,如下:public class One { int integer = 10; String a = null; Two comTwo = new Two(); @Override public String toString()
2015-03-05 19:13:42 1090
原创 Objective-c学习笔记—— 基础内容
BOOL 首先编写程序:#import BOOL areIntDifferent(int ver1 , int ver2){ if(ver1 == ver2){ return (NO); }else{ return (YES); }}NSString* boolSt
2014-05-06 23:19:59 1024
原创 Objective-c学习笔记—— Ubuntu 环境搭建 + HelloWorld
一直想学习IOS手机开发,今天开始涉入该领域。好吧,先从基础开始——搭建开发环境。系统: Ubuntu 12.04 LTS 64 位环境搭建步骤:1、安装编译器 sudo apt-get install gnustep*2、配置环境变量# set GNUstepGNUSTEP_ROOT=/usr/share/GNUstep/Makefilesexport GNUSTE
2014-05-04 22:11:17 1091
原创 android monkey 命令详解
Monkey 是什么?Monkey 就是SDK中附带的一个工具。 Monkey 测试的目的?:该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。Monkey 测试的特点?Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。Monkey 命令标准的monkey 命令[adb shell
2014-03-29 09:33:56 1616
原创 ubuntu12.04LTS 配置磁盘驱动器
sudo apt-get install rcdonfsudo apt-get install ufwufw disable 使用windows ping ubuntu主机地址(查看ubuntu主机地址 ifconfig ; 注意:如果使用虚拟机请使用桥接模式的网络)如果ping
2014-03-05 23:48:50 1402
原创 ubuntu12.04LTS 搭建android 开发环境
安装配置JDK1、下载 jdk-7u45-linux-x64.tar.gz2、解压文件 tar -zxvf jdk-7u45-linux-x64.tar.gz3、将文件夹移动到 usr/lib/jdk7中 sudo mv jdk1.7.0_45 /usr/lib/jdk74、配置Java环境变量编辑文件 ~/.profilesudo vim ~/
2014-03-04 20:50:10 1187
原创 基数排序(Radix Sort)——java实现
关于基数排序的相关概念这里就不多说了,参考基数排序 。 觉得麻烦的看下面的内容:基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。基数排序的效率:基数排序的时间复杂度是 O(k·n),其中n是排序元素个数,k是数字位数。注意这不是说这个时间复杂度一定优于O(n·log(n)),因为k的大小一
2014-03-02 22:37:25 4411
原创 合并排序(MergeSort)
public class MergeSortDemo { public static void mergeSort(int[] data) { if (null == data || data.length == 0) { return; } mergeSort(data, 0, data.length - 1);
2014-01-29 08:59:18 1431
原创 堆排序(Heap Sort)原理及Java实现
先看看堆(Heap)的概念:对于集合元素 R = { k1 , k2 , k3 , ... kn };如果满足1:Ri >= R2i ;其中(2i 2: Ri >= R2i+1 ; 其中(2i+1 或满足1:Ri =2: Ri =称为称为该序列是一个堆(最大堆 或 最小堆)。堆排序的思想是对堆中的第一个元素和最
2014-01-23 22:46:14 2718 1
原创 选择排序(Selection Sort)原理及Java实现
选择排序(Selection Sort )分为两种 简单选择排序(Simple Selection Sort) 和树形选择排序。简单选择排序(Simple Selection Sort):简单选择排序类似于冒泡排序(Bubble Sort) ,每次都会在剩下的元素集合中选择出一个最值出来填充到当前位置。唯一的区别是,冒泡排序在每次发现比当前值小于(或大于)时,都会交换元素的位置,
2014-01-16 09:10:01 3013
原创 快速排序(QuickSort)原理及Java 实现
快速排序(QuickSort )是常用到的效率比较高的一种排序算法,在面试过程中也经常提及。下面就详细讲解一下他的原理、给出一个Java版本的实现。快速排序思想:通过对数据元素集合Rn 进行一趟排序划分出独立的两个部分。其中一个部分的关键字比另一部分的关键字小。然后再分别对两个部分的关键字进行一趟排序,直到独立的元素只有一个,此时整个元素集合有序。快速排序的过程——挖坑
2014-01-15 09:14:45 10459 1
原创 冒泡排序(Bubble Sort)原理及Java实现
冒泡排序 (Bubble Sort) 算法是一种基于交换的排序算法,其思想是,依次比较相邻元素的大小,如果反序,则进行交换,然后再进行下一次排序——如果数据集合的长度为n ,则下一次对前n-1的数据进行冒泡排序。 比如: 第一趟排序 :R1 和R2 比较, R2 和 R3 比较 .... Rn-1 和Rn 比较。得到最大值或最小值Rn 第二趟排序: R1 和R2 比较, R2 和 R
2014-01-14 08:44:14 1954
原创 希尔排序(Shell Sort)
希尔排序的原理:将待排序数据元素集合按照一定的大小分块在块间的数据按照增量(步长)进行直接插入排序,然后根据一定的规则减少步长,再进行一次直接插入排序,直到步长小于1 。希尔排序需要注意的是最后的增量一定是1 。下面先给出Java实现代码:public static void shellSort(int array[]) { if (null == array || 1
2014-01-13 22:26:38 1171
原创 直接插入排序(Straight Insertion Sort)
写排序方法之前还是先介绍一下排序相关的概念:排序:将任一资源(内存中的数据或文件等等)通过某种方式整理成 按关键字 有序排列的过程 叫排序。排序的稳定性: 对序列中的两个或两个以上的相等的数据(Ri = Rj , i != j), 排序前 Ri 先于 Rj , 排序后Ri 仍然先于 Rj ,则称该排序是稳定的。否则称为该排序是不稳定的。比较算法的评判标准: 时间复杂度、控件复杂度、算法
2014-01-13 08:54:37 1104
原创 查找之四 , fibonacci 查找
Fibonacci 查找的方法是根据Fibonacci 数列的特点对查找表进行分割。其查找表有一个特点就是: 查找表的长度等于某个Fibonacci 数值减 1 。即:n = table.length , fn = fib(k) ; n = fn -1 ;如果不满足这个条件,则不能使用Fibonacci 查找方法进行查找。使用 l , h , m ,表示待查找表的下界、上界 、 和
2014-01-09 22:34:08 1356
原创 查找之三 , 块查找
分块查找又称为索引查找,它结合顺序查找和二分查找方法。在分块查找中我们首先需要知道查找表的构造,而查找表构造的要求如下:1、将查找表分块,块与块之间是有序的,而块内无序。即第 i 块内的最大值,小于等于第 i + 1块的最小值。2、根据查找表构造一个索引表 , 索引表的结构是按照关键字有序的。索引表中每个Item的结构如下:最大关键字起始位置
2014-01-08 22:24:13 1018
原创 查找之二 , 二分查找
二分查找的思想是:对一个非空的有序的查找表进行如下比较(以下假设是升序排列):查找找表的低位 low , 高位 high ,如果 middle = (low + high) / 2 的值等于key值,则查找成功;如果 middle的值小于key的值,说明key可能在后半段,low=middle ;如果 middle的值大于key的值, 说明key可能在前半段, high = low
2014-01-07 21:34:34 1134
原创 查找之一 , 顺序查找
在写顺序查找之前呢,先介绍几个概念:1、 查找表 :相同类型的数据元素组成的集合。2、 关键字: 数据元素中能够唯一标示数据元素的项(一项或多项)。3、 查找 : 根据给定的key(关键字)值,查找某一数据元素,如果存在满足条件的数据元素则查找成功,否则查找失败。如果查找成功,一般返回该数据元素所在的位置。4、 静态查找: 查找时只对数据元素进行查询或检索。5、动态查找:
2014-01-06 21:53:13 1144
RecyclerView辅助工具
2015-12-09
android控件学习示例
2013-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人