`
文章列表
  访问者模式   一、引子   对于系统中一个已经完成的类层次结构,我们已经给它提供了满足需求的接口。但是面对新增加的需求,我们应该怎么做呢?如果这是为数不多的几次变动,而且你不用为了一个需求的调整而将整个类层次结构统统地修改一遍,那么直接在原有类层次结构上修改也许是个不错的主意。   但是往往我们遇到的却是:这样的需求变动也许会不停的发生;更重要的是需求的任何变动可能都要让你将整个类层次结构修改个底朝天。这种类似相同的操作分布在不同的类里面,不是一个好现象,我们要对这个结构重构一下了。   那么,访问者模式也许是你很好的选择(定义一个公共的接口,然后实现它并重构需求变动 ...
闹钟的使用第一步:注册闹钟(AlarmManager,PendingIntent,Intent,闹钟的时间)第二步:注册闹钟广播接受者(BroadcastReceiver)第三步:处理闹钟的时间(比如:打开一个应用,提示用户时间到了 etc....) =========AlarmAlert.java==========    private void updateLayout() { 。。。。。。。。。。。。。。。。。。。。   /* snooze behavior: pop a snooze confirmation view, kick alarm           manager. ...
$ repo init -u git://Android.git.kernel.org/platform/manifest.git$ repo sync下载完代码后,进行make,$cd ~/mydroid$make却出现了如下错误:build/core/main.mk:73: You are attempting to build on a 32-bit system.build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.这是因为froyo/2.2默认只支持64-bit,看到有些 ...
1、Android 的 文件系统结构是怎样的,我们安装的程序放在那里? 编译Android 源 码之后,在out/target/product/generic一些文件: ramdisk.img、system.img、 userdata.img、 system、 data、root 其中, system.img是由 system打包压缩得到的, user ...
Problems   When building you might run into the Unable to get buffer of resource asset file error. The root cause of this is that the new android resource file resources.arsc is larger than the aapt tool allows. You can exchange the .arsc file inside android.jar with an ...
1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这 个道理有些体会吧。但我相信这一点也很重要:“重要的道理明 ...
(1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环) Looper对象通过MessageQueue来存放消息和事件。一个 ...
一、ThreadLocal是java线程的一个实现       ThreadLocal的确是和java线程有关,不过它并不是java线程的一个实现,它只是用来维护本地变量。针对每个线程,提供自己的变量版本,主要是为了避免线程冲突,每个线程维护自己的版本。彼此独立,修改不会影响到对方。  二、ThreadLocal是相对于每个session的         ThreadLocal顾名思义,是针对线程。在java web编程上,每个用户从开始到会话结束,都有自己的一个session标识。但是ThreadLocal并不是在会话层上。其 实,Threadlocal是独立于用户ses ...
  1、自定义属性文件attrs.xml,放入values文件夹中---------attrs.xml   <?xml version="1.0" encoding="utf-8"?> <resources>       <declare-styleable name="myView">           <attr name="textColor" format="color"/>           <attr name ...
场景一:当某个类除了它的外部类,不再被其他的类使用时 (J2EE数据库连接池设计)    1. public class ConnectPool implements Pool     2. {     3.         //存在Connection的数组     4.         private PoolConn[] poolConns;     5.         //连接池的最小连接数     6.         private int min;     7.         //连接池的最大连接数     8.         private int max;  ...
作用: 1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素. 方法:    Android里面想要创建一个画面的时候, 初学一般都是新建一个类, 继承Activity基类, 然后在onCreate里面使用setContentView方法来载入一个在xml里定义好的界面.    其实在Activity里面就使用了LayoutInflater来载入界面, 通过getSystemService(Context.LAYOUT_INFLA ...
    安装增强功能包(Guest Additions): 运行Ubuntu 10.04并登录,然后在VirtualBox的菜单里选择"设备(Devices)" -> "安装增强功能包(Install Guest Additions)"。 你会发现在Ubuntu 10.04桌面上多出一个光盘图标,说明装载成功。     进入命令行终端,输入:cd /media,找到适合版本的运行文件, 输入命令:sudo ./VboxLinuxAdditions.run,开始安装工具包,安装完毕后会提示要重启Ubuntu即可。
环境:主机操作系统 是Windows XP ,虚拟机 是Ubuntu 9.10,虚拟机是VirtualBox 3.08。 1. 安装增强功能包(Guest Additions) 安装好Ubuntu 9.10后,运行Ubuntu并登录。然后在VirtualBox的菜单里选择"设备(Devices)" -> "安装增强功能包(Ins ...
/** 版本:1.1 日期:2009-03-27 作者:HKjinzhao 备注:增加make sdk,修改一些内容 */ 本次编译过程主要参考官方文档(http://source.android.com/download)和网上相关资料(如http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957749.aspx) 编译环境:Ubuntu8.10 1、安装软件环境 $sudo apt-get install build-essential make gcc g++ libc6-dev patch texinfo ...
1. 安装增强功能包(Guest Additions) 安装好Ubuntu 9.10后,运行Ubuntu并登录。然后在VirtualBox的菜单里选择"设备(Devices)" -> "安装增强功能包(Install Guest Additions)"。 你会发现在Ubuntu桌面上多出一个光盘图标,这张光盘默认被自动加载到了文件夹/media/cdom0。进入命令行终端,输入: cd /media/cdrom0 sudo ./VboxLinuxAdditions.run 开始安装工具包。安装完毕后会提示要重启Ubuntu。 2. 设置共 ...
Global site tag (gtag.js) - Google Analytics