摘要: 聚合(Aggregation):-----Has a---------------人拥有电脑 聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象组合(Composition):----Contains a----------人是由手,脚,脸等部分组成的 组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。 阅读全文
posted @ 2011-10-12 10:21 lxmanutd 阅读(1088) 评论(0) 推荐(0) 编辑
摘要: 一.Java中的实现多线程的方法 1、继承Thread类(java.lang.Thread) 通过编写线程类继承Thread类并重写Thread类中的run()方法实现线程,当线程对象被运行时候将会自动执行run方法中的实体内容,从而开辟一个单独的线程并运行起来。 如:public class ThreadSimple extends Thread{ public ThreadSimple() { //constructor } public void run() { //run code entity } } 线程实例使用,直接创建对象并调用start()方法即可运行线程。 new Thre 阅读全文
posted @ 2011-10-08 18:27 lxmanutd 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 两个用于操作Uri的工具类,分别为UriMatcher 和ContentUris。 UriMatcher 用于匹配Uri。 用法如下: 首先把你需要匹配Uri路径全部给注册上: 注册完需要匹配的Uri后,就可以使用sMatcher.match(uri)方法对输入的Uri进行匹配,如果匹配就返回匹配码,匹配码是调用addURI()方法传入的第三个参数,例如匹配content://com.test.provider.personprovider/person路径,返回的匹配码为1。//常量UriMatcher.NO_MATCH表示不匹配任何路径的返回码 UriMatcher sUriMatcher 阅读全文
posted @ 2011-08-14 18:00 lxmanutd 阅读(1441) 评论(0) 推荐(0) 编辑
摘要: 如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误问题概述:在导入一个app后提示如下错误:“Error generating final archive: Debug Certificate expired on 10/09/18 16:30”原因分析:android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置。debug的k 阅读全文
posted @ 2011-07-31 13:29 lxmanutd 阅读(223) 评论(0) 推荐(0) 编辑
摘要: (1)数据存储之Shared Preferences:用来存储“key-value”格式的数据 public static final String PREFS_NAME = "MyPrefsFile"; Boolean mbMusic = false; //保存到preferences: SharedPreferences settings = getPreferences(0);//或者SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); settings.edit() .putBoolean 阅读全文
posted @ 2011-07-28 15:42 lxmanutd 阅读(152) 评论(0) 推荐(0) 编辑
摘要: fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。最关键的问题是,这2个参数不能在xml中设置,这是没有用的。必须在java代码中设置。比如 setFillAfter(true);setFillBefore(false);这样动画结束时,停在最后一帧。 myAnimation= AnimationUtils.loadAnimation(this,R.anim.myanim); myImageView = (ImageView) this.findViewById(R.id.myImageView); myAnimation.setFillA 阅读全文
posted @ 2011-07-25 22:53 lxmanutd 阅读(885) 评论(0) 推荐(1) 编辑
摘要: 1.StringTokenizer,例子如下:class StringToken{ static String str = "1:java;"+"2:perl;"+"3:C/C++;"+"4:shell;"; public static void main(String [] args) { StringTokenizer ST = new StringTokenizer(str,":;");//以:;为分隔符 while(ST.hasMoreTokens()){ String key = ST 阅读全文
posted @ 2011-07-22 16:12 lxmanutd 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 编辑器加载中...在Java语言中,内存回收的任务由Java虚拟机来担当,而不是由Java程序来负责。在程序的运行时环境中,Java虚拟机提供了一个系统级的垃圾回收器线程,它负责自动回收那些无用对象所占用的内存,这种内存回收的过程被称为垃圾回收(Garbage Collection)。优点: 把程序员从复杂的内存追踪、监测和释放等工作中解放出来,减轻程序员进行内存管理的负担。 防止系统内存被非法释放,从而使系统更加健壮和稳定。特点: 只有当对象不再被程序中的任何引用变量引用时,它的内存才可能被回收。 程序无法迫使垃圾回收器立即执行垃圾回收操作。 当垃圾回收器将要回收无用对象的内存时,先调用该对 阅读全文
posted @ 2011-07-20 17:06 lxmanutd 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 1、static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。 对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。2、static方法 静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键 阅读全文
posted @ 2011-07-20 16:32 lxmanutd 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: final修饰符(关键字),如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。finally再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。finalize方法名。Java技术允许使用finalize() 阅读全文
posted @ 2011-07-20 15:22 lxmanutd 阅读(381) 评论(0) 推荐(0) 编辑