自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梵依然的专栏

你必须非常努力,才能看起来毫不费劲

  • 博客(23)
  • 收藏
  • 关注

转载 android VOIP

一、基本概念1、VOIP基于SIP协议,SDK2.3包含一个SIP协议栈和框架API2、VOIP位于android.net.sip包中,最重要的为SipManager类,可开发基于SIP的VOIP应用。使用时要包含android.permission.INTERNET和android.permission.USE_SIP权限3、如果在market中显示仅支持VOIP API

2014-02-12 23:11:04 3256

转载 Java线程之Semaphore用法

操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,acquire()获取一个许可,如果没有就等待,而release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Semaphore维护了当前访问的个数,提供同步机制,控制同时访问的个

2014-02-12 13:51:19 719

转载 Java线程之Exchanger-兄弟线程的信息交换

如果两个线程在运行过程中需要交换彼此的信息,比如一个数据或者使用的空间,就需要用到Exchanger这个类,Exchanger为线程交换信息提供了非常方便的途径,它可以作为两个线程交换对象的同步点,只有当每个线程都在进入 exchange ()方法并给出对象时,才能接受其他线程返回时给出的对象。             Exchanger的构造方法如下:[java] Exchang

2014-02-12 13:49:46 706

转载 Android开发之WebView的缓存

我们在项目中也时常会用到WebView这个控件,当我们加载html时候,会在我们data/应用package下生成database与cache两个文件夹如下图如示: 我们请求的url记录是保存在webviewCache.db里,而url的内容是保存在webviewCache文件夹下.为了让大家更容易理解,我做一个简单的例子,我定义一个html文件,在里面加载了一个淘

2014-02-12 13:47:13 1441

转载 Android开发之文本中缩略图点击弹出大图效果实现

首先来张效果图,没有经过美工处理的 实现基本功能其实做这个项目复习了很多内容,将之前单个项目中用到的某些功能综合到一起了,例如1、自定义标题栏2、Java和JavaScript的互调3、Activity实现仿Dialog样式4、多线程实现考试倒计时5、退出Activity时保存配置信息(考试剩余时间)6、熟悉UI布局上面这些效果中,讲讲通过Java和JavaScript互调

2014-02-12 13:44:45 2049

转载 Android开发之图像渲染(Shader)

在Android中,提供了Shader类专门用来渲染图像以及一些几何图形。  Shader类包括了5个直接子类,分别为:BitmapShader、ComposeShader、LinearGradient、RadialGradient以及SweepGradient。其中,BitmapShader用于图像渲染;ComposeShader用于混合渲染;LinearGradient用于线性渲染;R

2014-02-12 13:42:20 1350

转载 Android图形系统中形状Drawable使用详解

当你想动态画二维图形,ShapeDrawable对象是可能是你合适的选择.使用ShapeDrawable,你可以随意画出原始的形状并且应用到任何风格.ShapeDrawable是一个Drawable的派生类,所以你可以用于任何想使用Drawable的地方—比如可能是一个View的背景,通过setBackgroundDrawable()所设置.当然,你也可以把你的形状作为它自己的自定义Vie

2014-02-11 17:51:21 1261

转载 Android通过共享用户ID来实现多Activity进程共享

1.同一Apk中的同一包中的Activity调用时进程状况验证 [1]创建Project:    project name: FirstProject    package:com.demo    默认Activity:MainActivity [2]添加一个新的Activity:    name:SecondActivity [3]修改布局。在MainActivity

2014-02-11 17:47:28 613

转载 Java 六种异常处理的陋习

