- 博客(69)
- 资源 (3)
- 收藏
- 关注
原创 RippleView(波纹按钮)的效果实现
Android M已经发布,但是很多机器才升级到Android L,升级到L之后我们发现很多的按钮点击的时候会有一圈波纹扩散出去的效果,炫酷到没朋友。但是不是所有的版本上都有这个效果的,怎么办呢?有大神开发出了一个nineOldAndroid的动画包,我们可以使用里面的api做自定义的开发这样就可以用到各种版本上面了。传送门在此:http://nineoldandroids.com/h
2015-07-10 18:13:05
5064
原创 自定义view中利用onLayout判断键盘收起还是弹出
在android开发中控制软键盘是非常令人头疼的一件事,因为Android并没有开放出一个接口给开发者去简单易用的控制键盘的弹出与隐藏(这个时候就羡慕IOS的开发者们了。。。)。那假如说我有这么一个需求:我的界面中有一个输入框,我需要根据软键盘的状态来控制说,如果键盘弹出的话editText就显示为绿色,如果隐藏的话就显示为灰色。我怎么去控制它呢,今天想了一个简单的方法,试了也是可以的,不过有限制
2015-07-08 15:51:13
1660
转载 android翻书效果实现原理( 贝塞尔曲线绘制原理/点坐标计算)
实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。用户看到的可以分为3部分:当前页的可见部分(下图绿色部分),把书页翻起来后看到的背面区域(下图黄色部分),把书页翻起来后看到的下一页的一角(下图绿色部分)。假设我们已经求得了包含黄色区域和蓝色区域的Path, 假设为mP
2015-03-19 15:55:50
2095
原创 结合Android命名空间,自定义一个横向柱状图
话不多说先上图:类似于这样的效果,很简单。这是一个listview,item是自定义的view,有两个特点:传入长度,动态改变柱状图的长度;根据长度改变色值,长度越长越红,反之越黄。用到的知识点无非是paint在canvas上画图,这里不赘述,想了解但是不了解的童鞋可以看我上一篇日志。传送门:http://blog.youkuaiyun.com/zhaoyingkun/arti
2015-03-17 15:24:31
1413
原创 搬家(新浪博客-->优快云)
今天将博客从新浪搬家至优快云博客原新浪博客地址:http://blog.sina.com.cn/u/1783794773
2015-03-05 15:37:58
593
原创 Android捕获异常时候的log信息
我们在开发android应用的时候经常有这样一个情景:程序用着用着在某个地方崩溃了,每次的情况都不尽相同,这时候我们没有在电脑旁边,有电脑的时候去看代码的时候总是觉着哪儿都不可能出错。这时候我们就想如果我们能得到异常退出时候的log信息就好了。这时候下面这一段代码就可能相当有用了:package com.test.application;import java.io.BufferedRe
2015-03-05 15:32:32
502
原创 SoundPool没有声音的问题
在项目中需要播放一个提示,很短的一个声音,Android中播放声音有两种方式:MediaPlayer和SoundPool。相对来说SoundPool比较轻量级一些,多用在播放比较短急的声音,MediaPlayer则用来播放大段的声音或者音乐。使用SoundPool比较方便,下面就是一段简单的SoundPool的代码,我们需要在res下建一个raw文件夹,里边放一个test声音文件,但是在实际使
2015-03-05 15:32:29
3348
原创 Android 获得状态栏的高度
private int getStatusBarHeight(Context context) { Class c = null; Object obj = null; Field field = null; int x = 0, sbar = 0; try { c =Class.forNam
2015-03-05 15:32:26
512
原创 Android中怎样让系统扫描不到自己…
我们在写应用的时候,可能会保存很多图片,大的小的,仅仅是我们的应用中会用到,处于种种原因不希望用户看到,我是觉着如果被用户看到了,就失去了我的应用的那一层神秘的面纱,用户是米有闲情逸致去打开你一层层的文件夹去翻看你保存图片或者音视频等多媒体文件的。但是很多像图库看图软件或者音乐播放器视频播放器在播放本地音视频的时候会扫描用户的文件系统,就会把你保存的多媒体文件扫出来。 这时候如果你
2015-03-05 15:32:23
786
原创 Android中使用微信分享
今天涉及到要分享到朋友圈,因为使用系统的分享是没有朋友圈这一项的,不管你手机上有没有装微信,只有分享到微信这一项。所以我们就得使用微信开放平台,需要在开放平台上申请一个AppId,需要包名和应用签名。包名就是apk应用内的包名,可以再AndroidManifest.xml中找到,应用签名当初我看到这个东西的时候一懵,这是什么东西。估计很多Android工程师都不知道,怎么获取呢:http
2015-03-05 15:32:20
592
原创 Android中下载音视频文件
整理下最近项目做过的关于下载音视频的思路,只说思路,不会上具体代码。我们从粗到细,慢慢道来。(本人菜鸟一枚,我这里只是说下自己的思路,有大神看见了此文章,如果有更好的解决方案,欢迎留言指正,只是起抛砖引玉,大家一起进步。)首先说一下大环境,Android和IOS对于视频的支持。Android和IOS支持的视频来说,Android本身支持最强的可能是mp4,然后就是3gp,或者有的主打影音
2015-03-05 15:32:17
2841
1
原创 M3U8的简单介绍和在Android中使用…
在项目中有用到m3u8,现在写篇博文,算是简单的总结首先是名词介绍,什么是m3u8。m3u8是m3u的一种,不过是utf-8格式的,我记忆中说m3u8是苹果公司搞出来的一种播放的标准吧,其实简单来说就是把整个视频切成一段一段的,然后呢用一个m3u8格式来存这些个小段视频们的地址。可能大家就要问了,这么麻烦干嘛。其实m3u8是为了码率适配而生,而怎样去适配码率呢,这个下面介绍格式的时候会介绍到。
2015-03-05 15:32:14
9989
原创 http中的User-Agent
User-Agent在http头信息中可以找到,用来表明你的浏览器是哪一个,IE、FireFox等的UA都是不一样的,是用户向浏览器表明你的浏览器、操作系统信息的标示。移动开发中UA使用也是很多的,因为各大网站为了统一到各移动操作系统的操作体验,对于IOS/Android所适配的网站是不一样的,可能有对js等脚本语言熟悉的朋友知道,我们可以用js从视频网页上抓到视频文件的真正地址。而对于一种网
2015-03-05 15:32:11
2766
原创 Android中Canvas和Paint的常用方法
Canvas:void drawRect(RectF rect, Paint paint)//绘制区域,参数一为RectF一个区域void drawPath(Path path, Paint paint)//绘制一个路径,参数一为Path路径对象 void drawBitmap(Bitmap bitmap, Rect src, Rectdst, Paint paint) //贴
2015-03-05 15:32:08
473
转载 DLNA原理
原文地址:DLNA原理作者:rainzhou术语:DLNA: Digital Live Network Alliance, 资源共享协议标准以实现设备之间互联、互通和互操作功能MS:媒体服务器 MR:媒体播放器 CP 控制点 CDs:内容目录服务 AVT:媒体传输服务 RCs:呈现控制服务 CM:连接管理服务UPnP 基于IP网络的设备即插即用协议原理:DLNA协议主要是解决局域网中设
2015-03-05 15:32:05
4602
原创 [Shell]shell中./和source的区别(…
lu1() { echo 'aaaaaaaaa'}lu2() { echo 'bbbbbbbbb'}上面就是,run.sh的源码了,可以看到只有2个函数定义没有任何地方来调用这两个函数,那么我们如果这样执行:luther@gliethttp:~$ ./run.sh luther@gliethttp:~$ 可以看到什么都没有,因为没有地方调用这2个函数,我们希望在我们
2015-03-05 15:32:02
749
原创 2013年06月13日
之前拆过好几次了,但是装上之后突然风扇就不转了,热的烫手。楼主的机器是四年之前的老机器,三星R467dt05,配置现在来说是很低了,但是楼主工作都不用这个本,也用不着它干什么大事儿,打游戏也不玩,本着不追科技产品的观念,就没换。昨天晚上实在是忍不住了,就买了硅脂,换了硅脂,现发上图来,帮助有拆机之心却无从下手的兄弟姐妹们,做个参考,手艺不精,还请各位看客见谅。好,下手拆之。首先翻过机器,放桌
2015-03-05 15:31:59
810
原创 在android手机中打开word、xls、pd…
今天研究了下在如何在应用中打开word、xls、ppt等office文件,分为网络加载观看和本地观看,参考了豆丁阅读客户端和百度文库客户端。1、本地:发现两个客户端在本地的时候都是使用金山Office手机客户端作为打开office文件的工具,因为开始使用的时候我手机上是装着金山Office的,因为之前用过金山Office,所以觉着这两个客户端的界面很像,又联想了一下发现都是金山Office的界
2015-03-05 15:31:56
8920
原创 onConfigurationChanged在Android4…
首先在manifest文件中配置了android:configChanges="orientation|keyboard",然后在Activity中Override了onConfigurationChanged方法,但是无论怎么着,这个方法就是不执行今天找到解决方法,要在configChanges中加screenSize这个属性才回执行到onConfigurationChangedandr
2015-03-05 15:31:53
421
原创 android 防止用户点击频率过高
如果是要请求网络的应用的话,如果用户点击频率过高的话,会不断请求网络,即使在请求的内部connection设置了conn.setConnectTimeout(5000);的话,过多的请求还是会将程序堵塞,所以加以下代码,将问题扼杀在源头上,如果用户点击频率过高的话,就弹吐司。exitTime是全局变量if ((System.currentTimeMillis() - exitTime) To
2015-03-05 15:31:51
663
原创 应用中使用Bitmap的时候如何防止OO…
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。 1) 要及时回收Bitmap的内存 Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,And
2015-03-05 15:31:47
838
原创 ubuntu下使用javah命令生成.h文件…
如题,终端出现如下错误yocn@ubuntu:~/workspace/CTest/bin/classes$ javah -jnicom.yocn.zhao.CTestActivity错误:无法访问com.yocn.zhao.CTestActivity未找到 com.yocn.zhao.CTestActivity 的类文件javadoc: 错误 - 找不到类 com.yocn.zhao.
2015-03-05 15:31:45
1214
原创 junit单元测试
利用eclipse自带的junit编写测试类利用ant进行测试运行,以及生成报告文件例子: package com.wuxiaoxiao.junit; public class Person { private String name; private String sex; private int high; private int age; public Person(
2015-03-05 15:31:42
669
原创 ubuntu下如何实现自动挂载其他分区
我装的ubuntu是在windows下用wubi安装的,所以如果在ubuntu下要使用windows下的文件的话就必须把windows下的分区挂载到ubuntu下,但是每次用都得手动挂载,为什么不能让它自动挂载呢?于是就找到了下面的方法:通过修改/etc/fstab这个系统中各种设备和分区的挂载点,但是这个文件是只读的,所以我们还要有管理员权限来修改它,我上一篇日志就介绍了如何用suroot
2015-03-05 15:31:39
889
原创 linux下搭配Android运行环境
话说linux下的Android虚拟机启动的就是快,而且运行也流畅的很,而且一次运行三个不费劲儿,我这机器windows下运行两个就不太行了,linux还有余力
2015-03-05 15:31:36
415
原创 Ubuntu下更改到root权限并且修改线…
yocn@ubuntu:~$ renice 5 69296929 (process ID) old priority 5, new priority 5yocn@ubuntu:~$ renice 10 69296929 (process ID) old priority 5, new priority 10yocn@ubuntu:~$ renice 0 6929renice: faile
2015-03-05 15:31:33
1390
原创 Class.forName的作用
Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("paca
2015-03-05 15:31:30
407
原创 抽象类和接口的区别
在Java语言中,abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstractclass和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstractclass和interface的选择显得比较随意。其实,两者之间还
2015-03-05 15:31:27
362
原创 什么时候必须显式的调用父类构造函…
package HighNewTech;public class Parent {private String name= null;private int age = 0;Parent(String name,int age){System.out.println("ssssss");}Parent(){System.out.println("ssssss");}}cl
2015-03-05 15:31:24
1780
转载 overload和override的区别
顶一个原文地址:overload和override的区别作者:尘封 1、Overload没有关系,Override有点关系(范围小的可以被范围大的Override)。 2、Overload返回值类型不同不能作为不同的两个函数,Override应该完全一样的返回类型。 -------------------------------------------------------------
2015-03-05 15:31:21
484
原创 2012年03月18日
在java编程思想中对synchronized的一点解释: 1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronizedaMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个syn
2015-03-05 15:31:18
440
原创 类加载器的资料,以后备用
一、Class是怎么被加载的? 每个Class对象都保留着加载自己的类加载器的引用,可以通过Class对象的getClassLoader方法来获得其引用。ClassLoader通过loadClass方法来加载这个类。 一般来说,loadClass方法的实现逻辑是这样的: 1.该类如果被加载过,则直接返回以前加载过的Class对象;否则继续下一步; 2.调用findCla
2015-03-05 15:31:15
399
原创 线程池的使用,介绍比较简洁易理解
一、简介 线程池类为java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(intcorePoolSize, intmaximumPoolSize, longkeepAliveTime, TimeUnit unit, BlockingQueueworkQueue, RejectedEx
2015-03-05 15:31:12
356
原创 java中的instanceof关键字的应用
instanceof是Java的一个二元操作符,和==,>, String s = "I AM an Object!"; boolean isObject = s instanceof Object; 我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回tr
2015-03-05 15:31:07
330
原创 最基本的io练习
package IO;import java.io.*;import static Test_purview.print.*;public class IOSimpleTest {public static void main(String[] args){FileInputStream n = null ;//字节输入流FileOutputStream o = null;//输
2015-03-05 15:31:04
387
原创 关于java中的泛型(转)
Java泛型简明教程泛型是Java SE5.0中引入的一项特征,自从这项语言特征出现多年来,我相信,几乎所有的Java程序员不仅听说过,而且使用过它。关于Java泛型的教程,免费的,不免费的,有很多。我遇到的最好的教材有:§ The Java Tutorial§ Java Generics and C
2015-03-05 15:31:02
368
原创 this关键字和super关键字
this关键字1)在类的内部代表对象本身,你应该看到过this.xxx(),this.xxx这种用法吧,this就代表这个类的对象,比如public class A { private Stringname; public voidsetName(String name) { //this就代表A的一个对象 //当你实例一个A时,A a1 = ne
2015-03-05 15:30:58
374
原创 Java栈与堆 (转)
Java栈与堆 ----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2.栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数
2015-03-05 15:30:56
319
原创 工厂模式的实现
一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上Audi后他说"开奥迪车!"。你一定说:这人有病!直接说开车不就行了?!而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这
2015-03-05 15:30:52
339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人