自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Habby的专栏

专注于Android开发

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

转载 java.lang.Object中getClass()方法的用途

可以获取一个类的定义信息,然后使用反射去访问其全部信息(包括函数和字段)。还可以查找该类的ClassLoader,以便检查类文件所在位置等。 Class aa=xxx.getClass(); aa带的方法有什么用. 比如说可以返回类名. 知道该类中字段 知道该类中方法名 知道该类中参数名 知道该类中方法返回类型 好比说 Collection c=ne

2013-09-29 23:08:45 1950

转载 JVM内存模型及垃圾回收机制

JVM内存模型1、栈Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。存储局部变量、引用、方法、返回值等。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。2、堆Java中堆是由所有的线程共享的一块内存区域,堆用来保存各种JAVA对象,比如数组,线程对象等。

2013-09-29 22:58:38 847

转载 使用NDK移植开源项目,JNI的使用技巧

使用NDK移植开源项目,JNI的使用技巧2012-02-07 09:58 by Terry_龙, 4981 阅读, 2 评论, 收藏, 编辑  jni 的介绍 JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码

2013-09-29 14:02:33 1057

转载 Android Fragments 详细使用

Android Fragments 详细使用2012-02-17 14:29 by Terry_龙, 73021 阅读, 10 评论, 收藏, 编辑   Fragments 诞生初衷     自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其上的是为了解决不同屏幕分辩率的动态和灵活UI设计。大屏幕如平板小屏幕如手机,平板电脑的

2013-09-29 14:01:04 769

转载 Java Serializable(序列化)的理解和总结

1、序列化是干什么的?        简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化       a)当你想把的内存中的对象状态保存到一个文件中或者数据库中

2013-09-28 13:32:09 965

转载 Android开发中AsyncTask实现异步处理任务的方法

在开发Android应用时必须遵守单线程模型的原则:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:不要阻塞UI线程确保只在UI线程中访问Android UI工具包当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户

2013-09-28 00:07:36 1215

转载 Future和FutureTask

public interface Future Future 表示异步计算的结果。Future有个get方法而获取结果只有在计算完成时获取,否则会一直阻塞直到任务转入完成状态,然后会返回结果或者抛出异常。 Future 主要定义了5个方法: 1)boolean cancel(boolean mayInterruptIfRunning):试图取消对此任务的执行。如果任务已完成

2013-09-27 23:52:54 800

原创 Parcelable与Serializable

