`
文章列表
java 单例模式的好处  单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 说明:一下的代码来自阎宏博士的《Java与模式》一书,其中对一些类的写法做调整(符合Java1.5的习惯),另外还加了测试方法。 一、懒汉式单例 在类被加载的时候,唯一实例已经被创建。这个设计模式在Java中容易实现,在别的语言中难以实现。 public class LazySingleton {      /**      * 私有静态对象,加载时候不做初始化      */  ...
    1  事件监听器都是注册到可视的view上的。而view的不同子类支持不同的事件监听器。     2  一个view可以注册多个不同的监听器,此时起作用。如果一个view注册了多个相同的监听器,则只有最后一个起作用,前面的都会被最后一个覆盖。     3  常见的有onClickListener(),onLongClickListener()  onClick()中可以知道哪个view被点击了        onFocusChanged()  有的view无法获取焦点,例如textView,listView等也就不支持了        onTouchListener()  几 ...

2011.10.9

    博客分类:
  • qd
软件是用来完成一些任务的,而每个任务或者一件简单的事情都是有逻辑的。代码用来定制界面,把各种逻辑情况都用代码写出来,然后当使用软件时,遇到各种情况软件中定义的逻辑情况都会一一对应。只是,当想要干一些 ...
package com.quding.listview; import android.app.Activity; import android.database.DataSetObserver; import android.graphics.Color; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import andro ...
listView详解:http://www.cnblogs.com/over140/archive/2010/11/19/1881445.html listview使用小结:1http://blog.csdn.net/hellogv/article/details/4542668                                     2 http://blog.csdn.net/hellogv/article/details/4548659      

Android 菜单大全

菜单大全:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html

乔布斯经典语录

    博客分类:
  • qd
http://tech.qq.com/zt2011/jobs_quotes/index.htm
引用:http://www.cnblogs.com/allin/archive/2010/05/15/1736462.html   通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在android平台中,一个进程通常不能访问其他进程中的内存区域。所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问。 编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事。   AIDL(android接口描述语言)是一个IDL语言, ...
引用:http://www.cnblogs.com/allin/archive/2010/05/15/1736458.html   Service是android 系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式: context.startService() 和 context. bindService()。
本文来自 http://blog.csdn.net/hellogv/ ,引用必须注明出处!       很多客户端软件和浏览器软件都喜欢用 Tab 分页标签来搭建界面框架。读者也许会马上想到使用 TabHost 与 TabActivity 的组合,其实最常用的不是它们,而是由 GridView 与 ActivityGroup 的组合。每当用户在 GridView 选中一项, Activ
通过继承实现子类的行为是在编译时静态决定的,而且所有子类都会继承到相同的行为;而组合可以在运行时动态的进行扩展,所以应该尽量利用组合的方法扩展对象的行为。运行时的扩展远比编译时期的继承威力大     1  装饰者和被装饰者必须是一样的类型,即具有共同的超类。     2  当我们将装饰者与组件组合时,就是在加入新的行为。     3  java I/O中使用了大量的装饰类     4  装饰者模式符合开放——关闭模式:允许扩展,但是不允许修改代码。 //超类 package com.quding.mode; public abstract class Beverag ...
使用一种模式意味着要把一组行为和变量封装进一组类中,可以轻易的扩充与改变。使用一整套模式,意味着使用了一整套的质特性、约束。 OO原则:封装变化,使变化的与不变的相分离;多用组合,少用继承;针对接口编程,不针对实现编程; 策略模式:定义算法族,分别封装起来,让他们之间可以相互替换——让算法的变化独立于使用变化的客户。 观察者模式:定义了对象之间的一对多的依赖关系,当主题对象改变时,它的所有依赖着都可以收到通知并自动更新。例如onClickListener()观察者方法。主题是真正拥有数据的人,观察者是主题的依赖者。 松耦合的优势:当两个个对象之间松耦合,它们依然可以交互,但是不太清楚 ...
    1  appWidgetManager.updateAppWidget(appWidgetIds, views);     2  Toast.show()     3  startActivity();     4  alertDialog.create(); alertDialog.show();     5  在appwidget中appWidgetManager.updateAppWidget(appWidgetIds, mRemoteViews);     6  editor.commit();     7  writer.flush();     8  在An ...
public class Duck implements Comparable { //实现了comparable接口的对象可以使用Arrays.sort(object[])或者Collections.sort(list)进行排序; private String name; private int weight; @Override public int compareTo(Object o) { // a.comparableTo(b) 与0比较 Duck oDuck = (Duck) o; if(this.weight > oDuck.weig ...
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到了子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。   == 封装算法 == 模板方法定义了一个算法的步骤,并允许子类为每一个或多个步骤提供实现。 具体有以下使用经验:     1  父类中的模板方法不可以被重写,拥有算法并且保护这个算法(声明为final)。     2  可以代码复用最大化。     3  抽象父类方法专注在代码本身,而由子类提供完整的实现。由框架控制如何做事情,而使用框架的人只需要指定框架算法中的一些细节。     4  hook 钩子 ...
Global site tag (gtag.js) - Google Analytics