你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? Java代码  1 OutputStreamWriter out = ...  2 java.sql.Connection conn = ...  3 try { // ⑸  4  Statement stat = c

2014-02-11 17:46:32 552

转载 配置文件里面的xsd的基本解释

XSD是指XML结构定义 ( XML Schemas Definition )XML Schema 是DTD的替代品。XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文

2014-02-11 17:45:18 1062

转载 Future 模式

考慮這樣一個情況,使用者可能快速翻頁瀏覽文件中,而圖片檔案很大,如此在瀏覽到有圖片的頁數時,就會導致圖片的載入,因而造成使用者瀏覽文件時會有停頓 的現象,所以我們希望在文件開啟之後,仍有一個背景作業持續載入圖片,如此使用者在快速瀏覽頁面時,所造成的停頓可以獲得改善。Future模式在請求發生時,會先產生一個Future物件給發出請求的客戶,而同時間,真正的目標物件之生成,由一個 新的執行緒

2014-02-11 17:43:47 645

转载 Null Object 模式之我见

写了个cache服务器的抽象层,如果cache中不存在该对象,我就让它返回null。public Person fetch(String name){ //do some thing.can not find the Person. return null;} 头说这么不对,专家建议方法尽量不返回null,让我设置一个常量代替null,这叫 Null Obje

2014-02-11 17:42:36 937

转载 Android开发之如何导入已有的外部数据库

我们平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,然后再进行相关操作。如果我们需要使用一个已有数据的数据库怎么办呢?我们都知道android系统下数据库应该存放在 /data/data/com.*.*(package name)/ 目录下,所以我们需要做的是把已有的数据库传入那个目录下。操作方法是用FileInputStream读取原数据库,再用FileOutput

2014-02-08 17:15:55 2423 3

转载 Android开发之调用系统隐藏API

Android中有些Api被隐藏了,比如开关机,重启,如果要在应用中调用,要么用反射,要么就是直接在Android源代码下编译。如果用Eclipse用IDE,尽管调用隐藏API的代码能顺利在Android源码下通过编译,但Eclipse找不到相应的类,会报错,为了写代码时方便点,我们可以把相关的包加到eclipse中。先下载Android源码(本站有提供4.2.2的打包下载链接,自己找找),编

2014-02-08 17:12:35 3762 1

转载 Android Launcher开发

Launcher就是一个普通的应用,不需要在系统级实现。与普通的应用区别在于AndroidManifest.xml中声明:123456789101112131415161718192021 android:icon="@drawable/ic_launcher" android:l

2014-02-08 17:10:55 1217

转载 Android界面设计之创建自定义的控件焦点顺序

我们尝试创建自定义的控件焦点顺序,即同时允许在上面的界面中,当用户按键时,以顺时针或逆时针进行控件切换,如下图:  也就是说,允许用户当按“Down”或“Right”键时,切换顺序是顺时针方向,比如假设当前在键12上,按“Down”或“Right”键时,会切换到键1,而按“Up”或”Left”时,会切换到键11,如此类推。要实现这点,可以在每个按钮中进行设置如下四个属性: 

2014-02-08 17:07:51 2731

转载 Java枚举常见7种用法

DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color {    RED, GREEN, BLANK, YE

2014-02-08 17:05:41 686

转载 Java线程:Phaser

Phaser是一个灵活的线程同步工具,他包含了CyclicBarrier和CountDownLatch的相关功能       首先,来看一下如何用Phaser替代CountDownLatch。对于CountDownLatch而言,有2个重要的方法,一个是await()方法,可以使线程进入等待状态,在Phaser中,与之对应的方法是awaitAdvance(int n)。CountDownL

2014-02-08 17:04:02 858

转载 java线程:CyclicBarrier使用详解

Java代码  import java.util.Random;  import java.util.concurrent.CyclicBarrier;    /** *//**  * CyclicBarrier类似于CountDownLatch也是个计数器,  * 不同的是CyclicBarrier数的是调用了CyclicBarrier.await()进入等待

2014-02-08 17:02:10 599

转载 Java线程:阻塞队列BlockingQueue

这一段时间我的工作主要是改进公司的调度器,调度器调度线程池执行任务,生产者生产任务,消费者消费任务,那么这时就需要一个任务队列,生产者向队列里插入任务,消费者从队列里提取任务执行,调度器里是通过BlockingQueue实现的队列,随后小查一下,下面看看BlockingQueue的原理及其方法。       BlockingQueue最终会有四种状况,抛出异常、返回特殊值、阻塞、超时,下表

2014-02-08 17:00:38 798

转载 Java线程:Condition-线程通信更高效的方式

接近一周没更新《Java线程》专栏了,主要是这周工作上比较忙,生活上也比较忙,呵呵,进入正题,上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。        那么引入本篇的主角,Condition,Con

2014-02-07 17:57:52 638

转载 Java线程:锁对象Lock-同步问题更完美的处理方式

Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下:[java] view plaincopypubl

2014-02-07 17:41:48 663

转载 Java线程:Callable和Future

接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行

2014-02-07 17:37:55 705

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除