package com.habby.login.net;import android.os.Parcel;import android.os.Parcelable;public class UnionLoginInfo implements Parcelable {public String mTitle;public String mMobileSupport;public String mIm

2013-09-25 14:53:40 877

转载 Java对象的强、软、弱和虚引用

本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用   在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、

2013-09-24 22:52:00 1012

转载 提高代码质量的Eclipse插件之JDepend

我们在开发Java项目时经常会遇到关于包混乱的问题,特别是在架构更改后,这样的问题尤为突出,JDepend工具可以帮助你在开发过程中随时跟踪每个包的依赖性(引用/被引用),从而设计高维护性的架构,不论是在打包发布还是版本升级都会更加轻松。本文引自http://starrynight.blogdriver.com/starrynight/606590.html,并增加了些自己的见解,感谢star

2013-09-24 22:31:24 1444

转载 Android 内存优化

一、 Android的内存机制    Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。    那么GC怎么能够确认某一个对象是不是

2013-09-24 21:25:33 886

转载 为Android的HttpClient添加请求超时时间

在以前做一个android的移动项目的时候,想为httpClient对象添加请求超时和读取超时时间,发现httpClient的对象实现的defaultHttpClient对象中就没有设置超时时间的方法,所以一直郁闷的,觉得怎么回没有,难道defaultHttpClient对象中已经封装了请求超时时间和读取时间,不过这样不是可扩张性不好了,最近在android论坛上面,发现了其实android的ht

2013-09-24 13:32:49 1258

转载 关于URLEncoder的编码和URLDecode解码

在我们开发中,很多时候会遇见各种编码乱码的问题,其实这都是编码不一致的问题,如果你懂得了关于URLEncoder的编码和URLDecode解码,那么问题就会随之消失!下面我们看看关于编码的代码:[java] view plaincopypackage com.zhagnke.test;    import java.beans.Enc

2013-09-24 13:30:33 1787

转载 Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2013-09-22 22:48:31 1020

转载 java线程API学习 线程池ThreadPoolExecutor

转自:http://blog.csdn.net/ABBuggy/archive/2011/06/16/6548843.aspx线程池ThreadPoolExecutor继承自ExecutorService。是jdk1.5加入的新特性,将提交执行的任务在内部线程池中的可用线程中执行。构造函数[java] view plaincopy

2013-09-18 13:46:58 1854

原创 Java与Android很实用的技术

Java与Android很实用的技术:http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html

2013-09-18 11:10:35 900

原创 单线程模型中Message、Handler、Message Queue、Looper之间的关系

1. Android进程  在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现不足时,Android 会尝试停止一些进程从而

2013-09-17 17:23:09 919

转载 静态内部类和非静态内部类的区别

案例:package com.devin;public class MyMain{ private static String name = "woobo"; private String num = "X001"; // 静态内部类可以用public,protected,private修饰 static class Person {

2013-09-17 15:24:31 1279

原创 android异步 比较

AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l  简单,快捷l  过程可控       使用的缺点:l

2013-09-17 14:40:31 906

转载 枚举类型

Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class,  它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。   当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。  1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。  2.所有枚举值都是public,static ,final的。注意这一

2013-09-17 10:48:14 728

转载 java.util.concurrent.TimeUnit

public enum TimeUnitextends EnumTimeUnit 表示给定单元粒度的时间段,它提供在这些单元中进行跨单元转换和执行计时及延迟操作的实用工具方法。TimeUnit 不维护时间信息,但是有助于组织和使用可能跨各种上下文单独维护的时间表示形式。TimeUnit 主要用于通知基于时间的方法如何解释给定的计时参数。例如,如果 lock 不可用,则以下代码将

2013-09-17 10:17:04 1956

转载 图解 Android 广播机制

转自:http://www.cnblogs.com/TerryBlog/archive/2010/08/16/1801016.html从现实生活中理解广播机制一听到广播我们第一感觉就会联想到小时候村里面的广播,每逢村里有什么活动都是通过广播发送的。收听收音机也是一种广播,在收音机中有很多个广播电台,每个广播电台播放的内容都不相同。接受广播时广播(发送方)并不在意我们(接收方)接收到

2013-09-17 00:56:41 870

转载 Android导入从SDK Manager下载的源码

很多人都下载过红框中框的Sources for Android SDK,但是很少人知道怎么做。今天看了一篇博文教了大家怎么做:android_sdk\sources下会有你下载过的源码,以api level为子文件夹分开,比如:android-15,你所做的就是需要把目录下的内容拷到对应的android_sdk\platforms\android-*\sources目录下。

2013-09-16 18:35:45 915

转载 超实用的java数组

本文分享了关于Java数组最顶级的11大方法,帮助你解决工作流程问题,无论是运用在团队环境或是在私人项目中,你都可以直接拿来用! 0.  声明一个数组(Declare an array) 123String[] aArray = new String[5];String[] bArray = {"a",

2013-09-16 17:47:41 828

原创 Java 线程池学习

Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6][1]中博主自己通过ThreadGroup实现一个线程池(挺方便理解的),使用的是jdk1.4版本,Jdk

2013-09-16 15:06:49 956

转载 线程之BlockingQueue

import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; /**本例介绍一个特

2013-09-16 14:11:49 802

转载 Callable,Runnable比较及用法

编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是,(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得(3)call方法可以抛出异常,

2013-09-16 10:49:29 818

原创 Android设计模式学习系列

http://www.cnblogs.com/qianxudetianxia/tag/Android%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%B3%BB%E5%88%97/

2013-09-16 09:47:05 911

转载 JAVA基础之理解JNI原理

JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu 10.4.2 LTS系统程序清单1:src/

2013-09-14 23:53:34 735

原创 Android 异步

比如下载,起一个子线程去执行下载任务,主线程仍旧做自己的事情,当子线程完成了下载任务,则通过回调(策略模式、观察者模式)来通知主线程来执行会回调策略,这个过程中需注意:当异步回调返回到这个主线程时,这个主线程是否已经结束,不注意这点会崩溃的。

2013-09-14 22:27:38 783

转载 Android TextUtils处理字符串

对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下:是否为空字符 boolean android.text.TextUtils.isEmpty(CharSequence str) 拼接字符串 String android.text

2013-09-14 13:45:03 2332

原创 Ecplise内存分析工具插件

内存分析工具MAT,用来分析各种内存泄露,可以集成在eclipse里面,需要在eclipse里面加入这个更新地址 http://download.eclipse.org/mat/1.3/update-site/ 就能自动安装集成在IDE里面。

2013-09-14 13:40:34 1114

转载 Android广播机制(两种注册方法)与 中断广播

两种注册类型的区别是:1)第一种不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。在android下,要想接受广播信息,那么这个广播接收器就得我们自己来实现了,我们可以继承BroadcastReceiver,就可以有一个广播接受

2013-09-13 21:35:04 967

原创 Handler

package com.xxx.androidutil;import java.lang.ref.WeakReference;import android.os.Handler;import android.os.Message;/** * Handler工具 * 1.生成一个唯一的ID,App全局唯一,这样可以防止可能发生的消息ID重复而导致的各种问题。 *

2013-09-13 19:58:19 923

原创 Android比较日期

Date currentDate = new Date();//获得当前日期String startStr = "2013-09-25";//开始日期:2013-09-25 00:00String endStr = "2013-09-30";//结束日期:2013-09-29 23:59Date start = null;Date end = null;Simple

2013-09-12 15:48:02 1401

转载 AndroidMenifest.xml中minSdkVersion、targetSdkVersion、targetApiLevel的区别

在AndroidMenifest.xml中,常常会有下面的语句:  在default.properties中,会看到下面的语句: target=android-10 如果是使用Eclipse的话,还可能会看到这样的警告: Attribute minSdkVersion (4) is lower than the project target API level (10) 那么,这里面的

2013-09-12 10:52:58 932

原创 Eclipse(Android)工程依赖和jar的关系

eclipse中同一个工作空间下的n个工程之间的相互依赖,其实本质上依旧是工程依赖jar包。但是工程与工程之间,绝对是不能相互依赖的,这样就死锁了。如果想让一个工程依赖另外一个工程,在ecplise中可以这样做:

2013-09-11 18:11:50 4766

转载 How to fix GC overhead limit exceeded in Eclipse

转自:http://docs.oseems.com/general/application/eclipse/fix-gc-overhead-limit-exceededEclipse will throw GC overhead limit exceeded error when it runs out of memory, normally while performing me

2013-09-09 14:12:09 2785

转载 eclipse 内存溢出

eclipse 很卡,报错:java.lang.OutOfMemoryError:Java heap space.原因:内存溢出。 1 查看内存:找到workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs,在里面加上SHOW_MEMORY_MONITOR=tru

2013-09-09 13:36:56 1142

转载 解决Eclipse启动时闪退问题

系统安装了两个eclipse,一个是Eclipse sdk3.2,另一个是Eclipse Java EE 。刚开始的时候两个eclipse运行都正常,但后来不知道怎么回事,Eclipse Java EE 便出现打开闪退的现象。修改eclipse.ini无效,参照了网上许多方法也不行。最后发现了一个蛋疼的方法:1.打开eclipse的workspace目录2.

2013-09-07 10:56:11 3592 1

Android动画总结

灰常不错的总结,几乎是Android里头关于动画的完全的知识点。

2013-11-14

空空如也

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

TA关注的人

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